45
freies Magazin Juli 2012 Topthemen dieser Ausgabe Kdenlive Seite 11 Durch die vielfältigen Möglichkeiten, fast immer und überall Videos erstellen zu können, kommt man irgendwann an den Punkt, dass man sie nicht nur auf der Festplatte schmoren lassen, sondern auch Freunden und Bekannten präsentieren möchte. Nur muss vielleicht nicht jedes Detail einer Party zusehen sein. Als Linux-Nutzer ist man dabei bei Kdenlive an der richtigen Adresse. (weiterlesen) Trac Seite 18 Software für das Customer Relation Management (CRM) und zur Koordinierung von Neukun- denakquisen gibt es in vielerlei Varianten. Aber manchmal muss es gar keine spezielle Soft- ware sein. Auch Software, die eigentlich für einen anderen Zweck geschrieben wurde, kann diese Aufgabe gut und effizient erfüllen: Trac. (weiterlesen) KDE-Geschichte Seite 31 Im Oktober des letzten Jahres konnte die KDE Community ihren 15. Geburtstag feiern. Grund genug einmal die Geschichte dieser Community zu beleuchten, die mittlerweile zu einer der größten Freien-Software-Communities der Welt aufgestiegen ist. (weiterlesen) © freiesMagazin CC-BY-SA 3.0 Ausgabe 07/2012 ISSN 1867-7991

Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

freiesMagazin Juli 2012

Topthemen dieser Ausgabe

Kdenlive Seite 11Durch die vielfaumlltigen Moumlglichkeiten fast immer und uumlberall Videos erstellen zu koumlnnen kommtman irgendwann an den Punkt dass man sie nicht nur auf der Festplatte schmoren lassensondern auch Freunden und Bekannten praumlsentieren moumlchte Nur muss vielleicht nicht jedesDetail einer Party zusehen sein Als Linux-Nutzer ist man dabei bei Kdenlive an der richtigenAdresse (weiterlesen)

Trac Seite 18

Software fuumlr das Customer Relation Management (CRM) und zur Koordinierung von Neukun-denakquisen gibt es in vielerlei Varianten Aber manchmal muss es gar keine spezielle Soft-ware sein Auch Software die eigentlich fuumlr einen anderen Zweck geschrieben wurde kanndiese Aufgabe gut und effizient erfuumlllen Trac (weiterlesen)

KDE-Geschichte Seite 31

Im Oktober des letzten Jahres konnte die KDE Community ihren 15 Geburtstag feiern Grundgenug einmal die Geschichte dieser Community zu beleuchten die mittlerweile zu einer dergroumlszligten Freien-Software-Communities der Welt aufgestiegen ist (weiterlesen)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 ISSN 1867-7991

MAGAZIN

Editorial

Spielen unter LinuxLetzten Monat [1] haben wir Sie zum ThemabdquoLinux als Spieleplattformrdquo gefragt ob Sie Linuxals eine eine realistische Alternative zu Windowsansehen wenn es um Spiele geht Dass es zu-mindest einige gute Spiele gibt beweist die Viel-zahl an Indie-Spielen aber genuumlgt dies Die Mei-nungen einiger unserer Leser finden Sie in denLeserbriefen am Ende der Ausgabe

freiesMagazin als Debian-PaketWer jeden Monat nicht per RSS-Feed son-dern per Paketverwaltung uumlber die Neuerschei-nung von freiesMagazin informiert werden willkann sich zumindest als Ubuntu-Nutzer freuenDer Benutzer MarcusLS [2] stellt jeden MonatfreiesMagazin als deb-Paket in seinem PPA (Per-sonal Package Archive) zur Verfuumlgung Das je-weils richtige PPA fuumlr seine Ubuntu-Version findetman auf der Uumlbersichtsseite [3] Dort klickt manauf den jeweiligen Eintrag mit bdquoLTSldquo oder bdquonon-LTSldquo und fuumlgt das PPA wie gewohnt seiner Pa-ketverwaltung hinzu

An dieser Stelle moumlchten wir darauf hinwei-sen dass fremde Paketquellen Probleme bei Pa-ketaktualisierungen bereiten koumlnnen vor allemwenn sehr viel Software in ihnen vorhanden istDie Benutzung geschieht also auf eigene Ge-fahr Daneben erfolgt das Angebot nicht von derfreiesMagazin-Redaktion direkt sondern ist einreines Privatangebot Wer es nutzen moumlchte istaber herzlich dazu eingeladen

Nach der EM das SommerlochAutoren sind natuumlrlich das Salz in der Suppe ei-nes Magazins denn ohne diese waumlre die Setzerund Korrektoren arbeitslos Da freiesMagazinkeine feste Autorenmannschaft hat sind wir aufZusendungen aus der Community angewiesenDabei gilt (Fast) jeder kann einen Artikel uumlberdas schreiben was ihn interessiert

Eigentlich muumlssen Sie dafuumlr nur Spaszlig am Schrei-ben haben und sich verstaumlndlich ausdruumlcken koumln-nen sodass jeder Leser Ihren Artikel oder Ih-re Anleitungen nachvollziehen kann Gerne ge-sehen sind vor allem Softwarevorstellungen undSpiele aber auch HowTos oder Tutorials wuumln-schen sich unsere Leser sehr Eine uumlbersichtli-che Liste von gewuumlnschten Themen finden Sie inunserer Artikelwunschliste [4] Sicherlich kennenSie sich in einem dieser Gebiete aus Und wennnicht sind wir auch immer offen fuumlr ganz neueVorschlaumlge aus den Bereichen GNULinux FreieSoftware undoder Open Source Wir freuen unsauf Ihre Artikel

Ihre freiesMagazin-Redaktion

LINKS[1] httpwwwfreiesmagazindefreiesMagazin-2012-

06[2] httpslaunchpadnet~marcusls[3] httpslaunchpadnet~marcusls+related-

software[4] httpwwwfreiesmagazindeartikelwuensche

InhaltLinux allgemeinDer Juni im Kernelruumlckblick S 3

AnleitungenPerl-Tutorium ndash Teil 7 S 5

SoftwareKdenlive ndash Der freie Videoeditor fuumlr LinuxMac OS X und FreeBSD

S 11

Trac statt CRM ndash ein Erfahrungsbericht S 18Catacomb Snatch S 22Nicht nur fuumlr Zombies Einstieg in IronPy-thon

S 25

CommunityKDE-Geschichte S 31Rezension HTML5 amp CSS3 for the RealWorld

S 38

Rezension Apps mit HTML5 und CSS3fuumlr iPad iPhone und Android

S 40

MagazinEditorial S 2Leserbriefe S 42Veranstaltungen S 44Vorschau S 44Konventionen S 44Impressum S 45

Das Editorial kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 2

KERNEL

Der Juni im Kernelruumlckblick von Mathias Menzer

B asis aller Distributionen ist der Linux-Kernel der fortwaumlhrend weiterent-wickelt wird Welche Geraumlte in einem

halben Jahr unterstuumltzt werden und welcheFunktionen neu hinzukommen erfaumlhrt manwenn man den aktuellen Entwickler-Kernel imAuge behaumllt

Anfang Juni schloss Torvalds das Merge Windowfuumlr Linux 35 und legte der Linux-Gemeinde dieerste Entwicklerversion vor [1] Die Anzahl derAumlnderungen hielt sich in etwa im Rahmen derletzten Kernelversionen die groumlszligeren Neuerun-gen sind aumlhnlich uumlberschaubar Torvalds selbstmachte auf den bdquoCoDel Packet Schedulerldquo auf-merksam CoDel steht fuumlr Controlled Delay (ge-steuerte Verzoumlgerung) und soll die Groumlszlige desWarteschlange fuumlr zu sendende Netzwerkpaketeentsprechend des Netzwerkdurchsatzes anpas-sen Weiterhin wurde der Code des Virtualisie-rers KVM [2] unter der PowerPC-Architektur uumlber-arbeitet und aus dem Bereich der x86-Architekturwurde die Unterstuumltzung fuumlr den alten und ver-mutlich sowieso nicht mehr genutzten MCA-Bus [3] entfernt

Treiberseitig kann der Zugang von Grafiktreibernfuumlr die 200er Serie von ASpeed Technologies so-wie fuumlr die alten G200-Chipsaumltze von Matrox ver-meldet werden Ebenfalls neu ist ein Treiber dereine Cirrus-Grafik unter QEMU [4] emuliert

Der eine oder andere altgediente Netzwerkerwird sich ein Traumlnchen vielleicht nicht verkneifen

koumlnnen ndash die Unterstuumltzung fuumlr Token Ring [5]wurde vollstaumlndig entfernt Diese Art der Compu-tervernetzung war eine fruumlhe und aumluszligerst stabi-le Art um Datenpakete zu uumlbertragen Letztlichkonnte die damit moumlgliche Uumlbertragungsrate je-doch nicht mit Ethernet Schritt halten Verbes-serungen in der Art der Verkabelung erhoumlhtenzwar die Toleranz gegenuumlber fehlerhafter Verka-belung jedoch konnte sich Token Ring letztlichnicht durchsetzen Da mittlerweile der Pflegeauf-wand der entsprechenden Implementierung imLinux-Kernel den Nutzen aus Sicht der Entwick-ler weit uumlbersteigt wurde die Unterstuumltzung ein-gestellt

Entwicklerversion Nummer Zwei [6] folgte bereitssechs Tage spaumlter Der Grund dafuumlr war nichtdass keine Pull Requests mehr bei ihm einge-gangen waumlren sondern eine Reise in seine Hei-mat Finnland um den Millenium-Preis der fin-nischen Akademie fuumlr Technologie entgegenzu-nehmen [7] Entsprechend ist der -rc2 auch et-was kleiner als erwartet bringt mit bdquoFrontswapldquo je-doch den zweiten Teil des Transzendenten Spei-chers Der erste Teil Cleancache wurde be-reits vor einem Jahr eingefuumlhrt (siehe bdquoDer Maiim Kernelruumlckblickldquo freiesMagazin 062011 [8])Frontswap wird kuumlnftig die letzte Chance fuumlr we-nig genutzte Speicherbereiche sein um nichtdirekt in den langsameren Swap-Bereich aufder Festplatte verschoben zu werden Dabeiwird nicht garantiert dass Frontswap uumlbergebe-ne Speicherseiten auch annimmt Jedoch ist ge-

waumlhrleistet dass diese auch spaumlter noch vorhan-den sind Bei Cleancache sieht das etwas an-ders aus Die hier gespeicherten Daten koumlnnenzu einem spaumlteren Zeitpunkt verschwunden seinweshalb sich hier nur die Ablage redundanter Da-ten empfiehlt zum Beispiel um sie zu cachen

Die Idee hinter Transcendent Memory ist das bes-sere Ausnutzen des Arbeitsspeichers indem die-ser maximal moumlglich belegt wird Weiterhin ver-wenden Cleancache und Frontswap verschiede-ne Tricks wie Deduplizierung [9] und Komprimie-rung um moumlglichst viele Daten unterzubringen

Ein kleines bisschen groumlszliger war die dritte Ent-wicklerversion [10] deren Aumlnderungen jedochfast durchgaumlngig mit den Worten bdquofixesldquo und bdquoup-datesldquo beschrieben waren Eine der wenigenAusnahmen stellt die Aufnahme eines Treibersfuumlr die Netzwerkkomponente von Tileras Tile-Gx-Prozessorfamilie [11] dar die auch direkt mitknapp der Haumllfte der hinzugekommenen Code-Zeilen auftrug

Weitere KVM-Korrekturen fuumlr die PowerPC-Architektur bringt dann Linux 35-rc4 [12] mit ge-wuumlrzt von Korrekturen des i915-Treibers fuumlr Intel-Grafiken Letztere sollen unnoumltige Abfragen amDisplayport [13] verhindern die zum Flackern ei-nes angeschlossenen Anzeigegeraumlts fuumlhren koumln-nen Die am meisten auftragende Aumlnderung deseigentlich recht kleinen -rc4 waren Korrekturenan printk() der fuumlr die Ausgabe von Kernel-Meldungen an dmesg Syslog und die Konsole

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 3

KERNEL

zustaumlndigen Schnittstelle Nun koumlnnen auch Bi-naumlrdaten die im Ausgabepuffer landen entspre-chend weitergereicht werden

LINKS

[1] httpslkmlorglkml20126384[2] httpsdewikipediaorgwikiKernel-based_

Virtual_Machine[3] httpsdewikipediaorgwikiMicro_Channel_

Architecture[4] httpsdewikipediaorgwikiQEMU[5] httpsdewikipediaorgwikiToken_Ring[6] httpslkmlorglkml201268596

[7] httpwwwpro-linuxdenews118474millennium-preis-fuer-linus-torvalds-und-shinya-yamanakahtml

[8] httpwwwfreiesmagazindefreiesMagazin-2011-06

[9] httpsdewikipediaorgwikiDeduplizierung[10] httpslkmlorglkml2012616181[11] httpwwwtileracomproductsprocessorsTILE-

Gx_Family[12] httpslkmlorglkml2012624117[13] httpsdewikipediaorgwikiDisplayPort

Autoreninformation

Mathias Menzer (Webseite) wirftgerne einen Blick auf die Kernel-Entwicklung um mehr uumlber dieFunktion von Linux zu erfahren undum seine Mitmenschen mit seltsamenBegriffen und unverstaumlndlichen Abkuumlr-zungen verwirren zu koumlnnen

Diesen Artikel kommentieren

bdquoCreepyldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom642

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 4

PROGRAMMIERUNG

Perl-Tutorium ndash Teil 7 Objekte der neuen Schule von Herbert Breunung

D ie objekt-orientierte ProgrammierungOOP (siehe aktuelle freiesMagazin-Serie) war in den letzten Jahren eines

der bereicherndsten Themen fuumlr Perl Nach-dem im letzten Teil gezeigt wurde wie bisherObjekte gestrickt wurden wird jetzt der Zu-gang zu den neuen Wegen geoumlffnet die weitmehr beinhalten als man von Perl gewohntwar

Hefte rausDoch zuerst soll die Hausaufgabe verglichen wer-den Die Methode zufuege_notiz sollte um 3Zeilen verlaumlngert sowie deren Anbindung an-gepasst werden Neben dem richtigen Umgangmit splice kam es vor allem darauf an zu ver-stehen dass die Hilfsmethode valider_indexin diesem Fall unbrauchbar ist Die neue Nach-richt darf ja auch an die hinterste bisher nichtexistierende Position Dahinter verbirgt sich einsehr haumlufiges grundsaumltzliches Problem Dasrichtige Fingerspitzengefuumlhl ob man besservalider_index erweitert oder eine zusaumltzlicheMethode schreibt macht bdquoechterdquo Programmiereraus In diesem Fall kopierte der Autor die ent-scheidende Zeile aus valider_index und pass-te sie an Auch wenn das scheinbar gegen dasheilige DRY-Gesetz verstoumlszligt und ein Predigerdes sauberen Codes empfehlen wuumlrde etwasneues zu schreiben statt nur eine Zeile sichwiederholen zu lassen waren andere Gruumlndeausschlaggebend Erstens ist das Projekt noch

sehr jung und bdquovorzeitige Optimierungen sind derGrundstein allen Uumlbelsrdquo wie ein anderer oft wie-derholter Vers berichtet Zum anderen ist es nichtsinnvoll fuumlr einen absehbar einmaligen Spezial-fall eine weitere Routine zu schreiben

sub zufuege_notiz my ($selbst $text $index) = _$index = $selbst-gtletzter_index +y1 unless defined $indexreturn 1 unless $index gt= 0 and y$index lt= $selbst-gtletzter_index y+ 1splice($selbst -gtnotizen y$index 0 $text)return 0

Hinter der dritten Zeile verbirgt sich eine weiterewichtige Uumlberlegung Wenn kein index als zwei-ter Parameter angegeben wird erscheint die No-tiz an letzter Position Das entspricht dem bis-herigen Verhalten und alle alten Aufrufe dieserFunktion funktionieren weiterhin Mindestens ge-nauso wichtig ist aber auch dass man so beimAufruf der Funktion die Anzahl der Notizen nichtkennen muss Es ist ja der Sinn eines Objektesdie Innereien zu verbergen Das verhindert auchdass die Programmteile wie ein Wollknaumluel zu-sammenhaumlngen und Aumlnderungen immer schwe-rer werden Optional koumlnnte man auch -1 fuumlrden letzten Index angeben Viele Perlbefehlewie substr und splice erlauben negative Indi-

zes bei denen von hinten statt von vorne ge-zaumlhlt wird -2 waumlre dann die vorletzte Positionund so weiter Um das nachzuahmen braumluchtezufuege_notiz statt der alten vierten Zeile

return 1 if abs($index) gt $selbsty-gtletzter_index + 1$index = $selbst-gtletzter_index + 2y- $index if $index lt 0

abs liefert den absoluten Wert einer Zahl (laumlsstdas Vorzeichen weg) Wer gnaumldiger gestimmtist kann auch bei nicht existierenden Positionenstatt 1 zuruumlckzugeben und die (noch nicht existie-rende) Hilfe anzuzeigen ebenfalls die letzte Po-sition anwaumlhlen Um die Zeilen ein wenig abzu-kuumlrzen und verstaumlndlicher zu machen wird noch$selbst-gtletzter_index + 1 in eine Variableverpackt Die Routine sieht dann endlich so aus

sub zufuege_notiz my ($selbst $text $index) = _my $letzte_pos = $selbst-gtyletzter_index + 1$index = $letzte_pos unless ydefined $indexreturn 1 if abs($index) gt y$letzte_pos$index = $letzte_pos + 2 - $indexyif $index lt 0splice($selbst -gtnotizen y$index 0 $text)return 0

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 5

PROGRAMMIERUNG

Auf der anderen Seite des Aufrufes wurde aus

when ($kommandoneu) continue if $daten-gtzufuege_notizy($notiz)

folgendes

when ($kommandoneu) my($vor_dp $nach_dp) = split ysubstr($notiz 1)my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtzufuege_notizy($notiz $pos)

Wer mag kann 3 Zeilen zu einer schrumpfen las-sen

($pos $notiz) = ($vor_dp y$nach_dp) if defined $nach_dp

$pos muss vorher angemeldet werden sonstduumlrfte es nicht im letzten Aufruf verwendet wer-den (use strict ist aktiv) Da (wie in den Tei-len 1 bis 4 erlaumlutert) im Falle einer simplen Ein-gabe (notiztext) $pos undef bleibt ist es fuumlrzufuege_notiz als bekaumlme sie keinen Parame-ter index

Das alles wuumlrde eine sehr gute Loumlsung ergebenaber mittlerweile hat fast jede when-Klausel fast

die gleiche Zeile mit split Deshalb wurde esnach oben bewegt

given ( substr($notiz 0 1) ) my($vor_dp $nach_dp) = split(ysubstr($notiz 1) 2)when ($kommandoneu) my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtyzufuege_notiz($notiz $pos)

Dadurch konnten die naumlchsten zwei Klauseln umdie verschobene Zeile gekuumlrzt werden

when ($kommandoaendere)continue if length($notiz) lt 4continue if $daten-gtaendere_notizy($nach_dp $vor_dp)

when ($kommandobewege) continue if length($notiz) lt 4continue if $daten-gtbewege_notiz(y$vor_dp $nach_dp)

Die neue Einheitlichkeit macht den Code zusaumltz-lich verstaumlndlicher Auszligerdem wurde split zu-letzt noch ein dritter Parameter gegeben Er be-stimmt dass nur in 2 Teile zerlegt wird Wenndie Notiz naumlmlich auch einen Doppelpunkt ent-

haumllt teilt split in drei Teile Dann geht der hinte-re Teil der Nachricht verloren da ihn keine Varia-ble speichert Mit dem Limit bekommt $nach_dpdie gesamte Notiz selbst wenn sie Doppelpunk-te enthaumllt

Diese Loumlsung (bnpl) ist sicherlich noch nichtastrein und endguumlltig aber fuumlr den derzeitigenStand genau genug

Jetzt kommt der ElchNun endlich zur angekuumlndigten Objektorientie-rung Dafuumlr ist diese Folge bestimmt zu kurzdenn Moose (englisch fuumlr Elch) verdient ein ei-genes zehnteiliges Tutorial (Ein kleines deut-sches Tutorial ist gerade erschienen [1]) Moosefuumlhrt nebenbei noch Datentypen erstellbare Sub-typen Delegation Teilklassen (roles) Wrappingund sehr viel mehr ein Durch Ergaumlnzungen ausdem kreativen MooseX-Oumlkosystem erhaumllt mansogar echte Signaturen und neue passendeSchluumlsselworte (Das bdquoXrdquo am Ende steht fuumlr Mo-dule die ohne Ruumlcksprache mit den Autoren vonMoose ins CPAN geladen werden)

Wie kam Stevan Little dazu solch eine umfangrei-che Spracherweiterung aufzubauen Die meis-ten anderen Objektsysteme im CPAN erleichterngerade einmal das Schreiben der new-Methodeund die Erzeugung von Attributen (autogenerier-te gettersetter) Wie so oft steckt dahinter Lar-ry Wall Mit dem immer noch nicht vollendetenEntwurf der Schwestersprache bdquoPerl 6rdquo legte erein Objektsystem vor wie es sich viele auch fuumlrPerl 5 wuumlnschen Nur leider ist vieles von seiner

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 6

PROGRAMMIERUNG

Maumlchtigkeit an Funktionalitaumlt gekoppelt die Perl5 ebenfalls nicht besitzt Somit konnte hier nichtwie sonst uumlblich ein einzelnes Feature in ein Mo-dul verpackt werden dessen Name mit Perl6beginnt damit auch Perl 5-Benutzer in dessenGenuss kommen

Stevan schuf mit ClassMOP erst einmal einan Common Lisp angelehntes Metaobjektsys-tem mit dem sich jeder sein eigenes Objektsys-tem gestalten koumlnnte Das rief natuumlrlich die Spiel-kinder auf dem Plan und nach einiger Zeit flos-sen verlockend aussehende Moumlglichkeiten ausSmalltalk Java BETA OCaml Ruby und ande-ren Sprachen in Moose ein Uumlberhaupt zeichnetMoose eine hohe Beteiligung auf allen Ebenenaus Viele wichtige Projekte setzen es ein undes wird sogar auf perlorg [2] und enlightened-perlorg [3] als Standardweg empfohlen Ab Perl516 weist es auch die Kerndokumentation als lo-benswerte Alternative aus [4] Es ist auszligerdemgeplant nach 516 (erschien letzten Monat) ei-ne kleine Auswahl aus Moose in den Sprachkernaufzunehmen Stevan Little arbeitet bereits dar-an

Der Erfolg von Moose kam auch daher dassseine Objekte voll kompatibel sind was fuumlr vie-le andere Objektsysteme nicht zutrifft Alleswas in der letzten Folge geschrieben wurde(bis aus die Syntax zur Erzeugung von Objek-ten) gilt hier auch Moose-Klassen vererben ih-re Schaumltze an alte Klassen wie bereits bekanntund ebenso koumlnnen Moose-Klassen mithilfe vonMooseXNonMoose alte Klassen beerben

Wer das CPAN kennt der weiszlig auch dass eingroszliges und erfolgreiches Modul sehr schnellNachahmer findet welche es beschleunigen undauf das Wesentliche reduzieren wollen Mouseist eine fast vollstaumlndig kompatible Alternativeohne ClassMOP die erheblich schneller star-tet Moo ist nicht kompatibel sondern nur aumlhn-lich und auf das reduziert was die 40 ande-ren Objektsysteme auch bieten Nur ist es sehrschnell hat keine Abhaumlngigkeiten und an MooseGewoumlhnte muumlssen kaum umlernen In diesemTutorialteil wird jedoch nur ein Ersatz fuumlr die Da-tenpm entwickelt der Moose benutzt

Objekte deklarativGenau gesagt wird MooseXDeclare [5] be-nutzt welches die beliebtesten Erweiterungengleich mit laumldt Moose orientiert sich naumlmlich sehrkonservativ an den Schreib- und Verhaltenswei-sen von Perl 5 da es fuumlr den professionellen Ge-brauch getrimmt ist Mit MooseXDeclare heiszligtdie Klasse class die Methode method und nichtpackage und sub wie sonst in Perl 5 Es spartauch wiederkehrende Phrasen wie

my $self = shift

sowie das

__PACKAGE__ -gtmeta-gtmake_immutable

mit dem die Klasse verspricht sich zur Lauf-zeit nicht mehr aumlndern zu wollen und dafuumlr anGeschwindigkeit gewinnt Die Unterschiede sindnoch wesentlich tiefgreifender aber das waren

(mit den hinzukommenden Signaturen) die Gruumln-de dieses Module zu waumlhlen um Moose von sei-ner elegantesten Seite zu zeigen

Da Moose-Klassen so andersartig geschriebenwerden sollte das Modul ganz neu aufgezogenwerden Dabei bekommt nur die Datei aber nichtdie Klasse einen neuen Namen damit eine klei-ne Aumlnderung in Zeile 5 einen einfachen Wechselerlaubt use (wie im Teil 5 beschrieben) befiehlt jaim wesentlichen nur eine bestimmte Datei zu la-den Die enthaltene Klasse oder das enthalteneModul hat zwar in den meisten Faumlllen den glei-chen Namen aber das ist freiwillig Das Grund-geruumlst der MDatenpm ist also

use v512use MooseXDeclareuse YAML

class Daten

Den Namensraum der Klasse in geschweifteKlammern zu legen ist fuumlr Perl-5-Programmiererungewohnt Aber auch in diesem Detail versuchtMooseXDeclare so weit es geht sich Perl 6anzunaumlhern Bemerkenswert ist zudem dass dienotorische 1 in der letzten Zeile des Modulsweggelassen werden darf was aber auch mitMoose funktioniert haumltte

Der wichtigste Befehl den Moose einfuumlhrt ist hasEs ist das Schluumlsselwort mit dem auch in Perl 6Attribute angemeldet werden Und da seine Ak-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 7

PROGRAMMIERUNG

zessoren (Getter und Setter) normale Methodensind in denen sich all die Magie verbirgt die hiernoch bestaunt wird kann Moose auch kompatibelmit den alten Klassen sein

AttributeDas erste Attribut der Klasse ist der Name der zuladenden Datei in der alle Notizen gespeichertsind Ihm werden bereits in der Definition Eigen-schaften gegeben uumlber deren Einhaltung Moosewachen wird

has datei =gt (isa =gt Valueis =gt rorequired =gt 1trigger =gt sub my $datei = shift-gtdateidie Datei $datei nicht ylesbar unless -r $datei

)

Zuerst einmal ist das Attribut datei vom TypValue Das bedeutet dass leere Werte oderauch Referenzen als Inhalte nicht akzeptiert wer-den und zur Laufzeit einen harten Fehler (mit Pro-grammabbruch) ergeben Ein praktische Uumlber-sicht zu allen Moose-Datentypen und mehr hatder Spickzettel von Oliver Gorwits [6] ro steht fuumlrreadonly denn der Inhalt von datei soll nur ein-mal beim Erzeugen des Objektes gesetzt und niewieder veraumlndert werden Wird er nicht angege-ben gibt das auch einen Error da required =gt1 dieses Verhalten festlegt Wenn es keinen Da-

teinamen gibt braucht das Programm auch nichtzu starten Wo sollen denn dann die Notizen ge-speichert werden

Es sollte auszligerdem gepruumlft werden ob die be-sagte Datei anwesend ist Dies uumlbernimmt derletzte Eintrag da die durch trigger bestimmteRoutine immer ausgefuumlhrt wird wenn sich der In-halt von datei veraumlndert Die Routine bekommtdas Objekt als Parameter wie jede andere Me-thode auch Vom Objekt interessiert aber nur dasAttribut datei Dieses wird mit dem in Folge 2erklaumlrten Dateitestoperator fuumlr die Lesbarkeit derDatei (-r) uumlberpruumlft und bei Fehlschlag mit Feh-lermeldung abgebrochen Da das Attribut auto-matisch angelegt wird gibt es keine Methode neumehr Die neue Erzeugung des Objektes lautetdaher

my $daten = Daten-gtnew( datei =gt ynotizblockyml )

Um noch mit der alten Klasse kompatibel zu blei-ben koumlnnte man die Parameter in geschweifteKlammern legen

my $daten = Daten-gtnew( datei =gt ynotizblockyml)

Moose kann mit dieser verbreiteten Schreib-weise gut umgehen nur die Methode in derDatenpm muss angepasst werden Denn dieMethode muss jetzt new heiszligen und bekommt ih-re Parameter mit Namen in einem Hash

sub new

my ($klasse $param) = _my $selbst = bless ( $klasse)y$selbst-gtdatei_lesen( $param -gtydatei ) if defined $param -gtydatei$selbst -gtnotizen = [] unless yexists $selbst -gtnotizenreturn $selbst

Um solche Codebloumlcke nebst allen Pruumlfungender eingehenden Daten nicht mehr schreiben zumuumlssen wurde Moose entwickelt

Das andere derzeit benoumltigte Attribut ist die Listeder Notizen

has notizen =gt (isa =gt ArrayRef[Value]is =gt rwlazy =gt 1default =gt sub [ YAMLLoadFiley( shift-gtdatei ) ]

)

Sie muss ein Array aus echten Werten sein dieauch schreibbar sein sollten (rw steht wie aufRohlingspackungen fuumlr read and write ndash lesenund schreiben) lazy (faul) sagt aus dass derAnfangswert erst dann erzeugt wird wenn dieerste Leseanfrage an das Attribut kommt Unddefault zeigt auf eine Codereferenz welcheden Anfangswert ermittelt Da LoadFile einenArray liefert aber notizen als ArrayRef[Value](Referenz auf einen Array aus Werten) definiert

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 8

PROGRAMMIERUNG

ist mussten eckige Klammern drumherum wel-che die gewuumlnschte Referenz anlegen Auf die-se Art ist sicher gestellt dass der Dateiname be-kannt ist wenn die Datei geladen wird

MethodenDie Methoden anzupassen geht relativ einfachMan muss nur auf $self aufpassen Diese vonMooseXDeclare automatisch angelegte Varia-ble beinhaltet die Referenz auf das Objekt Aberwenn die Methoden eigene Parameter aus _fischt (siehe letzte Folge) dann ist das Objekt im-mer noch der erste Parameter Deshalb koumlnnteman schreiben

method datei_schreiben YAMLDumpFile( $self-gtdatei y$self-gtnotizen )

oder

method datei_schreiben my ($selbst) = _YAMLDumpFile( $selbst-gtdatei y $selbst-gtnotizen )

zufuege_notiz bewege_notiz und loesche_notiz brauchen deshalb nicht geaumlndertwerden nur aus sub muss method wer-den Normalerweise wird der Akzessor wie$selbst-gtnotizen() angewendet Aberda hier splice mit vier Parametern verwendetwird aumlndert das auch den Inhalt des Attributesnotizen

In aendere_notiz wird ein Arrayelement wiefolgt geaumlndert

$selbst-gtnotizen -gt[$index] = $text

Manche moumlgen uumlberlegen die Notizen immeram Ende in die Datei zu schreiben Dann lieszligesich der Aufruf von datei_schreiben im Haupt-programm sparen (Kein Code kann keine Fehlerbeinhalten) Dazu muss nur der Inhalt oder einAufruf in die Methode

method DEMOLISH

die immer am Ende der Lebensdauer einesMoose-Objektes aufgerufen wird Da sich aberdie Bedienung sicher noch aumlndern wird sollteder Vermerk daruumlber wann gespeichert wird imHauptprogramm bleiben (bdquovorzeitige Optimierun-gen rdquo)

SignaturenEine der lautesten und berechtigsten Kritikpunk-te an Perl ist das Fehlen von Signaturen Si-cher ist jede Art der Parameteruumlbergabe an Rou-tinen mit _ moumlglich doch steht auf den eigenenFahnen dass es mehr als einen Weg gibt Da-her sollte auch der den Java Python amp Co ge-hen und der fuumlr tausende Programmierer der ge-wohnte und natuumlrliche ist moumlglich sein Die Re-de ist von der Definition der Parameter in rundenKlammern nach dem Namen der Routine Werdie Aumlnderungen der letzen Perlversionen auf-merksam verfolgte merkt dass Vorbereitungenin diese Richtung getroffen werden Wer jedoch

volle Signaturen sofort haben will der nehmeein Modul wie signatures SubSignaturesoder MooseX-Method-Signatures Letzteres istin MooseXDeclare enthalten Angewandt wirdaus

method valider_index my ($selbst $index) = _return 0 if $index = int $indexreturn 1 if $index gt= 0 and y$index lt= $selbst-gtletzter_index

Folgendes

method valider_index (Num $index) return 1 if $index gt= 0 and y$index lt= $self -gt letzter_index

Denn spaumltestens an dieser Stelle muss $selfverwendet werden Dafuumlr wacht Moose dasswirklich Zahlen uumlbergeben werden und erstelltsofort gleichnamige lokale Variablen was dieMethoden weiter verkuumlrzt Ein vorangehenderDoppelpunkt in der Signatur ermoumlglicht sogar be-nannte Parameter (wie bei new) und ein nachge-stelltes Fragezeichen stimmt Moose sehr gnaumldigwenn dieser Parameter fehlt (er ist dann optio-nal) Notwendige Parameter (wie mit required=gt 1 verlangt) haumltten ein Ausrufezeichen an derStelle Positionale Parameter sind von Haus ausnotwendig und benannte optional ndash alles wie inPerl 6 In Signaturen lassen sich auch Datenty-pen selbsterdachte Subtypen und Defaultwerteangeben

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 9

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 2: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MAGAZIN

Editorial

Spielen unter LinuxLetzten Monat [1] haben wir Sie zum ThemabdquoLinux als Spieleplattformrdquo gefragt ob Sie Linuxals eine eine realistische Alternative zu Windowsansehen wenn es um Spiele geht Dass es zu-mindest einige gute Spiele gibt beweist die Viel-zahl an Indie-Spielen aber genuumlgt dies Die Mei-nungen einiger unserer Leser finden Sie in denLeserbriefen am Ende der Ausgabe

freiesMagazin als Debian-PaketWer jeden Monat nicht per RSS-Feed son-dern per Paketverwaltung uumlber die Neuerschei-nung von freiesMagazin informiert werden willkann sich zumindest als Ubuntu-Nutzer freuenDer Benutzer MarcusLS [2] stellt jeden MonatfreiesMagazin als deb-Paket in seinem PPA (Per-sonal Package Archive) zur Verfuumlgung Das je-weils richtige PPA fuumlr seine Ubuntu-Version findetman auf der Uumlbersichtsseite [3] Dort klickt manauf den jeweiligen Eintrag mit bdquoLTSldquo oder bdquonon-LTSldquo und fuumlgt das PPA wie gewohnt seiner Pa-ketverwaltung hinzu

An dieser Stelle moumlchten wir darauf hinwei-sen dass fremde Paketquellen Probleme bei Pa-ketaktualisierungen bereiten koumlnnen vor allemwenn sehr viel Software in ihnen vorhanden istDie Benutzung geschieht also auf eigene Ge-fahr Daneben erfolgt das Angebot nicht von derfreiesMagazin-Redaktion direkt sondern ist einreines Privatangebot Wer es nutzen moumlchte istaber herzlich dazu eingeladen

Nach der EM das SommerlochAutoren sind natuumlrlich das Salz in der Suppe ei-nes Magazins denn ohne diese waumlre die Setzerund Korrektoren arbeitslos Da freiesMagazinkeine feste Autorenmannschaft hat sind wir aufZusendungen aus der Community angewiesenDabei gilt (Fast) jeder kann einen Artikel uumlberdas schreiben was ihn interessiert

Eigentlich muumlssen Sie dafuumlr nur Spaszlig am Schrei-ben haben und sich verstaumlndlich ausdruumlcken koumln-nen sodass jeder Leser Ihren Artikel oder Ih-re Anleitungen nachvollziehen kann Gerne ge-sehen sind vor allem Softwarevorstellungen undSpiele aber auch HowTos oder Tutorials wuumln-schen sich unsere Leser sehr Eine uumlbersichtli-che Liste von gewuumlnschten Themen finden Sie inunserer Artikelwunschliste [4] Sicherlich kennenSie sich in einem dieser Gebiete aus Und wennnicht sind wir auch immer offen fuumlr ganz neueVorschlaumlge aus den Bereichen GNULinux FreieSoftware undoder Open Source Wir freuen unsauf Ihre Artikel

Ihre freiesMagazin-Redaktion

LINKS[1] httpwwwfreiesmagazindefreiesMagazin-2012-

06[2] httpslaunchpadnet~marcusls[3] httpslaunchpadnet~marcusls+related-

software[4] httpwwwfreiesmagazindeartikelwuensche

InhaltLinux allgemeinDer Juni im Kernelruumlckblick S 3

AnleitungenPerl-Tutorium ndash Teil 7 S 5

SoftwareKdenlive ndash Der freie Videoeditor fuumlr LinuxMac OS X und FreeBSD

S 11

Trac statt CRM ndash ein Erfahrungsbericht S 18Catacomb Snatch S 22Nicht nur fuumlr Zombies Einstieg in IronPy-thon

S 25

CommunityKDE-Geschichte S 31Rezension HTML5 amp CSS3 for the RealWorld

S 38

Rezension Apps mit HTML5 und CSS3fuumlr iPad iPhone und Android

S 40

MagazinEditorial S 2Leserbriefe S 42Veranstaltungen S 44Vorschau S 44Konventionen S 44Impressum S 45

Das Editorial kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 2

KERNEL

Der Juni im Kernelruumlckblick von Mathias Menzer

B asis aller Distributionen ist der Linux-Kernel der fortwaumlhrend weiterent-wickelt wird Welche Geraumlte in einem

halben Jahr unterstuumltzt werden und welcheFunktionen neu hinzukommen erfaumlhrt manwenn man den aktuellen Entwickler-Kernel imAuge behaumllt

Anfang Juni schloss Torvalds das Merge Windowfuumlr Linux 35 und legte der Linux-Gemeinde dieerste Entwicklerversion vor [1] Die Anzahl derAumlnderungen hielt sich in etwa im Rahmen derletzten Kernelversionen die groumlszligeren Neuerun-gen sind aumlhnlich uumlberschaubar Torvalds selbstmachte auf den bdquoCoDel Packet Schedulerldquo auf-merksam CoDel steht fuumlr Controlled Delay (ge-steuerte Verzoumlgerung) und soll die Groumlszlige desWarteschlange fuumlr zu sendende Netzwerkpaketeentsprechend des Netzwerkdurchsatzes anpas-sen Weiterhin wurde der Code des Virtualisie-rers KVM [2] unter der PowerPC-Architektur uumlber-arbeitet und aus dem Bereich der x86-Architekturwurde die Unterstuumltzung fuumlr den alten und ver-mutlich sowieso nicht mehr genutzten MCA-Bus [3] entfernt

Treiberseitig kann der Zugang von Grafiktreibernfuumlr die 200er Serie von ASpeed Technologies so-wie fuumlr die alten G200-Chipsaumltze von Matrox ver-meldet werden Ebenfalls neu ist ein Treiber dereine Cirrus-Grafik unter QEMU [4] emuliert

Der eine oder andere altgediente Netzwerkerwird sich ein Traumlnchen vielleicht nicht verkneifen

koumlnnen ndash die Unterstuumltzung fuumlr Token Ring [5]wurde vollstaumlndig entfernt Diese Art der Compu-tervernetzung war eine fruumlhe und aumluszligerst stabi-le Art um Datenpakete zu uumlbertragen Letztlichkonnte die damit moumlgliche Uumlbertragungsrate je-doch nicht mit Ethernet Schritt halten Verbes-serungen in der Art der Verkabelung erhoumlhtenzwar die Toleranz gegenuumlber fehlerhafter Verka-belung jedoch konnte sich Token Ring letztlichnicht durchsetzen Da mittlerweile der Pflegeauf-wand der entsprechenden Implementierung imLinux-Kernel den Nutzen aus Sicht der Entwick-ler weit uumlbersteigt wurde die Unterstuumltzung ein-gestellt

Entwicklerversion Nummer Zwei [6] folgte bereitssechs Tage spaumlter Der Grund dafuumlr war nichtdass keine Pull Requests mehr bei ihm einge-gangen waumlren sondern eine Reise in seine Hei-mat Finnland um den Millenium-Preis der fin-nischen Akademie fuumlr Technologie entgegenzu-nehmen [7] Entsprechend ist der -rc2 auch et-was kleiner als erwartet bringt mit bdquoFrontswapldquo je-doch den zweiten Teil des Transzendenten Spei-chers Der erste Teil Cleancache wurde be-reits vor einem Jahr eingefuumlhrt (siehe bdquoDer Maiim Kernelruumlckblickldquo freiesMagazin 062011 [8])Frontswap wird kuumlnftig die letzte Chance fuumlr we-nig genutzte Speicherbereiche sein um nichtdirekt in den langsameren Swap-Bereich aufder Festplatte verschoben zu werden Dabeiwird nicht garantiert dass Frontswap uumlbergebe-ne Speicherseiten auch annimmt Jedoch ist ge-

waumlhrleistet dass diese auch spaumlter noch vorhan-den sind Bei Cleancache sieht das etwas an-ders aus Die hier gespeicherten Daten koumlnnenzu einem spaumlteren Zeitpunkt verschwunden seinweshalb sich hier nur die Ablage redundanter Da-ten empfiehlt zum Beispiel um sie zu cachen

Die Idee hinter Transcendent Memory ist das bes-sere Ausnutzen des Arbeitsspeichers indem die-ser maximal moumlglich belegt wird Weiterhin ver-wenden Cleancache und Frontswap verschiede-ne Tricks wie Deduplizierung [9] und Komprimie-rung um moumlglichst viele Daten unterzubringen

Ein kleines bisschen groumlszliger war die dritte Ent-wicklerversion [10] deren Aumlnderungen jedochfast durchgaumlngig mit den Worten bdquofixesldquo und bdquoup-datesldquo beschrieben waren Eine der wenigenAusnahmen stellt die Aufnahme eines Treibersfuumlr die Netzwerkkomponente von Tileras Tile-Gx-Prozessorfamilie [11] dar die auch direkt mitknapp der Haumllfte der hinzugekommenen Code-Zeilen auftrug

Weitere KVM-Korrekturen fuumlr die PowerPC-Architektur bringt dann Linux 35-rc4 [12] mit ge-wuumlrzt von Korrekturen des i915-Treibers fuumlr Intel-Grafiken Letztere sollen unnoumltige Abfragen amDisplayport [13] verhindern die zum Flackern ei-nes angeschlossenen Anzeigegeraumlts fuumlhren koumln-nen Die am meisten auftragende Aumlnderung deseigentlich recht kleinen -rc4 waren Korrekturenan printk() der fuumlr die Ausgabe von Kernel-Meldungen an dmesg Syslog und die Konsole

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 3

KERNEL

zustaumlndigen Schnittstelle Nun koumlnnen auch Bi-naumlrdaten die im Ausgabepuffer landen entspre-chend weitergereicht werden

LINKS

[1] httpslkmlorglkml20126384[2] httpsdewikipediaorgwikiKernel-based_

Virtual_Machine[3] httpsdewikipediaorgwikiMicro_Channel_

Architecture[4] httpsdewikipediaorgwikiQEMU[5] httpsdewikipediaorgwikiToken_Ring[6] httpslkmlorglkml201268596

[7] httpwwwpro-linuxdenews118474millennium-preis-fuer-linus-torvalds-und-shinya-yamanakahtml

[8] httpwwwfreiesmagazindefreiesMagazin-2011-06

[9] httpsdewikipediaorgwikiDeduplizierung[10] httpslkmlorglkml2012616181[11] httpwwwtileracomproductsprocessorsTILE-

Gx_Family[12] httpslkmlorglkml2012624117[13] httpsdewikipediaorgwikiDisplayPort

Autoreninformation

Mathias Menzer (Webseite) wirftgerne einen Blick auf die Kernel-Entwicklung um mehr uumlber dieFunktion von Linux zu erfahren undum seine Mitmenschen mit seltsamenBegriffen und unverstaumlndlichen Abkuumlr-zungen verwirren zu koumlnnen

Diesen Artikel kommentieren

bdquoCreepyldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom642

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 4

PROGRAMMIERUNG

Perl-Tutorium ndash Teil 7 Objekte der neuen Schule von Herbert Breunung

D ie objekt-orientierte ProgrammierungOOP (siehe aktuelle freiesMagazin-Serie) war in den letzten Jahren eines

der bereicherndsten Themen fuumlr Perl Nach-dem im letzten Teil gezeigt wurde wie bisherObjekte gestrickt wurden wird jetzt der Zu-gang zu den neuen Wegen geoumlffnet die weitmehr beinhalten als man von Perl gewohntwar

Hefte rausDoch zuerst soll die Hausaufgabe verglichen wer-den Die Methode zufuege_notiz sollte um 3Zeilen verlaumlngert sowie deren Anbindung an-gepasst werden Neben dem richtigen Umgangmit splice kam es vor allem darauf an zu ver-stehen dass die Hilfsmethode valider_indexin diesem Fall unbrauchbar ist Die neue Nach-richt darf ja auch an die hinterste bisher nichtexistierende Position Dahinter verbirgt sich einsehr haumlufiges grundsaumltzliches Problem Dasrichtige Fingerspitzengefuumlhl ob man besservalider_index erweitert oder eine zusaumltzlicheMethode schreibt macht bdquoechterdquo Programmiereraus In diesem Fall kopierte der Autor die ent-scheidende Zeile aus valider_index und pass-te sie an Auch wenn das scheinbar gegen dasheilige DRY-Gesetz verstoumlszligt und ein Predigerdes sauberen Codes empfehlen wuumlrde etwasneues zu schreiben statt nur eine Zeile sichwiederholen zu lassen waren andere Gruumlndeausschlaggebend Erstens ist das Projekt noch

sehr jung und bdquovorzeitige Optimierungen sind derGrundstein allen Uumlbelsrdquo wie ein anderer oft wie-derholter Vers berichtet Zum anderen ist es nichtsinnvoll fuumlr einen absehbar einmaligen Spezial-fall eine weitere Routine zu schreiben

sub zufuege_notiz my ($selbst $text $index) = _$index = $selbst-gtletzter_index +y1 unless defined $indexreturn 1 unless $index gt= 0 and y$index lt= $selbst-gtletzter_index y+ 1splice($selbst -gtnotizen y$index 0 $text)return 0

Hinter der dritten Zeile verbirgt sich eine weiterewichtige Uumlberlegung Wenn kein index als zwei-ter Parameter angegeben wird erscheint die No-tiz an letzter Position Das entspricht dem bis-herigen Verhalten und alle alten Aufrufe dieserFunktion funktionieren weiterhin Mindestens ge-nauso wichtig ist aber auch dass man so beimAufruf der Funktion die Anzahl der Notizen nichtkennen muss Es ist ja der Sinn eines Objektesdie Innereien zu verbergen Das verhindert auchdass die Programmteile wie ein Wollknaumluel zu-sammenhaumlngen und Aumlnderungen immer schwe-rer werden Optional koumlnnte man auch -1 fuumlrden letzten Index angeben Viele Perlbefehlewie substr und splice erlauben negative Indi-

zes bei denen von hinten statt von vorne ge-zaumlhlt wird -2 waumlre dann die vorletzte Positionund so weiter Um das nachzuahmen braumluchtezufuege_notiz statt der alten vierten Zeile

return 1 if abs($index) gt $selbsty-gtletzter_index + 1$index = $selbst-gtletzter_index + 2y- $index if $index lt 0

abs liefert den absoluten Wert einer Zahl (laumlsstdas Vorzeichen weg) Wer gnaumldiger gestimmtist kann auch bei nicht existierenden Positionenstatt 1 zuruumlckzugeben und die (noch nicht existie-rende) Hilfe anzuzeigen ebenfalls die letzte Po-sition anwaumlhlen Um die Zeilen ein wenig abzu-kuumlrzen und verstaumlndlicher zu machen wird noch$selbst-gtletzter_index + 1 in eine Variableverpackt Die Routine sieht dann endlich so aus

sub zufuege_notiz my ($selbst $text $index) = _my $letzte_pos = $selbst-gtyletzter_index + 1$index = $letzte_pos unless ydefined $indexreturn 1 if abs($index) gt y$letzte_pos$index = $letzte_pos + 2 - $indexyif $index lt 0splice($selbst -gtnotizen y$index 0 $text)return 0

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 5

PROGRAMMIERUNG

Auf der anderen Seite des Aufrufes wurde aus

when ($kommandoneu) continue if $daten-gtzufuege_notizy($notiz)

folgendes

when ($kommandoneu) my($vor_dp $nach_dp) = split ysubstr($notiz 1)my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtzufuege_notizy($notiz $pos)

Wer mag kann 3 Zeilen zu einer schrumpfen las-sen

($pos $notiz) = ($vor_dp y$nach_dp) if defined $nach_dp

$pos muss vorher angemeldet werden sonstduumlrfte es nicht im letzten Aufruf verwendet wer-den (use strict ist aktiv) Da (wie in den Tei-len 1 bis 4 erlaumlutert) im Falle einer simplen Ein-gabe (notiztext) $pos undef bleibt ist es fuumlrzufuege_notiz als bekaumlme sie keinen Parame-ter index

Das alles wuumlrde eine sehr gute Loumlsung ergebenaber mittlerweile hat fast jede when-Klausel fast

die gleiche Zeile mit split Deshalb wurde esnach oben bewegt

given ( substr($notiz 0 1) ) my($vor_dp $nach_dp) = split(ysubstr($notiz 1) 2)when ($kommandoneu) my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtyzufuege_notiz($notiz $pos)

Dadurch konnten die naumlchsten zwei Klauseln umdie verschobene Zeile gekuumlrzt werden

when ($kommandoaendere)continue if length($notiz) lt 4continue if $daten-gtaendere_notizy($nach_dp $vor_dp)

when ($kommandobewege) continue if length($notiz) lt 4continue if $daten-gtbewege_notiz(y$vor_dp $nach_dp)

Die neue Einheitlichkeit macht den Code zusaumltz-lich verstaumlndlicher Auszligerdem wurde split zu-letzt noch ein dritter Parameter gegeben Er be-stimmt dass nur in 2 Teile zerlegt wird Wenndie Notiz naumlmlich auch einen Doppelpunkt ent-

haumllt teilt split in drei Teile Dann geht der hinte-re Teil der Nachricht verloren da ihn keine Varia-ble speichert Mit dem Limit bekommt $nach_dpdie gesamte Notiz selbst wenn sie Doppelpunk-te enthaumllt

Diese Loumlsung (bnpl) ist sicherlich noch nichtastrein und endguumlltig aber fuumlr den derzeitigenStand genau genug

Jetzt kommt der ElchNun endlich zur angekuumlndigten Objektorientie-rung Dafuumlr ist diese Folge bestimmt zu kurzdenn Moose (englisch fuumlr Elch) verdient ein ei-genes zehnteiliges Tutorial (Ein kleines deut-sches Tutorial ist gerade erschienen [1]) Moosefuumlhrt nebenbei noch Datentypen erstellbare Sub-typen Delegation Teilklassen (roles) Wrappingund sehr viel mehr ein Durch Ergaumlnzungen ausdem kreativen MooseX-Oumlkosystem erhaumllt mansogar echte Signaturen und neue passendeSchluumlsselworte (Das bdquoXrdquo am Ende steht fuumlr Mo-dule die ohne Ruumlcksprache mit den Autoren vonMoose ins CPAN geladen werden)

Wie kam Stevan Little dazu solch eine umfangrei-che Spracherweiterung aufzubauen Die meis-ten anderen Objektsysteme im CPAN erleichterngerade einmal das Schreiben der new-Methodeund die Erzeugung von Attributen (autogenerier-te gettersetter) Wie so oft steckt dahinter Lar-ry Wall Mit dem immer noch nicht vollendetenEntwurf der Schwestersprache bdquoPerl 6rdquo legte erein Objektsystem vor wie es sich viele auch fuumlrPerl 5 wuumlnschen Nur leider ist vieles von seiner

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 6

PROGRAMMIERUNG

Maumlchtigkeit an Funktionalitaumlt gekoppelt die Perl5 ebenfalls nicht besitzt Somit konnte hier nichtwie sonst uumlblich ein einzelnes Feature in ein Mo-dul verpackt werden dessen Name mit Perl6beginnt damit auch Perl 5-Benutzer in dessenGenuss kommen

Stevan schuf mit ClassMOP erst einmal einan Common Lisp angelehntes Metaobjektsys-tem mit dem sich jeder sein eigenes Objektsys-tem gestalten koumlnnte Das rief natuumlrlich die Spiel-kinder auf dem Plan und nach einiger Zeit flos-sen verlockend aussehende Moumlglichkeiten ausSmalltalk Java BETA OCaml Ruby und ande-ren Sprachen in Moose ein Uumlberhaupt zeichnetMoose eine hohe Beteiligung auf allen Ebenenaus Viele wichtige Projekte setzen es ein undes wird sogar auf perlorg [2] und enlightened-perlorg [3] als Standardweg empfohlen Ab Perl516 weist es auch die Kerndokumentation als lo-benswerte Alternative aus [4] Es ist auszligerdemgeplant nach 516 (erschien letzten Monat) ei-ne kleine Auswahl aus Moose in den Sprachkernaufzunehmen Stevan Little arbeitet bereits dar-an

Der Erfolg von Moose kam auch daher dassseine Objekte voll kompatibel sind was fuumlr vie-le andere Objektsysteme nicht zutrifft Alleswas in der letzten Folge geschrieben wurde(bis aus die Syntax zur Erzeugung von Objek-ten) gilt hier auch Moose-Klassen vererben ih-re Schaumltze an alte Klassen wie bereits bekanntund ebenso koumlnnen Moose-Klassen mithilfe vonMooseXNonMoose alte Klassen beerben

Wer das CPAN kennt der weiszlig auch dass eingroszliges und erfolgreiches Modul sehr schnellNachahmer findet welche es beschleunigen undauf das Wesentliche reduzieren wollen Mouseist eine fast vollstaumlndig kompatible Alternativeohne ClassMOP die erheblich schneller star-tet Moo ist nicht kompatibel sondern nur aumlhn-lich und auf das reduziert was die 40 ande-ren Objektsysteme auch bieten Nur ist es sehrschnell hat keine Abhaumlngigkeiten und an MooseGewoumlhnte muumlssen kaum umlernen In diesemTutorialteil wird jedoch nur ein Ersatz fuumlr die Da-tenpm entwickelt der Moose benutzt

Objekte deklarativGenau gesagt wird MooseXDeclare [5] be-nutzt welches die beliebtesten Erweiterungengleich mit laumldt Moose orientiert sich naumlmlich sehrkonservativ an den Schreib- und Verhaltenswei-sen von Perl 5 da es fuumlr den professionellen Ge-brauch getrimmt ist Mit MooseXDeclare heiszligtdie Klasse class die Methode method und nichtpackage und sub wie sonst in Perl 5 Es spartauch wiederkehrende Phrasen wie

my $self = shift

sowie das

__PACKAGE__ -gtmeta-gtmake_immutable

mit dem die Klasse verspricht sich zur Lauf-zeit nicht mehr aumlndern zu wollen und dafuumlr anGeschwindigkeit gewinnt Die Unterschiede sindnoch wesentlich tiefgreifender aber das waren

(mit den hinzukommenden Signaturen) die Gruumln-de dieses Module zu waumlhlen um Moose von sei-ner elegantesten Seite zu zeigen

Da Moose-Klassen so andersartig geschriebenwerden sollte das Modul ganz neu aufgezogenwerden Dabei bekommt nur die Datei aber nichtdie Klasse einen neuen Namen damit eine klei-ne Aumlnderung in Zeile 5 einen einfachen Wechselerlaubt use (wie im Teil 5 beschrieben) befiehlt jaim wesentlichen nur eine bestimmte Datei zu la-den Die enthaltene Klasse oder das enthalteneModul hat zwar in den meisten Faumlllen den glei-chen Namen aber das ist freiwillig Das Grund-geruumlst der MDatenpm ist also

use v512use MooseXDeclareuse YAML

class Daten

Den Namensraum der Klasse in geschweifteKlammern zu legen ist fuumlr Perl-5-Programmiererungewohnt Aber auch in diesem Detail versuchtMooseXDeclare so weit es geht sich Perl 6anzunaumlhern Bemerkenswert ist zudem dass dienotorische 1 in der letzten Zeile des Modulsweggelassen werden darf was aber auch mitMoose funktioniert haumltte

Der wichtigste Befehl den Moose einfuumlhrt ist hasEs ist das Schluumlsselwort mit dem auch in Perl 6Attribute angemeldet werden Und da seine Ak-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 7

PROGRAMMIERUNG

zessoren (Getter und Setter) normale Methodensind in denen sich all die Magie verbirgt die hiernoch bestaunt wird kann Moose auch kompatibelmit den alten Klassen sein

AttributeDas erste Attribut der Klasse ist der Name der zuladenden Datei in der alle Notizen gespeichertsind Ihm werden bereits in der Definition Eigen-schaften gegeben uumlber deren Einhaltung Moosewachen wird

has datei =gt (isa =gt Valueis =gt rorequired =gt 1trigger =gt sub my $datei = shift-gtdateidie Datei $datei nicht ylesbar unless -r $datei

)

Zuerst einmal ist das Attribut datei vom TypValue Das bedeutet dass leere Werte oderauch Referenzen als Inhalte nicht akzeptiert wer-den und zur Laufzeit einen harten Fehler (mit Pro-grammabbruch) ergeben Ein praktische Uumlber-sicht zu allen Moose-Datentypen und mehr hatder Spickzettel von Oliver Gorwits [6] ro steht fuumlrreadonly denn der Inhalt von datei soll nur ein-mal beim Erzeugen des Objektes gesetzt und niewieder veraumlndert werden Wird er nicht angege-ben gibt das auch einen Error da required =gt1 dieses Verhalten festlegt Wenn es keinen Da-

teinamen gibt braucht das Programm auch nichtzu starten Wo sollen denn dann die Notizen ge-speichert werden

Es sollte auszligerdem gepruumlft werden ob die be-sagte Datei anwesend ist Dies uumlbernimmt derletzte Eintrag da die durch trigger bestimmteRoutine immer ausgefuumlhrt wird wenn sich der In-halt von datei veraumlndert Die Routine bekommtdas Objekt als Parameter wie jede andere Me-thode auch Vom Objekt interessiert aber nur dasAttribut datei Dieses wird mit dem in Folge 2erklaumlrten Dateitestoperator fuumlr die Lesbarkeit derDatei (-r) uumlberpruumlft und bei Fehlschlag mit Feh-lermeldung abgebrochen Da das Attribut auto-matisch angelegt wird gibt es keine Methode neumehr Die neue Erzeugung des Objektes lautetdaher

my $daten = Daten-gtnew( datei =gt ynotizblockyml )

Um noch mit der alten Klasse kompatibel zu blei-ben koumlnnte man die Parameter in geschweifteKlammern legen

my $daten = Daten-gtnew( datei =gt ynotizblockyml)

Moose kann mit dieser verbreiteten Schreib-weise gut umgehen nur die Methode in derDatenpm muss angepasst werden Denn dieMethode muss jetzt new heiszligen und bekommt ih-re Parameter mit Namen in einem Hash

sub new

my ($klasse $param) = _my $selbst = bless ( $klasse)y$selbst-gtdatei_lesen( $param -gtydatei ) if defined $param -gtydatei$selbst -gtnotizen = [] unless yexists $selbst -gtnotizenreturn $selbst

Um solche Codebloumlcke nebst allen Pruumlfungender eingehenden Daten nicht mehr schreiben zumuumlssen wurde Moose entwickelt

Das andere derzeit benoumltigte Attribut ist die Listeder Notizen

has notizen =gt (isa =gt ArrayRef[Value]is =gt rwlazy =gt 1default =gt sub [ YAMLLoadFiley( shift-gtdatei ) ]

)

Sie muss ein Array aus echten Werten sein dieauch schreibbar sein sollten (rw steht wie aufRohlingspackungen fuumlr read and write ndash lesenund schreiben) lazy (faul) sagt aus dass derAnfangswert erst dann erzeugt wird wenn dieerste Leseanfrage an das Attribut kommt Unddefault zeigt auf eine Codereferenz welcheden Anfangswert ermittelt Da LoadFile einenArray liefert aber notizen als ArrayRef[Value](Referenz auf einen Array aus Werten) definiert

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 8

PROGRAMMIERUNG

ist mussten eckige Klammern drumherum wel-che die gewuumlnschte Referenz anlegen Auf die-se Art ist sicher gestellt dass der Dateiname be-kannt ist wenn die Datei geladen wird

MethodenDie Methoden anzupassen geht relativ einfachMan muss nur auf $self aufpassen Diese vonMooseXDeclare automatisch angelegte Varia-ble beinhaltet die Referenz auf das Objekt Aberwenn die Methoden eigene Parameter aus _fischt (siehe letzte Folge) dann ist das Objekt im-mer noch der erste Parameter Deshalb koumlnnteman schreiben

method datei_schreiben YAMLDumpFile( $self-gtdatei y$self-gtnotizen )

oder

method datei_schreiben my ($selbst) = _YAMLDumpFile( $selbst-gtdatei y $selbst-gtnotizen )

zufuege_notiz bewege_notiz und loesche_notiz brauchen deshalb nicht geaumlndertwerden nur aus sub muss method wer-den Normalerweise wird der Akzessor wie$selbst-gtnotizen() angewendet Aberda hier splice mit vier Parametern verwendetwird aumlndert das auch den Inhalt des Attributesnotizen

In aendere_notiz wird ein Arrayelement wiefolgt geaumlndert

$selbst-gtnotizen -gt[$index] = $text

Manche moumlgen uumlberlegen die Notizen immeram Ende in die Datei zu schreiben Dann lieszligesich der Aufruf von datei_schreiben im Haupt-programm sparen (Kein Code kann keine Fehlerbeinhalten) Dazu muss nur der Inhalt oder einAufruf in die Methode

method DEMOLISH

die immer am Ende der Lebensdauer einesMoose-Objektes aufgerufen wird Da sich aberdie Bedienung sicher noch aumlndern wird sollteder Vermerk daruumlber wann gespeichert wird imHauptprogramm bleiben (bdquovorzeitige Optimierun-gen rdquo)

SignaturenEine der lautesten und berechtigsten Kritikpunk-te an Perl ist das Fehlen von Signaturen Si-cher ist jede Art der Parameteruumlbergabe an Rou-tinen mit _ moumlglich doch steht auf den eigenenFahnen dass es mehr als einen Weg gibt Da-her sollte auch der den Java Python amp Co ge-hen und der fuumlr tausende Programmierer der ge-wohnte und natuumlrliche ist moumlglich sein Die Re-de ist von der Definition der Parameter in rundenKlammern nach dem Namen der Routine Werdie Aumlnderungen der letzen Perlversionen auf-merksam verfolgte merkt dass Vorbereitungenin diese Richtung getroffen werden Wer jedoch

volle Signaturen sofort haben will der nehmeein Modul wie signatures SubSignaturesoder MooseX-Method-Signatures Letzteres istin MooseXDeclare enthalten Angewandt wirdaus

method valider_index my ($selbst $index) = _return 0 if $index = int $indexreturn 1 if $index gt= 0 and y$index lt= $selbst-gtletzter_index

Folgendes

method valider_index (Num $index) return 1 if $index gt= 0 and y$index lt= $self -gt letzter_index

Denn spaumltestens an dieser Stelle muss $selfverwendet werden Dafuumlr wacht Moose dasswirklich Zahlen uumlbergeben werden und erstelltsofort gleichnamige lokale Variablen was dieMethoden weiter verkuumlrzt Ein vorangehenderDoppelpunkt in der Signatur ermoumlglicht sogar be-nannte Parameter (wie bei new) und ein nachge-stelltes Fragezeichen stimmt Moose sehr gnaumldigwenn dieser Parameter fehlt (er ist dann optio-nal) Notwendige Parameter (wie mit required=gt 1 verlangt) haumltten ein Ausrufezeichen an derStelle Positionale Parameter sind von Haus ausnotwendig und benannte optional ndash alles wie inPerl 6 In Signaturen lassen sich auch Datenty-pen selbsterdachte Subtypen und Defaultwerteangeben

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 9

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 3: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

KERNEL

Der Juni im Kernelruumlckblick von Mathias Menzer

B asis aller Distributionen ist der Linux-Kernel der fortwaumlhrend weiterent-wickelt wird Welche Geraumlte in einem

halben Jahr unterstuumltzt werden und welcheFunktionen neu hinzukommen erfaumlhrt manwenn man den aktuellen Entwickler-Kernel imAuge behaumllt

Anfang Juni schloss Torvalds das Merge Windowfuumlr Linux 35 und legte der Linux-Gemeinde dieerste Entwicklerversion vor [1] Die Anzahl derAumlnderungen hielt sich in etwa im Rahmen derletzten Kernelversionen die groumlszligeren Neuerun-gen sind aumlhnlich uumlberschaubar Torvalds selbstmachte auf den bdquoCoDel Packet Schedulerldquo auf-merksam CoDel steht fuumlr Controlled Delay (ge-steuerte Verzoumlgerung) und soll die Groumlszlige desWarteschlange fuumlr zu sendende Netzwerkpaketeentsprechend des Netzwerkdurchsatzes anpas-sen Weiterhin wurde der Code des Virtualisie-rers KVM [2] unter der PowerPC-Architektur uumlber-arbeitet und aus dem Bereich der x86-Architekturwurde die Unterstuumltzung fuumlr den alten und ver-mutlich sowieso nicht mehr genutzten MCA-Bus [3] entfernt

Treiberseitig kann der Zugang von Grafiktreibernfuumlr die 200er Serie von ASpeed Technologies so-wie fuumlr die alten G200-Chipsaumltze von Matrox ver-meldet werden Ebenfalls neu ist ein Treiber dereine Cirrus-Grafik unter QEMU [4] emuliert

Der eine oder andere altgediente Netzwerkerwird sich ein Traumlnchen vielleicht nicht verkneifen

koumlnnen ndash die Unterstuumltzung fuumlr Token Ring [5]wurde vollstaumlndig entfernt Diese Art der Compu-tervernetzung war eine fruumlhe und aumluszligerst stabi-le Art um Datenpakete zu uumlbertragen Letztlichkonnte die damit moumlgliche Uumlbertragungsrate je-doch nicht mit Ethernet Schritt halten Verbes-serungen in der Art der Verkabelung erhoumlhtenzwar die Toleranz gegenuumlber fehlerhafter Verka-belung jedoch konnte sich Token Ring letztlichnicht durchsetzen Da mittlerweile der Pflegeauf-wand der entsprechenden Implementierung imLinux-Kernel den Nutzen aus Sicht der Entwick-ler weit uumlbersteigt wurde die Unterstuumltzung ein-gestellt

Entwicklerversion Nummer Zwei [6] folgte bereitssechs Tage spaumlter Der Grund dafuumlr war nichtdass keine Pull Requests mehr bei ihm einge-gangen waumlren sondern eine Reise in seine Hei-mat Finnland um den Millenium-Preis der fin-nischen Akademie fuumlr Technologie entgegenzu-nehmen [7] Entsprechend ist der -rc2 auch et-was kleiner als erwartet bringt mit bdquoFrontswapldquo je-doch den zweiten Teil des Transzendenten Spei-chers Der erste Teil Cleancache wurde be-reits vor einem Jahr eingefuumlhrt (siehe bdquoDer Maiim Kernelruumlckblickldquo freiesMagazin 062011 [8])Frontswap wird kuumlnftig die letzte Chance fuumlr we-nig genutzte Speicherbereiche sein um nichtdirekt in den langsameren Swap-Bereich aufder Festplatte verschoben zu werden Dabeiwird nicht garantiert dass Frontswap uumlbergebe-ne Speicherseiten auch annimmt Jedoch ist ge-

waumlhrleistet dass diese auch spaumlter noch vorhan-den sind Bei Cleancache sieht das etwas an-ders aus Die hier gespeicherten Daten koumlnnenzu einem spaumlteren Zeitpunkt verschwunden seinweshalb sich hier nur die Ablage redundanter Da-ten empfiehlt zum Beispiel um sie zu cachen

Die Idee hinter Transcendent Memory ist das bes-sere Ausnutzen des Arbeitsspeichers indem die-ser maximal moumlglich belegt wird Weiterhin ver-wenden Cleancache und Frontswap verschiede-ne Tricks wie Deduplizierung [9] und Komprimie-rung um moumlglichst viele Daten unterzubringen

Ein kleines bisschen groumlszliger war die dritte Ent-wicklerversion [10] deren Aumlnderungen jedochfast durchgaumlngig mit den Worten bdquofixesldquo und bdquoup-datesldquo beschrieben waren Eine der wenigenAusnahmen stellt die Aufnahme eines Treibersfuumlr die Netzwerkkomponente von Tileras Tile-Gx-Prozessorfamilie [11] dar die auch direkt mitknapp der Haumllfte der hinzugekommenen Code-Zeilen auftrug

Weitere KVM-Korrekturen fuumlr die PowerPC-Architektur bringt dann Linux 35-rc4 [12] mit ge-wuumlrzt von Korrekturen des i915-Treibers fuumlr Intel-Grafiken Letztere sollen unnoumltige Abfragen amDisplayport [13] verhindern die zum Flackern ei-nes angeschlossenen Anzeigegeraumlts fuumlhren koumln-nen Die am meisten auftragende Aumlnderung deseigentlich recht kleinen -rc4 waren Korrekturenan printk() der fuumlr die Ausgabe von Kernel-Meldungen an dmesg Syslog und die Konsole

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 3

KERNEL

zustaumlndigen Schnittstelle Nun koumlnnen auch Bi-naumlrdaten die im Ausgabepuffer landen entspre-chend weitergereicht werden

LINKS

[1] httpslkmlorglkml20126384[2] httpsdewikipediaorgwikiKernel-based_

Virtual_Machine[3] httpsdewikipediaorgwikiMicro_Channel_

Architecture[4] httpsdewikipediaorgwikiQEMU[5] httpsdewikipediaorgwikiToken_Ring[6] httpslkmlorglkml201268596

[7] httpwwwpro-linuxdenews118474millennium-preis-fuer-linus-torvalds-und-shinya-yamanakahtml

[8] httpwwwfreiesmagazindefreiesMagazin-2011-06

[9] httpsdewikipediaorgwikiDeduplizierung[10] httpslkmlorglkml2012616181[11] httpwwwtileracomproductsprocessorsTILE-

Gx_Family[12] httpslkmlorglkml2012624117[13] httpsdewikipediaorgwikiDisplayPort

Autoreninformation

Mathias Menzer (Webseite) wirftgerne einen Blick auf die Kernel-Entwicklung um mehr uumlber dieFunktion von Linux zu erfahren undum seine Mitmenschen mit seltsamenBegriffen und unverstaumlndlichen Abkuumlr-zungen verwirren zu koumlnnen

Diesen Artikel kommentieren

bdquoCreepyldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom642

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 4

PROGRAMMIERUNG

Perl-Tutorium ndash Teil 7 Objekte der neuen Schule von Herbert Breunung

D ie objekt-orientierte ProgrammierungOOP (siehe aktuelle freiesMagazin-Serie) war in den letzten Jahren eines

der bereicherndsten Themen fuumlr Perl Nach-dem im letzten Teil gezeigt wurde wie bisherObjekte gestrickt wurden wird jetzt der Zu-gang zu den neuen Wegen geoumlffnet die weitmehr beinhalten als man von Perl gewohntwar

Hefte rausDoch zuerst soll die Hausaufgabe verglichen wer-den Die Methode zufuege_notiz sollte um 3Zeilen verlaumlngert sowie deren Anbindung an-gepasst werden Neben dem richtigen Umgangmit splice kam es vor allem darauf an zu ver-stehen dass die Hilfsmethode valider_indexin diesem Fall unbrauchbar ist Die neue Nach-richt darf ja auch an die hinterste bisher nichtexistierende Position Dahinter verbirgt sich einsehr haumlufiges grundsaumltzliches Problem Dasrichtige Fingerspitzengefuumlhl ob man besservalider_index erweitert oder eine zusaumltzlicheMethode schreibt macht bdquoechterdquo Programmiereraus In diesem Fall kopierte der Autor die ent-scheidende Zeile aus valider_index und pass-te sie an Auch wenn das scheinbar gegen dasheilige DRY-Gesetz verstoumlszligt und ein Predigerdes sauberen Codes empfehlen wuumlrde etwasneues zu schreiben statt nur eine Zeile sichwiederholen zu lassen waren andere Gruumlndeausschlaggebend Erstens ist das Projekt noch

sehr jung und bdquovorzeitige Optimierungen sind derGrundstein allen Uumlbelsrdquo wie ein anderer oft wie-derholter Vers berichtet Zum anderen ist es nichtsinnvoll fuumlr einen absehbar einmaligen Spezial-fall eine weitere Routine zu schreiben

sub zufuege_notiz my ($selbst $text $index) = _$index = $selbst-gtletzter_index +y1 unless defined $indexreturn 1 unless $index gt= 0 and y$index lt= $selbst-gtletzter_index y+ 1splice($selbst -gtnotizen y$index 0 $text)return 0

Hinter der dritten Zeile verbirgt sich eine weiterewichtige Uumlberlegung Wenn kein index als zwei-ter Parameter angegeben wird erscheint die No-tiz an letzter Position Das entspricht dem bis-herigen Verhalten und alle alten Aufrufe dieserFunktion funktionieren weiterhin Mindestens ge-nauso wichtig ist aber auch dass man so beimAufruf der Funktion die Anzahl der Notizen nichtkennen muss Es ist ja der Sinn eines Objektesdie Innereien zu verbergen Das verhindert auchdass die Programmteile wie ein Wollknaumluel zu-sammenhaumlngen und Aumlnderungen immer schwe-rer werden Optional koumlnnte man auch -1 fuumlrden letzten Index angeben Viele Perlbefehlewie substr und splice erlauben negative Indi-

zes bei denen von hinten statt von vorne ge-zaumlhlt wird -2 waumlre dann die vorletzte Positionund so weiter Um das nachzuahmen braumluchtezufuege_notiz statt der alten vierten Zeile

return 1 if abs($index) gt $selbsty-gtletzter_index + 1$index = $selbst-gtletzter_index + 2y- $index if $index lt 0

abs liefert den absoluten Wert einer Zahl (laumlsstdas Vorzeichen weg) Wer gnaumldiger gestimmtist kann auch bei nicht existierenden Positionenstatt 1 zuruumlckzugeben und die (noch nicht existie-rende) Hilfe anzuzeigen ebenfalls die letzte Po-sition anwaumlhlen Um die Zeilen ein wenig abzu-kuumlrzen und verstaumlndlicher zu machen wird noch$selbst-gtletzter_index + 1 in eine Variableverpackt Die Routine sieht dann endlich so aus

sub zufuege_notiz my ($selbst $text $index) = _my $letzte_pos = $selbst-gtyletzter_index + 1$index = $letzte_pos unless ydefined $indexreturn 1 if abs($index) gt y$letzte_pos$index = $letzte_pos + 2 - $indexyif $index lt 0splice($selbst -gtnotizen y$index 0 $text)return 0

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 5

PROGRAMMIERUNG

Auf der anderen Seite des Aufrufes wurde aus

when ($kommandoneu) continue if $daten-gtzufuege_notizy($notiz)

folgendes

when ($kommandoneu) my($vor_dp $nach_dp) = split ysubstr($notiz 1)my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtzufuege_notizy($notiz $pos)

Wer mag kann 3 Zeilen zu einer schrumpfen las-sen

($pos $notiz) = ($vor_dp y$nach_dp) if defined $nach_dp

$pos muss vorher angemeldet werden sonstduumlrfte es nicht im letzten Aufruf verwendet wer-den (use strict ist aktiv) Da (wie in den Tei-len 1 bis 4 erlaumlutert) im Falle einer simplen Ein-gabe (notiztext) $pos undef bleibt ist es fuumlrzufuege_notiz als bekaumlme sie keinen Parame-ter index

Das alles wuumlrde eine sehr gute Loumlsung ergebenaber mittlerweile hat fast jede when-Klausel fast

die gleiche Zeile mit split Deshalb wurde esnach oben bewegt

given ( substr($notiz 0 1) ) my($vor_dp $nach_dp) = split(ysubstr($notiz 1) 2)when ($kommandoneu) my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtyzufuege_notiz($notiz $pos)

Dadurch konnten die naumlchsten zwei Klauseln umdie verschobene Zeile gekuumlrzt werden

when ($kommandoaendere)continue if length($notiz) lt 4continue if $daten-gtaendere_notizy($nach_dp $vor_dp)

when ($kommandobewege) continue if length($notiz) lt 4continue if $daten-gtbewege_notiz(y$vor_dp $nach_dp)

Die neue Einheitlichkeit macht den Code zusaumltz-lich verstaumlndlicher Auszligerdem wurde split zu-letzt noch ein dritter Parameter gegeben Er be-stimmt dass nur in 2 Teile zerlegt wird Wenndie Notiz naumlmlich auch einen Doppelpunkt ent-

haumllt teilt split in drei Teile Dann geht der hinte-re Teil der Nachricht verloren da ihn keine Varia-ble speichert Mit dem Limit bekommt $nach_dpdie gesamte Notiz selbst wenn sie Doppelpunk-te enthaumllt

Diese Loumlsung (bnpl) ist sicherlich noch nichtastrein und endguumlltig aber fuumlr den derzeitigenStand genau genug

Jetzt kommt der ElchNun endlich zur angekuumlndigten Objektorientie-rung Dafuumlr ist diese Folge bestimmt zu kurzdenn Moose (englisch fuumlr Elch) verdient ein ei-genes zehnteiliges Tutorial (Ein kleines deut-sches Tutorial ist gerade erschienen [1]) Moosefuumlhrt nebenbei noch Datentypen erstellbare Sub-typen Delegation Teilklassen (roles) Wrappingund sehr viel mehr ein Durch Ergaumlnzungen ausdem kreativen MooseX-Oumlkosystem erhaumllt mansogar echte Signaturen und neue passendeSchluumlsselworte (Das bdquoXrdquo am Ende steht fuumlr Mo-dule die ohne Ruumlcksprache mit den Autoren vonMoose ins CPAN geladen werden)

Wie kam Stevan Little dazu solch eine umfangrei-che Spracherweiterung aufzubauen Die meis-ten anderen Objektsysteme im CPAN erleichterngerade einmal das Schreiben der new-Methodeund die Erzeugung von Attributen (autogenerier-te gettersetter) Wie so oft steckt dahinter Lar-ry Wall Mit dem immer noch nicht vollendetenEntwurf der Schwestersprache bdquoPerl 6rdquo legte erein Objektsystem vor wie es sich viele auch fuumlrPerl 5 wuumlnschen Nur leider ist vieles von seiner

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 6

PROGRAMMIERUNG

Maumlchtigkeit an Funktionalitaumlt gekoppelt die Perl5 ebenfalls nicht besitzt Somit konnte hier nichtwie sonst uumlblich ein einzelnes Feature in ein Mo-dul verpackt werden dessen Name mit Perl6beginnt damit auch Perl 5-Benutzer in dessenGenuss kommen

Stevan schuf mit ClassMOP erst einmal einan Common Lisp angelehntes Metaobjektsys-tem mit dem sich jeder sein eigenes Objektsys-tem gestalten koumlnnte Das rief natuumlrlich die Spiel-kinder auf dem Plan und nach einiger Zeit flos-sen verlockend aussehende Moumlglichkeiten ausSmalltalk Java BETA OCaml Ruby und ande-ren Sprachen in Moose ein Uumlberhaupt zeichnetMoose eine hohe Beteiligung auf allen Ebenenaus Viele wichtige Projekte setzen es ein undes wird sogar auf perlorg [2] und enlightened-perlorg [3] als Standardweg empfohlen Ab Perl516 weist es auch die Kerndokumentation als lo-benswerte Alternative aus [4] Es ist auszligerdemgeplant nach 516 (erschien letzten Monat) ei-ne kleine Auswahl aus Moose in den Sprachkernaufzunehmen Stevan Little arbeitet bereits dar-an

Der Erfolg von Moose kam auch daher dassseine Objekte voll kompatibel sind was fuumlr vie-le andere Objektsysteme nicht zutrifft Alleswas in der letzten Folge geschrieben wurde(bis aus die Syntax zur Erzeugung von Objek-ten) gilt hier auch Moose-Klassen vererben ih-re Schaumltze an alte Klassen wie bereits bekanntund ebenso koumlnnen Moose-Klassen mithilfe vonMooseXNonMoose alte Klassen beerben

Wer das CPAN kennt der weiszlig auch dass eingroszliges und erfolgreiches Modul sehr schnellNachahmer findet welche es beschleunigen undauf das Wesentliche reduzieren wollen Mouseist eine fast vollstaumlndig kompatible Alternativeohne ClassMOP die erheblich schneller star-tet Moo ist nicht kompatibel sondern nur aumlhn-lich und auf das reduziert was die 40 ande-ren Objektsysteme auch bieten Nur ist es sehrschnell hat keine Abhaumlngigkeiten und an MooseGewoumlhnte muumlssen kaum umlernen In diesemTutorialteil wird jedoch nur ein Ersatz fuumlr die Da-tenpm entwickelt der Moose benutzt

Objekte deklarativGenau gesagt wird MooseXDeclare [5] be-nutzt welches die beliebtesten Erweiterungengleich mit laumldt Moose orientiert sich naumlmlich sehrkonservativ an den Schreib- und Verhaltenswei-sen von Perl 5 da es fuumlr den professionellen Ge-brauch getrimmt ist Mit MooseXDeclare heiszligtdie Klasse class die Methode method und nichtpackage und sub wie sonst in Perl 5 Es spartauch wiederkehrende Phrasen wie

my $self = shift

sowie das

__PACKAGE__ -gtmeta-gtmake_immutable

mit dem die Klasse verspricht sich zur Lauf-zeit nicht mehr aumlndern zu wollen und dafuumlr anGeschwindigkeit gewinnt Die Unterschiede sindnoch wesentlich tiefgreifender aber das waren

(mit den hinzukommenden Signaturen) die Gruumln-de dieses Module zu waumlhlen um Moose von sei-ner elegantesten Seite zu zeigen

Da Moose-Klassen so andersartig geschriebenwerden sollte das Modul ganz neu aufgezogenwerden Dabei bekommt nur die Datei aber nichtdie Klasse einen neuen Namen damit eine klei-ne Aumlnderung in Zeile 5 einen einfachen Wechselerlaubt use (wie im Teil 5 beschrieben) befiehlt jaim wesentlichen nur eine bestimmte Datei zu la-den Die enthaltene Klasse oder das enthalteneModul hat zwar in den meisten Faumlllen den glei-chen Namen aber das ist freiwillig Das Grund-geruumlst der MDatenpm ist also

use v512use MooseXDeclareuse YAML

class Daten

Den Namensraum der Klasse in geschweifteKlammern zu legen ist fuumlr Perl-5-Programmiererungewohnt Aber auch in diesem Detail versuchtMooseXDeclare so weit es geht sich Perl 6anzunaumlhern Bemerkenswert ist zudem dass dienotorische 1 in der letzten Zeile des Modulsweggelassen werden darf was aber auch mitMoose funktioniert haumltte

Der wichtigste Befehl den Moose einfuumlhrt ist hasEs ist das Schluumlsselwort mit dem auch in Perl 6Attribute angemeldet werden Und da seine Ak-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 7

PROGRAMMIERUNG

zessoren (Getter und Setter) normale Methodensind in denen sich all die Magie verbirgt die hiernoch bestaunt wird kann Moose auch kompatibelmit den alten Klassen sein

AttributeDas erste Attribut der Klasse ist der Name der zuladenden Datei in der alle Notizen gespeichertsind Ihm werden bereits in der Definition Eigen-schaften gegeben uumlber deren Einhaltung Moosewachen wird

has datei =gt (isa =gt Valueis =gt rorequired =gt 1trigger =gt sub my $datei = shift-gtdateidie Datei $datei nicht ylesbar unless -r $datei

)

Zuerst einmal ist das Attribut datei vom TypValue Das bedeutet dass leere Werte oderauch Referenzen als Inhalte nicht akzeptiert wer-den und zur Laufzeit einen harten Fehler (mit Pro-grammabbruch) ergeben Ein praktische Uumlber-sicht zu allen Moose-Datentypen und mehr hatder Spickzettel von Oliver Gorwits [6] ro steht fuumlrreadonly denn der Inhalt von datei soll nur ein-mal beim Erzeugen des Objektes gesetzt und niewieder veraumlndert werden Wird er nicht angege-ben gibt das auch einen Error da required =gt1 dieses Verhalten festlegt Wenn es keinen Da-

teinamen gibt braucht das Programm auch nichtzu starten Wo sollen denn dann die Notizen ge-speichert werden

Es sollte auszligerdem gepruumlft werden ob die be-sagte Datei anwesend ist Dies uumlbernimmt derletzte Eintrag da die durch trigger bestimmteRoutine immer ausgefuumlhrt wird wenn sich der In-halt von datei veraumlndert Die Routine bekommtdas Objekt als Parameter wie jede andere Me-thode auch Vom Objekt interessiert aber nur dasAttribut datei Dieses wird mit dem in Folge 2erklaumlrten Dateitestoperator fuumlr die Lesbarkeit derDatei (-r) uumlberpruumlft und bei Fehlschlag mit Feh-lermeldung abgebrochen Da das Attribut auto-matisch angelegt wird gibt es keine Methode neumehr Die neue Erzeugung des Objektes lautetdaher

my $daten = Daten-gtnew( datei =gt ynotizblockyml )

Um noch mit der alten Klasse kompatibel zu blei-ben koumlnnte man die Parameter in geschweifteKlammern legen

my $daten = Daten-gtnew( datei =gt ynotizblockyml)

Moose kann mit dieser verbreiteten Schreib-weise gut umgehen nur die Methode in derDatenpm muss angepasst werden Denn dieMethode muss jetzt new heiszligen und bekommt ih-re Parameter mit Namen in einem Hash

sub new

my ($klasse $param) = _my $selbst = bless ( $klasse)y$selbst-gtdatei_lesen( $param -gtydatei ) if defined $param -gtydatei$selbst -gtnotizen = [] unless yexists $selbst -gtnotizenreturn $selbst

Um solche Codebloumlcke nebst allen Pruumlfungender eingehenden Daten nicht mehr schreiben zumuumlssen wurde Moose entwickelt

Das andere derzeit benoumltigte Attribut ist die Listeder Notizen

has notizen =gt (isa =gt ArrayRef[Value]is =gt rwlazy =gt 1default =gt sub [ YAMLLoadFiley( shift-gtdatei ) ]

)

Sie muss ein Array aus echten Werten sein dieauch schreibbar sein sollten (rw steht wie aufRohlingspackungen fuumlr read and write ndash lesenund schreiben) lazy (faul) sagt aus dass derAnfangswert erst dann erzeugt wird wenn dieerste Leseanfrage an das Attribut kommt Unddefault zeigt auf eine Codereferenz welcheden Anfangswert ermittelt Da LoadFile einenArray liefert aber notizen als ArrayRef[Value](Referenz auf einen Array aus Werten) definiert

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 8

PROGRAMMIERUNG

ist mussten eckige Klammern drumherum wel-che die gewuumlnschte Referenz anlegen Auf die-se Art ist sicher gestellt dass der Dateiname be-kannt ist wenn die Datei geladen wird

MethodenDie Methoden anzupassen geht relativ einfachMan muss nur auf $self aufpassen Diese vonMooseXDeclare automatisch angelegte Varia-ble beinhaltet die Referenz auf das Objekt Aberwenn die Methoden eigene Parameter aus _fischt (siehe letzte Folge) dann ist das Objekt im-mer noch der erste Parameter Deshalb koumlnnteman schreiben

method datei_schreiben YAMLDumpFile( $self-gtdatei y$self-gtnotizen )

oder

method datei_schreiben my ($selbst) = _YAMLDumpFile( $selbst-gtdatei y $selbst-gtnotizen )

zufuege_notiz bewege_notiz und loesche_notiz brauchen deshalb nicht geaumlndertwerden nur aus sub muss method wer-den Normalerweise wird der Akzessor wie$selbst-gtnotizen() angewendet Aberda hier splice mit vier Parametern verwendetwird aumlndert das auch den Inhalt des Attributesnotizen

In aendere_notiz wird ein Arrayelement wiefolgt geaumlndert

$selbst-gtnotizen -gt[$index] = $text

Manche moumlgen uumlberlegen die Notizen immeram Ende in die Datei zu schreiben Dann lieszligesich der Aufruf von datei_schreiben im Haupt-programm sparen (Kein Code kann keine Fehlerbeinhalten) Dazu muss nur der Inhalt oder einAufruf in die Methode

method DEMOLISH

die immer am Ende der Lebensdauer einesMoose-Objektes aufgerufen wird Da sich aberdie Bedienung sicher noch aumlndern wird sollteder Vermerk daruumlber wann gespeichert wird imHauptprogramm bleiben (bdquovorzeitige Optimierun-gen rdquo)

SignaturenEine der lautesten und berechtigsten Kritikpunk-te an Perl ist das Fehlen von Signaturen Si-cher ist jede Art der Parameteruumlbergabe an Rou-tinen mit _ moumlglich doch steht auf den eigenenFahnen dass es mehr als einen Weg gibt Da-her sollte auch der den Java Python amp Co ge-hen und der fuumlr tausende Programmierer der ge-wohnte und natuumlrliche ist moumlglich sein Die Re-de ist von der Definition der Parameter in rundenKlammern nach dem Namen der Routine Werdie Aumlnderungen der letzen Perlversionen auf-merksam verfolgte merkt dass Vorbereitungenin diese Richtung getroffen werden Wer jedoch

volle Signaturen sofort haben will der nehmeein Modul wie signatures SubSignaturesoder MooseX-Method-Signatures Letzteres istin MooseXDeclare enthalten Angewandt wirdaus

method valider_index my ($selbst $index) = _return 0 if $index = int $indexreturn 1 if $index gt= 0 and y$index lt= $selbst-gtletzter_index

Folgendes

method valider_index (Num $index) return 1 if $index gt= 0 and y$index lt= $self -gt letzter_index

Denn spaumltestens an dieser Stelle muss $selfverwendet werden Dafuumlr wacht Moose dasswirklich Zahlen uumlbergeben werden und erstelltsofort gleichnamige lokale Variablen was dieMethoden weiter verkuumlrzt Ein vorangehenderDoppelpunkt in der Signatur ermoumlglicht sogar be-nannte Parameter (wie bei new) und ein nachge-stelltes Fragezeichen stimmt Moose sehr gnaumldigwenn dieser Parameter fehlt (er ist dann optio-nal) Notwendige Parameter (wie mit required=gt 1 verlangt) haumltten ein Ausrufezeichen an derStelle Positionale Parameter sind von Haus ausnotwendig und benannte optional ndash alles wie inPerl 6 In Signaturen lassen sich auch Datenty-pen selbsterdachte Subtypen und Defaultwerteangeben

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 9

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 4: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

KERNEL

zustaumlndigen Schnittstelle Nun koumlnnen auch Bi-naumlrdaten die im Ausgabepuffer landen entspre-chend weitergereicht werden

LINKS

[1] httpslkmlorglkml20126384[2] httpsdewikipediaorgwikiKernel-based_

Virtual_Machine[3] httpsdewikipediaorgwikiMicro_Channel_

Architecture[4] httpsdewikipediaorgwikiQEMU[5] httpsdewikipediaorgwikiToken_Ring[6] httpslkmlorglkml201268596

[7] httpwwwpro-linuxdenews118474millennium-preis-fuer-linus-torvalds-und-shinya-yamanakahtml

[8] httpwwwfreiesmagazindefreiesMagazin-2011-06

[9] httpsdewikipediaorgwikiDeduplizierung[10] httpslkmlorglkml2012616181[11] httpwwwtileracomproductsprocessorsTILE-

Gx_Family[12] httpslkmlorglkml2012624117[13] httpsdewikipediaorgwikiDisplayPort

Autoreninformation

Mathias Menzer (Webseite) wirftgerne einen Blick auf die Kernel-Entwicklung um mehr uumlber dieFunktion von Linux zu erfahren undum seine Mitmenschen mit seltsamenBegriffen und unverstaumlndlichen Abkuumlr-zungen verwirren zu koumlnnen

Diesen Artikel kommentieren

bdquoCreepyldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom642

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 4

PROGRAMMIERUNG

Perl-Tutorium ndash Teil 7 Objekte der neuen Schule von Herbert Breunung

D ie objekt-orientierte ProgrammierungOOP (siehe aktuelle freiesMagazin-Serie) war in den letzten Jahren eines

der bereicherndsten Themen fuumlr Perl Nach-dem im letzten Teil gezeigt wurde wie bisherObjekte gestrickt wurden wird jetzt der Zu-gang zu den neuen Wegen geoumlffnet die weitmehr beinhalten als man von Perl gewohntwar

Hefte rausDoch zuerst soll die Hausaufgabe verglichen wer-den Die Methode zufuege_notiz sollte um 3Zeilen verlaumlngert sowie deren Anbindung an-gepasst werden Neben dem richtigen Umgangmit splice kam es vor allem darauf an zu ver-stehen dass die Hilfsmethode valider_indexin diesem Fall unbrauchbar ist Die neue Nach-richt darf ja auch an die hinterste bisher nichtexistierende Position Dahinter verbirgt sich einsehr haumlufiges grundsaumltzliches Problem Dasrichtige Fingerspitzengefuumlhl ob man besservalider_index erweitert oder eine zusaumltzlicheMethode schreibt macht bdquoechterdquo Programmiereraus In diesem Fall kopierte der Autor die ent-scheidende Zeile aus valider_index und pass-te sie an Auch wenn das scheinbar gegen dasheilige DRY-Gesetz verstoumlszligt und ein Predigerdes sauberen Codes empfehlen wuumlrde etwasneues zu schreiben statt nur eine Zeile sichwiederholen zu lassen waren andere Gruumlndeausschlaggebend Erstens ist das Projekt noch

sehr jung und bdquovorzeitige Optimierungen sind derGrundstein allen Uumlbelsrdquo wie ein anderer oft wie-derholter Vers berichtet Zum anderen ist es nichtsinnvoll fuumlr einen absehbar einmaligen Spezial-fall eine weitere Routine zu schreiben

sub zufuege_notiz my ($selbst $text $index) = _$index = $selbst-gtletzter_index +y1 unless defined $indexreturn 1 unless $index gt= 0 and y$index lt= $selbst-gtletzter_index y+ 1splice($selbst -gtnotizen y$index 0 $text)return 0

Hinter der dritten Zeile verbirgt sich eine weiterewichtige Uumlberlegung Wenn kein index als zwei-ter Parameter angegeben wird erscheint die No-tiz an letzter Position Das entspricht dem bis-herigen Verhalten und alle alten Aufrufe dieserFunktion funktionieren weiterhin Mindestens ge-nauso wichtig ist aber auch dass man so beimAufruf der Funktion die Anzahl der Notizen nichtkennen muss Es ist ja der Sinn eines Objektesdie Innereien zu verbergen Das verhindert auchdass die Programmteile wie ein Wollknaumluel zu-sammenhaumlngen und Aumlnderungen immer schwe-rer werden Optional koumlnnte man auch -1 fuumlrden letzten Index angeben Viele Perlbefehlewie substr und splice erlauben negative Indi-

zes bei denen von hinten statt von vorne ge-zaumlhlt wird -2 waumlre dann die vorletzte Positionund so weiter Um das nachzuahmen braumluchtezufuege_notiz statt der alten vierten Zeile

return 1 if abs($index) gt $selbsty-gtletzter_index + 1$index = $selbst-gtletzter_index + 2y- $index if $index lt 0

abs liefert den absoluten Wert einer Zahl (laumlsstdas Vorzeichen weg) Wer gnaumldiger gestimmtist kann auch bei nicht existierenden Positionenstatt 1 zuruumlckzugeben und die (noch nicht existie-rende) Hilfe anzuzeigen ebenfalls die letzte Po-sition anwaumlhlen Um die Zeilen ein wenig abzu-kuumlrzen und verstaumlndlicher zu machen wird noch$selbst-gtletzter_index + 1 in eine Variableverpackt Die Routine sieht dann endlich so aus

sub zufuege_notiz my ($selbst $text $index) = _my $letzte_pos = $selbst-gtyletzter_index + 1$index = $letzte_pos unless ydefined $indexreturn 1 if abs($index) gt y$letzte_pos$index = $letzte_pos + 2 - $indexyif $index lt 0splice($selbst -gtnotizen y$index 0 $text)return 0

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 5

PROGRAMMIERUNG

Auf der anderen Seite des Aufrufes wurde aus

when ($kommandoneu) continue if $daten-gtzufuege_notizy($notiz)

folgendes

when ($kommandoneu) my($vor_dp $nach_dp) = split ysubstr($notiz 1)my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtzufuege_notizy($notiz $pos)

Wer mag kann 3 Zeilen zu einer schrumpfen las-sen

($pos $notiz) = ($vor_dp y$nach_dp) if defined $nach_dp

$pos muss vorher angemeldet werden sonstduumlrfte es nicht im letzten Aufruf verwendet wer-den (use strict ist aktiv) Da (wie in den Tei-len 1 bis 4 erlaumlutert) im Falle einer simplen Ein-gabe (notiztext) $pos undef bleibt ist es fuumlrzufuege_notiz als bekaumlme sie keinen Parame-ter index

Das alles wuumlrde eine sehr gute Loumlsung ergebenaber mittlerweile hat fast jede when-Klausel fast

die gleiche Zeile mit split Deshalb wurde esnach oben bewegt

given ( substr($notiz 0 1) ) my($vor_dp $nach_dp) = split(ysubstr($notiz 1) 2)when ($kommandoneu) my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtyzufuege_notiz($notiz $pos)

Dadurch konnten die naumlchsten zwei Klauseln umdie verschobene Zeile gekuumlrzt werden

when ($kommandoaendere)continue if length($notiz) lt 4continue if $daten-gtaendere_notizy($nach_dp $vor_dp)

when ($kommandobewege) continue if length($notiz) lt 4continue if $daten-gtbewege_notiz(y$vor_dp $nach_dp)

Die neue Einheitlichkeit macht den Code zusaumltz-lich verstaumlndlicher Auszligerdem wurde split zu-letzt noch ein dritter Parameter gegeben Er be-stimmt dass nur in 2 Teile zerlegt wird Wenndie Notiz naumlmlich auch einen Doppelpunkt ent-

haumllt teilt split in drei Teile Dann geht der hinte-re Teil der Nachricht verloren da ihn keine Varia-ble speichert Mit dem Limit bekommt $nach_dpdie gesamte Notiz selbst wenn sie Doppelpunk-te enthaumllt

Diese Loumlsung (bnpl) ist sicherlich noch nichtastrein und endguumlltig aber fuumlr den derzeitigenStand genau genug

Jetzt kommt der ElchNun endlich zur angekuumlndigten Objektorientie-rung Dafuumlr ist diese Folge bestimmt zu kurzdenn Moose (englisch fuumlr Elch) verdient ein ei-genes zehnteiliges Tutorial (Ein kleines deut-sches Tutorial ist gerade erschienen [1]) Moosefuumlhrt nebenbei noch Datentypen erstellbare Sub-typen Delegation Teilklassen (roles) Wrappingund sehr viel mehr ein Durch Ergaumlnzungen ausdem kreativen MooseX-Oumlkosystem erhaumllt mansogar echte Signaturen und neue passendeSchluumlsselworte (Das bdquoXrdquo am Ende steht fuumlr Mo-dule die ohne Ruumlcksprache mit den Autoren vonMoose ins CPAN geladen werden)

Wie kam Stevan Little dazu solch eine umfangrei-che Spracherweiterung aufzubauen Die meis-ten anderen Objektsysteme im CPAN erleichterngerade einmal das Schreiben der new-Methodeund die Erzeugung von Attributen (autogenerier-te gettersetter) Wie so oft steckt dahinter Lar-ry Wall Mit dem immer noch nicht vollendetenEntwurf der Schwestersprache bdquoPerl 6rdquo legte erein Objektsystem vor wie es sich viele auch fuumlrPerl 5 wuumlnschen Nur leider ist vieles von seiner

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 6

PROGRAMMIERUNG

Maumlchtigkeit an Funktionalitaumlt gekoppelt die Perl5 ebenfalls nicht besitzt Somit konnte hier nichtwie sonst uumlblich ein einzelnes Feature in ein Mo-dul verpackt werden dessen Name mit Perl6beginnt damit auch Perl 5-Benutzer in dessenGenuss kommen

Stevan schuf mit ClassMOP erst einmal einan Common Lisp angelehntes Metaobjektsys-tem mit dem sich jeder sein eigenes Objektsys-tem gestalten koumlnnte Das rief natuumlrlich die Spiel-kinder auf dem Plan und nach einiger Zeit flos-sen verlockend aussehende Moumlglichkeiten ausSmalltalk Java BETA OCaml Ruby und ande-ren Sprachen in Moose ein Uumlberhaupt zeichnetMoose eine hohe Beteiligung auf allen Ebenenaus Viele wichtige Projekte setzen es ein undes wird sogar auf perlorg [2] und enlightened-perlorg [3] als Standardweg empfohlen Ab Perl516 weist es auch die Kerndokumentation als lo-benswerte Alternative aus [4] Es ist auszligerdemgeplant nach 516 (erschien letzten Monat) ei-ne kleine Auswahl aus Moose in den Sprachkernaufzunehmen Stevan Little arbeitet bereits dar-an

Der Erfolg von Moose kam auch daher dassseine Objekte voll kompatibel sind was fuumlr vie-le andere Objektsysteme nicht zutrifft Alleswas in der letzten Folge geschrieben wurde(bis aus die Syntax zur Erzeugung von Objek-ten) gilt hier auch Moose-Klassen vererben ih-re Schaumltze an alte Klassen wie bereits bekanntund ebenso koumlnnen Moose-Klassen mithilfe vonMooseXNonMoose alte Klassen beerben

Wer das CPAN kennt der weiszlig auch dass eingroszliges und erfolgreiches Modul sehr schnellNachahmer findet welche es beschleunigen undauf das Wesentliche reduzieren wollen Mouseist eine fast vollstaumlndig kompatible Alternativeohne ClassMOP die erheblich schneller star-tet Moo ist nicht kompatibel sondern nur aumlhn-lich und auf das reduziert was die 40 ande-ren Objektsysteme auch bieten Nur ist es sehrschnell hat keine Abhaumlngigkeiten und an MooseGewoumlhnte muumlssen kaum umlernen In diesemTutorialteil wird jedoch nur ein Ersatz fuumlr die Da-tenpm entwickelt der Moose benutzt

Objekte deklarativGenau gesagt wird MooseXDeclare [5] be-nutzt welches die beliebtesten Erweiterungengleich mit laumldt Moose orientiert sich naumlmlich sehrkonservativ an den Schreib- und Verhaltenswei-sen von Perl 5 da es fuumlr den professionellen Ge-brauch getrimmt ist Mit MooseXDeclare heiszligtdie Klasse class die Methode method und nichtpackage und sub wie sonst in Perl 5 Es spartauch wiederkehrende Phrasen wie

my $self = shift

sowie das

__PACKAGE__ -gtmeta-gtmake_immutable

mit dem die Klasse verspricht sich zur Lauf-zeit nicht mehr aumlndern zu wollen und dafuumlr anGeschwindigkeit gewinnt Die Unterschiede sindnoch wesentlich tiefgreifender aber das waren

(mit den hinzukommenden Signaturen) die Gruumln-de dieses Module zu waumlhlen um Moose von sei-ner elegantesten Seite zu zeigen

Da Moose-Klassen so andersartig geschriebenwerden sollte das Modul ganz neu aufgezogenwerden Dabei bekommt nur die Datei aber nichtdie Klasse einen neuen Namen damit eine klei-ne Aumlnderung in Zeile 5 einen einfachen Wechselerlaubt use (wie im Teil 5 beschrieben) befiehlt jaim wesentlichen nur eine bestimmte Datei zu la-den Die enthaltene Klasse oder das enthalteneModul hat zwar in den meisten Faumlllen den glei-chen Namen aber das ist freiwillig Das Grund-geruumlst der MDatenpm ist also

use v512use MooseXDeclareuse YAML

class Daten

Den Namensraum der Klasse in geschweifteKlammern zu legen ist fuumlr Perl-5-Programmiererungewohnt Aber auch in diesem Detail versuchtMooseXDeclare so weit es geht sich Perl 6anzunaumlhern Bemerkenswert ist zudem dass dienotorische 1 in der letzten Zeile des Modulsweggelassen werden darf was aber auch mitMoose funktioniert haumltte

Der wichtigste Befehl den Moose einfuumlhrt ist hasEs ist das Schluumlsselwort mit dem auch in Perl 6Attribute angemeldet werden Und da seine Ak-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 7

PROGRAMMIERUNG

zessoren (Getter und Setter) normale Methodensind in denen sich all die Magie verbirgt die hiernoch bestaunt wird kann Moose auch kompatibelmit den alten Klassen sein

AttributeDas erste Attribut der Klasse ist der Name der zuladenden Datei in der alle Notizen gespeichertsind Ihm werden bereits in der Definition Eigen-schaften gegeben uumlber deren Einhaltung Moosewachen wird

has datei =gt (isa =gt Valueis =gt rorequired =gt 1trigger =gt sub my $datei = shift-gtdateidie Datei $datei nicht ylesbar unless -r $datei

)

Zuerst einmal ist das Attribut datei vom TypValue Das bedeutet dass leere Werte oderauch Referenzen als Inhalte nicht akzeptiert wer-den und zur Laufzeit einen harten Fehler (mit Pro-grammabbruch) ergeben Ein praktische Uumlber-sicht zu allen Moose-Datentypen und mehr hatder Spickzettel von Oliver Gorwits [6] ro steht fuumlrreadonly denn der Inhalt von datei soll nur ein-mal beim Erzeugen des Objektes gesetzt und niewieder veraumlndert werden Wird er nicht angege-ben gibt das auch einen Error da required =gt1 dieses Verhalten festlegt Wenn es keinen Da-

teinamen gibt braucht das Programm auch nichtzu starten Wo sollen denn dann die Notizen ge-speichert werden

Es sollte auszligerdem gepruumlft werden ob die be-sagte Datei anwesend ist Dies uumlbernimmt derletzte Eintrag da die durch trigger bestimmteRoutine immer ausgefuumlhrt wird wenn sich der In-halt von datei veraumlndert Die Routine bekommtdas Objekt als Parameter wie jede andere Me-thode auch Vom Objekt interessiert aber nur dasAttribut datei Dieses wird mit dem in Folge 2erklaumlrten Dateitestoperator fuumlr die Lesbarkeit derDatei (-r) uumlberpruumlft und bei Fehlschlag mit Feh-lermeldung abgebrochen Da das Attribut auto-matisch angelegt wird gibt es keine Methode neumehr Die neue Erzeugung des Objektes lautetdaher

my $daten = Daten-gtnew( datei =gt ynotizblockyml )

Um noch mit der alten Klasse kompatibel zu blei-ben koumlnnte man die Parameter in geschweifteKlammern legen

my $daten = Daten-gtnew( datei =gt ynotizblockyml)

Moose kann mit dieser verbreiteten Schreib-weise gut umgehen nur die Methode in derDatenpm muss angepasst werden Denn dieMethode muss jetzt new heiszligen und bekommt ih-re Parameter mit Namen in einem Hash

sub new

my ($klasse $param) = _my $selbst = bless ( $klasse)y$selbst-gtdatei_lesen( $param -gtydatei ) if defined $param -gtydatei$selbst -gtnotizen = [] unless yexists $selbst -gtnotizenreturn $selbst

Um solche Codebloumlcke nebst allen Pruumlfungender eingehenden Daten nicht mehr schreiben zumuumlssen wurde Moose entwickelt

Das andere derzeit benoumltigte Attribut ist die Listeder Notizen

has notizen =gt (isa =gt ArrayRef[Value]is =gt rwlazy =gt 1default =gt sub [ YAMLLoadFiley( shift-gtdatei ) ]

)

Sie muss ein Array aus echten Werten sein dieauch schreibbar sein sollten (rw steht wie aufRohlingspackungen fuumlr read and write ndash lesenund schreiben) lazy (faul) sagt aus dass derAnfangswert erst dann erzeugt wird wenn dieerste Leseanfrage an das Attribut kommt Unddefault zeigt auf eine Codereferenz welcheden Anfangswert ermittelt Da LoadFile einenArray liefert aber notizen als ArrayRef[Value](Referenz auf einen Array aus Werten) definiert

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 8

PROGRAMMIERUNG

ist mussten eckige Klammern drumherum wel-che die gewuumlnschte Referenz anlegen Auf die-se Art ist sicher gestellt dass der Dateiname be-kannt ist wenn die Datei geladen wird

MethodenDie Methoden anzupassen geht relativ einfachMan muss nur auf $self aufpassen Diese vonMooseXDeclare automatisch angelegte Varia-ble beinhaltet die Referenz auf das Objekt Aberwenn die Methoden eigene Parameter aus _fischt (siehe letzte Folge) dann ist das Objekt im-mer noch der erste Parameter Deshalb koumlnnteman schreiben

method datei_schreiben YAMLDumpFile( $self-gtdatei y$self-gtnotizen )

oder

method datei_schreiben my ($selbst) = _YAMLDumpFile( $selbst-gtdatei y $selbst-gtnotizen )

zufuege_notiz bewege_notiz und loesche_notiz brauchen deshalb nicht geaumlndertwerden nur aus sub muss method wer-den Normalerweise wird der Akzessor wie$selbst-gtnotizen() angewendet Aberda hier splice mit vier Parametern verwendetwird aumlndert das auch den Inhalt des Attributesnotizen

In aendere_notiz wird ein Arrayelement wiefolgt geaumlndert

$selbst-gtnotizen -gt[$index] = $text

Manche moumlgen uumlberlegen die Notizen immeram Ende in die Datei zu schreiben Dann lieszligesich der Aufruf von datei_schreiben im Haupt-programm sparen (Kein Code kann keine Fehlerbeinhalten) Dazu muss nur der Inhalt oder einAufruf in die Methode

method DEMOLISH

die immer am Ende der Lebensdauer einesMoose-Objektes aufgerufen wird Da sich aberdie Bedienung sicher noch aumlndern wird sollteder Vermerk daruumlber wann gespeichert wird imHauptprogramm bleiben (bdquovorzeitige Optimierun-gen rdquo)

SignaturenEine der lautesten und berechtigsten Kritikpunk-te an Perl ist das Fehlen von Signaturen Si-cher ist jede Art der Parameteruumlbergabe an Rou-tinen mit _ moumlglich doch steht auf den eigenenFahnen dass es mehr als einen Weg gibt Da-her sollte auch der den Java Python amp Co ge-hen und der fuumlr tausende Programmierer der ge-wohnte und natuumlrliche ist moumlglich sein Die Re-de ist von der Definition der Parameter in rundenKlammern nach dem Namen der Routine Werdie Aumlnderungen der letzen Perlversionen auf-merksam verfolgte merkt dass Vorbereitungenin diese Richtung getroffen werden Wer jedoch

volle Signaturen sofort haben will der nehmeein Modul wie signatures SubSignaturesoder MooseX-Method-Signatures Letzteres istin MooseXDeclare enthalten Angewandt wirdaus

method valider_index my ($selbst $index) = _return 0 if $index = int $indexreturn 1 if $index gt= 0 and y$index lt= $selbst-gtletzter_index

Folgendes

method valider_index (Num $index) return 1 if $index gt= 0 and y$index lt= $self -gt letzter_index

Denn spaumltestens an dieser Stelle muss $selfverwendet werden Dafuumlr wacht Moose dasswirklich Zahlen uumlbergeben werden und erstelltsofort gleichnamige lokale Variablen was dieMethoden weiter verkuumlrzt Ein vorangehenderDoppelpunkt in der Signatur ermoumlglicht sogar be-nannte Parameter (wie bei new) und ein nachge-stelltes Fragezeichen stimmt Moose sehr gnaumldigwenn dieser Parameter fehlt (er ist dann optio-nal) Notwendige Parameter (wie mit required=gt 1 verlangt) haumltten ein Ausrufezeichen an derStelle Positionale Parameter sind von Haus ausnotwendig und benannte optional ndash alles wie inPerl 6 In Signaturen lassen sich auch Datenty-pen selbsterdachte Subtypen und Defaultwerteangeben

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 9

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 5: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PROGRAMMIERUNG

Perl-Tutorium ndash Teil 7 Objekte der neuen Schule von Herbert Breunung

D ie objekt-orientierte ProgrammierungOOP (siehe aktuelle freiesMagazin-Serie) war in den letzten Jahren eines

der bereicherndsten Themen fuumlr Perl Nach-dem im letzten Teil gezeigt wurde wie bisherObjekte gestrickt wurden wird jetzt der Zu-gang zu den neuen Wegen geoumlffnet die weitmehr beinhalten als man von Perl gewohntwar

Hefte rausDoch zuerst soll die Hausaufgabe verglichen wer-den Die Methode zufuege_notiz sollte um 3Zeilen verlaumlngert sowie deren Anbindung an-gepasst werden Neben dem richtigen Umgangmit splice kam es vor allem darauf an zu ver-stehen dass die Hilfsmethode valider_indexin diesem Fall unbrauchbar ist Die neue Nach-richt darf ja auch an die hinterste bisher nichtexistierende Position Dahinter verbirgt sich einsehr haumlufiges grundsaumltzliches Problem Dasrichtige Fingerspitzengefuumlhl ob man besservalider_index erweitert oder eine zusaumltzlicheMethode schreibt macht bdquoechterdquo Programmiereraus In diesem Fall kopierte der Autor die ent-scheidende Zeile aus valider_index und pass-te sie an Auch wenn das scheinbar gegen dasheilige DRY-Gesetz verstoumlszligt und ein Predigerdes sauberen Codes empfehlen wuumlrde etwasneues zu schreiben statt nur eine Zeile sichwiederholen zu lassen waren andere Gruumlndeausschlaggebend Erstens ist das Projekt noch

sehr jung und bdquovorzeitige Optimierungen sind derGrundstein allen Uumlbelsrdquo wie ein anderer oft wie-derholter Vers berichtet Zum anderen ist es nichtsinnvoll fuumlr einen absehbar einmaligen Spezial-fall eine weitere Routine zu schreiben

sub zufuege_notiz my ($selbst $text $index) = _$index = $selbst-gtletzter_index +y1 unless defined $indexreturn 1 unless $index gt= 0 and y$index lt= $selbst-gtletzter_index y+ 1splice($selbst -gtnotizen y$index 0 $text)return 0

Hinter der dritten Zeile verbirgt sich eine weiterewichtige Uumlberlegung Wenn kein index als zwei-ter Parameter angegeben wird erscheint die No-tiz an letzter Position Das entspricht dem bis-herigen Verhalten und alle alten Aufrufe dieserFunktion funktionieren weiterhin Mindestens ge-nauso wichtig ist aber auch dass man so beimAufruf der Funktion die Anzahl der Notizen nichtkennen muss Es ist ja der Sinn eines Objektesdie Innereien zu verbergen Das verhindert auchdass die Programmteile wie ein Wollknaumluel zu-sammenhaumlngen und Aumlnderungen immer schwe-rer werden Optional koumlnnte man auch -1 fuumlrden letzten Index angeben Viele Perlbefehlewie substr und splice erlauben negative Indi-

zes bei denen von hinten statt von vorne ge-zaumlhlt wird -2 waumlre dann die vorletzte Positionund so weiter Um das nachzuahmen braumluchtezufuege_notiz statt der alten vierten Zeile

return 1 if abs($index) gt $selbsty-gtletzter_index + 1$index = $selbst-gtletzter_index + 2y- $index if $index lt 0

abs liefert den absoluten Wert einer Zahl (laumlsstdas Vorzeichen weg) Wer gnaumldiger gestimmtist kann auch bei nicht existierenden Positionenstatt 1 zuruumlckzugeben und die (noch nicht existie-rende) Hilfe anzuzeigen ebenfalls die letzte Po-sition anwaumlhlen Um die Zeilen ein wenig abzu-kuumlrzen und verstaumlndlicher zu machen wird noch$selbst-gtletzter_index + 1 in eine Variableverpackt Die Routine sieht dann endlich so aus

sub zufuege_notiz my ($selbst $text $index) = _my $letzte_pos = $selbst-gtyletzter_index + 1$index = $letzte_pos unless ydefined $indexreturn 1 if abs($index) gt y$letzte_pos$index = $letzte_pos + 2 - $indexyif $index lt 0splice($selbst -gtnotizen y$index 0 $text)return 0

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 5

PROGRAMMIERUNG

Auf der anderen Seite des Aufrufes wurde aus

when ($kommandoneu) continue if $daten-gtzufuege_notizy($notiz)

folgendes

when ($kommandoneu) my($vor_dp $nach_dp) = split ysubstr($notiz 1)my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtzufuege_notizy($notiz $pos)

Wer mag kann 3 Zeilen zu einer schrumpfen las-sen

($pos $notiz) = ($vor_dp y$nach_dp) if defined $nach_dp

$pos muss vorher angemeldet werden sonstduumlrfte es nicht im letzten Aufruf verwendet wer-den (use strict ist aktiv) Da (wie in den Tei-len 1 bis 4 erlaumlutert) im Falle einer simplen Ein-gabe (notiztext) $pos undef bleibt ist es fuumlrzufuege_notiz als bekaumlme sie keinen Parame-ter index

Das alles wuumlrde eine sehr gute Loumlsung ergebenaber mittlerweile hat fast jede when-Klausel fast

die gleiche Zeile mit split Deshalb wurde esnach oben bewegt

given ( substr($notiz 0 1) ) my($vor_dp $nach_dp) = split(ysubstr($notiz 1) 2)when ($kommandoneu) my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtyzufuege_notiz($notiz $pos)

Dadurch konnten die naumlchsten zwei Klauseln umdie verschobene Zeile gekuumlrzt werden

when ($kommandoaendere)continue if length($notiz) lt 4continue if $daten-gtaendere_notizy($nach_dp $vor_dp)

when ($kommandobewege) continue if length($notiz) lt 4continue if $daten-gtbewege_notiz(y$vor_dp $nach_dp)

Die neue Einheitlichkeit macht den Code zusaumltz-lich verstaumlndlicher Auszligerdem wurde split zu-letzt noch ein dritter Parameter gegeben Er be-stimmt dass nur in 2 Teile zerlegt wird Wenndie Notiz naumlmlich auch einen Doppelpunkt ent-

haumllt teilt split in drei Teile Dann geht der hinte-re Teil der Nachricht verloren da ihn keine Varia-ble speichert Mit dem Limit bekommt $nach_dpdie gesamte Notiz selbst wenn sie Doppelpunk-te enthaumllt

Diese Loumlsung (bnpl) ist sicherlich noch nichtastrein und endguumlltig aber fuumlr den derzeitigenStand genau genug

Jetzt kommt der ElchNun endlich zur angekuumlndigten Objektorientie-rung Dafuumlr ist diese Folge bestimmt zu kurzdenn Moose (englisch fuumlr Elch) verdient ein ei-genes zehnteiliges Tutorial (Ein kleines deut-sches Tutorial ist gerade erschienen [1]) Moosefuumlhrt nebenbei noch Datentypen erstellbare Sub-typen Delegation Teilklassen (roles) Wrappingund sehr viel mehr ein Durch Ergaumlnzungen ausdem kreativen MooseX-Oumlkosystem erhaumllt mansogar echte Signaturen und neue passendeSchluumlsselworte (Das bdquoXrdquo am Ende steht fuumlr Mo-dule die ohne Ruumlcksprache mit den Autoren vonMoose ins CPAN geladen werden)

Wie kam Stevan Little dazu solch eine umfangrei-che Spracherweiterung aufzubauen Die meis-ten anderen Objektsysteme im CPAN erleichterngerade einmal das Schreiben der new-Methodeund die Erzeugung von Attributen (autogenerier-te gettersetter) Wie so oft steckt dahinter Lar-ry Wall Mit dem immer noch nicht vollendetenEntwurf der Schwestersprache bdquoPerl 6rdquo legte erein Objektsystem vor wie es sich viele auch fuumlrPerl 5 wuumlnschen Nur leider ist vieles von seiner

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 6

PROGRAMMIERUNG

Maumlchtigkeit an Funktionalitaumlt gekoppelt die Perl5 ebenfalls nicht besitzt Somit konnte hier nichtwie sonst uumlblich ein einzelnes Feature in ein Mo-dul verpackt werden dessen Name mit Perl6beginnt damit auch Perl 5-Benutzer in dessenGenuss kommen

Stevan schuf mit ClassMOP erst einmal einan Common Lisp angelehntes Metaobjektsys-tem mit dem sich jeder sein eigenes Objektsys-tem gestalten koumlnnte Das rief natuumlrlich die Spiel-kinder auf dem Plan und nach einiger Zeit flos-sen verlockend aussehende Moumlglichkeiten ausSmalltalk Java BETA OCaml Ruby und ande-ren Sprachen in Moose ein Uumlberhaupt zeichnetMoose eine hohe Beteiligung auf allen Ebenenaus Viele wichtige Projekte setzen es ein undes wird sogar auf perlorg [2] und enlightened-perlorg [3] als Standardweg empfohlen Ab Perl516 weist es auch die Kerndokumentation als lo-benswerte Alternative aus [4] Es ist auszligerdemgeplant nach 516 (erschien letzten Monat) ei-ne kleine Auswahl aus Moose in den Sprachkernaufzunehmen Stevan Little arbeitet bereits dar-an

Der Erfolg von Moose kam auch daher dassseine Objekte voll kompatibel sind was fuumlr vie-le andere Objektsysteme nicht zutrifft Alleswas in der letzten Folge geschrieben wurde(bis aus die Syntax zur Erzeugung von Objek-ten) gilt hier auch Moose-Klassen vererben ih-re Schaumltze an alte Klassen wie bereits bekanntund ebenso koumlnnen Moose-Klassen mithilfe vonMooseXNonMoose alte Klassen beerben

Wer das CPAN kennt der weiszlig auch dass eingroszliges und erfolgreiches Modul sehr schnellNachahmer findet welche es beschleunigen undauf das Wesentliche reduzieren wollen Mouseist eine fast vollstaumlndig kompatible Alternativeohne ClassMOP die erheblich schneller star-tet Moo ist nicht kompatibel sondern nur aumlhn-lich und auf das reduziert was die 40 ande-ren Objektsysteme auch bieten Nur ist es sehrschnell hat keine Abhaumlngigkeiten und an MooseGewoumlhnte muumlssen kaum umlernen In diesemTutorialteil wird jedoch nur ein Ersatz fuumlr die Da-tenpm entwickelt der Moose benutzt

Objekte deklarativGenau gesagt wird MooseXDeclare [5] be-nutzt welches die beliebtesten Erweiterungengleich mit laumldt Moose orientiert sich naumlmlich sehrkonservativ an den Schreib- und Verhaltenswei-sen von Perl 5 da es fuumlr den professionellen Ge-brauch getrimmt ist Mit MooseXDeclare heiszligtdie Klasse class die Methode method und nichtpackage und sub wie sonst in Perl 5 Es spartauch wiederkehrende Phrasen wie

my $self = shift

sowie das

__PACKAGE__ -gtmeta-gtmake_immutable

mit dem die Klasse verspricht sich zur Lauf-zeit nicht mehr aumlndern zu wollen und dafuumlr anGeschwindigkeit gewinnt Die Unterschiede sindnoch wesentlich tiefgreifender aber das waren

(mit den hinzukommenden Signaturen) die Gruumln-de dieses Module zu waumlhlen um Moose von sei-ner elegantesten Seite zu zeigen

Da Moose-Klassen so andersartig geschriebenwerden sollte das Modul ganz neu aufgezogenwerden Dabei bekommt nur die Datei aber nichtdie Klasse einen neuen Namen damit eine klei-ne Aumlnderung in Zeile 5 einen einfachen Wechselerlaubt use (wie im Teil 5 beschrieben) befiehlt jaim wesentlichen nur eine bestimmte Datei zu la-den Die enthaltene Klasse oder das enthalteneModul hat zwar in den meisten Faumlllen den glei-chen Namen aber das ist freiwillig Das Grund-geruumlst der MDatenpm ist also

use v512use MooseXDeclareuse YAML

class Daten

Den Namensraum der Klasse in geschweifteKlammern zu legen ist fuumlr Perl-5-Programmiererungewohnt Aber auch in diesem Detail versuchtMooseXDeclare so weit es geht sich Perl 6anzunaumlhern Bemerkenswert ist zudem dass dienotorische 1 in der letzten Zeile des Modulsweggelassen werden darf was aber auch mitMoose funktioniert haumltte

Der wichtigste Befehl den Moose einfuumlhrt ist hasEs ist das Schluumlsselwort mit dem auch in Perl 6Attribute angemeldet werden Und da seine Ak-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 7

PROGRAMMIERUNG

zessoren (Getter und Setter) normale Methodensind in denen sich all die Magie verbirgt die hiernoch bestaunt wird kann Moose auch kompatibelmit den alten Klassen sein

AttributeDas erste Attribut der Klasse ist der Name der zuladenden Datei in der alle Notizen gespeichertsind Ihm werden bereits in der Definition Eigen-schaften gegeben uumlber deren Einhaltung Moosewachen wird

has datei =gt (isa =gt Valueis =gt rorequired =gt 1trigger =gt sub my $datei = shift-gtdateidie Datei $datei nicht ylesbar unless -r $datei

)

Zuerst einmal ist das Attribut datei vom TypValue Das bedeutet dass leere Werte oderauch Referenzen als Inhalte nicht akzeptiert wer-den und zur Laufzeit einen harten Fehler (mit Pro-grammabbruch) ergeben Ein praktische Uumlber-sicht zu allen Moose-Datentypen und mehr hatder Spickzettel von Oliver Gorwits [6] ro steht fuumlrreadonly denn der Inhalt von datei soll nur ein-mal beim Erzeugen des Objektes gesetzt und niewieder veraumlndert werden Wird er nicht angege-ben gibt das auch einen Error da required =gt1 dieses Verhalten festlegt Wenn es keinen Da-

teinamen gibt braucht das Programm auch nichtzu starten Wo sollen denn dann die Notizen ge-speichert werden

Es sollte auszligerdem gepruumlft werden ob die be-sagte Datei anwesend ist Dies uumlbernimmt derletzte Eintrag da die durch trigger bestimmteRoutine immer ausgefuumlhrt wird wenn sich der In-halt von datei veraumlndert Die Routine bekommtdas Objekt als Parameter wie jede andere Me-thode auch Vom Objekt interessiert aber nur dasAttribut datei Dieses wird mit dem in Folge 2erklaumlrten Dateitestoperator fuumlr die Lesbarkeit derDatei (-r) uumlberpruumlft und bei Fehlschlag mit Feh-lermeldung abgebrochen Da das Attribut auto-matisch angelegt wird gibt es keine Methode neumehr Die neue Erzeugung des Objektes lautetdaher

my $daten = Daten-gtnew( datei =gt ynotizblockyml )

Um noch mit der alten Klasse kompatibel zu blei-ben koumlnnte man die Parameter in geschweifteKlammern legen

my $daten = Daten-gtnew( datei =gt ynotizblockyml)

Moose kann mit dieser verbreiteten Schreib-weise gut umgehen nur die Methode in derDatenpm muss angepasst werden Denn dieMethode muss jetzt new heiszligen und bekommt ih-re Parameter mit Namen in einem Hash

sub new

my ($klasse $param) = _my $selbst = bless ( $klasse)y$selbst-gtdatei_lesen( $param -gtydatei ) if defined $param -gtydatei$selbst -gtnotizen = [] unless yexists $selbst -gtnotizenreturn $selbst

Um solche Codebloumlcke nebst allen Pruumlfungender eingehenden Daten nicht mehr schreiben zumuumlssen wurde Moose entwickelt

Das andere derzeit benoumltigte Attribut ist die Listeder Notizen

has notizen =gt (isa =gt ArrayRef[Value]is =gt rwlazy =gt 1default =gt sub [ YAMLLoadFiley( shift-gtdatei ) ]

)

Sie muss ein Array aus echten Werten sein dieauch schreibbar sein sollten (rw steht wie aufRohlingspackungen fuumlr read and write ndash lesenund schreiben) lazy (faul) sagt aus dass derAnfangswert erst dann erzeugt wird wenn dieerste Leseanfrage an das Attribut kommt Unddefault zeigt auf eine Codereferenz welcheden Anfangswert ermittelt Da LoadFile einenArray liefert aber notizen als ArrayRef[Value](Referenz auf einen Array aus Werten) definiert

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 8

PROGRAMMIERUNG

ist mussten eckige Klammern drumherum wel-che die gewuumlnschte Referenz anlegen Auf die-se Art ist sicher gestellt dass der Dateiname be-kannt ist wenn die Datei geladen wird

MethodenDie Methoden anzupassen geht relativ einfachMan muss nur auf $self aufpassen Diese vonMooseXDeclare automatisch angelegte Varia-ble beinhaltet die Referenz auf das Objekt Aberwenn die Methoden eigene Parameter aus _fischt (siehe letzte Folge) dann ist das Objekt im-mer noch der erste Parameter Deshalb koumlnnteman schreiben

method datei_schreiben YAMLDumpFile( $self-gtdatei y$self-gtnotizen )

oder

method datei_schreiben my ($selbst) = _YAMLDumpFile( $selbst-gtdatei y $selbst-gtnotizen )

zufuege_notiz bewege_notiz und loesche_notiz brauchen deshalb nicht geaumlndertwerden nur aus sub muss method wer-den Normalerweise wird der Akzessor wie$selbst-gtnotizen() angewendet Aberda hier splice mit vier Parametern verwendetwird aumlndert das auch den Inhalt des Attributesnotizen

In aendere_notiz wird ein Arrayelement wiefolgt geaumlndert

$selbst-gtnotizen -gt[$index] = $text

Manche moumlgen uumlberlegen die Notizen immeram Ende in die Datei zu schreiben Dann lieszligesich der Aufruf von datei_schreiben im Haupt-programm sparen (Kein Code kann keine Fehlerbeinhalten) Dazu muss nur der Inhalt oder einAufruf in die Methode

method DEMOLISH

die immer am Ende der Lebensdauer einesMoose-Objektes aufgerufen wird Da sich aberdie Bedienung sicher noch aumlndern wird sollteder Vermerk daruumlber wann gespeichert wird imHauptprogramm bleiben (bdquovorzeitige Optimierun-gen rdquo)

SignaturenEine der lautesten und berechtigsten Kritikpunk-te an Perl ist das Fehlen von Signaturen Si-cher ist jede Art der Parameteruumlbergabe an Rou-tinen mit _ moumlglich doch steht auf den eigenenFahnen dass es mehr als einen Weg gibt Da-her sollte auch der den Java Python amp Co ge-hen und der fuumlr tausende Programmierer der ge-wohnte und natuumlrliche ist moumlglich sein Die Re-de ist von der Definition der Parameter in rundenKlammern nach dem Namen der Routine Werdie Aumlnderungen der letzen Perlversionen auf-merksam verfolgte merkt dass Vorbereitungenin diese Richtung getroffen werden Wer jedoch

volle Signaturen sofort haben will der nehmeein Modul wie signatures SubSignaturesoder MooseX-Method-Signatures Letzteres istin MooseXDeclare enthalten Angewandt wirdaus

method valider_index my ($selbst $index) = _return 0 if $index = int $indexreturn 1 if $index gt= 0 and y$index lt= $selbst-gtletzter_index

Folgendes

method valider_index (Num $index) return 1 if $index gt= 0 and y$index lt= $self -gt letzter_index

Denn spaumltestens an dieser Stelle muss $selfverwendet werden Dafuumlr wacht Moose dasswirklich Zahlen uumlbergeben werden und erstelltsofort gleichnamige lokale Variablen was dieMethoden weiter verkuumlrzt Ein vorangehenderDoppelpunkt in der Signatur ermoumlglicht sogar be-nannte Parameter (wie bei new) und ein nachge-stelltes Fragezeichen stimmt Moose sehr gnaumldigwenn dieser Parameter fehlt (er ist dann optio-nal) Notwendige Parameter (wie mit required=gt 1 verlangt) haumltten ein Ausrufezeichen an derStelle Positionale Parameter sind von Haus ausnotwendig und benannte optional ndash alles wie inPerl 6 In Signaturen lassen sich auch Datenty-pen selbsterdachte Subtypen und Defaultwerteangeben

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 9

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 6: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PROGRAMMIERUNG

Auf der anderen Seite des Aufrufes wurde aus

when ($kommandoneu) continue if $daten-gtzufuege_notizy($notiz)

folgendes

when ($kommandoneu) my($vor_dp $nach_dp) = split ysubstr($notiz 1)my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtzufuege_notizy($notiz $pos)

Wer mag kann 3 Zeilen zu einer schrumpfen las-sen

($pos $notiz) = ($vor_dp y$nach_dp) if defined $nach_dp

$pos muss vorher angemeldet werden sonstduumlrfte es nicht im letzten Aufruf verwendet wer-den (use strict ist aktiv) Da (wie in den Tei-len 1 bis 4 erlaumlutert) im Falle einer simplen Ein-gabe (notiztext) $pos undef bleibt ist es fuumlrzufuege_notiz als bekaumlme sie keinen Parame-ter index

Das alles wuumlrde eine sehr gute Loumlsung ergebenaber mittlerweile hat fast jede when-Klausel fast

die gleiche Zeile mit split Deshalb wurde esnach oben bewegt

given ( substr($notiz 0 1) ) my($vor_dp $nach_dp) = split(ysubstr($notiz 1) 2)when ($kommandoneu) my $posif (defined $nach_dp) $notiz = $nach_dp$pos = $vor_dp

continue if $daten-gtyzufuege_notiz($notiz $pos)

Dadurch konnten die naumlchsten zwei Klauseln umdie verschobene Zeile gekuumlrzt werden

when ($kommandoaendere)continue if length($notiz) lt 4continue if $daten-gtaendere_notizy($nach_dp $vor_dp)

when ($kommandobewege) continue if length($notiz) lt 4continue if $daten-gtbewege_notiz(y$vor_dp $nach_dp)

Die neue Einheitlichkeit macht den Code zusaumltz-lich verstaumlndlicher Auszligerdem wurde split zu-letzt noch ein dritter Parameter gegeben Er be-stimmt dass nur in 2 Teile zerlegt wird Wenndie Notiz naumlmlich auch einen Doppelpunkt ent-

haumllt teilt split in drei Teile Dann geht der hinte-re Teil der Nachricht verloren da ihn keine Varia-ble speichert Mit dem Limit bekommt $nach_dpdie gesamte Notiz selbst wenn sie Doppelpunk-te enthaumllt

Diese Loumlsung (bnpl) ist sicherlich noch nichtastrein und endguumlltig aber fuumlr den derzeitigenStand genau genug

Jetzt kommt der ElchNun endlich zur angekuumlndigten Objektorientie-rung Dafuumlr ist diese Folge bestimmt zu kurzdenn Moose (englisch fuumlr Elch) verdient ein ei-genes zehnteiliges Tutorial (Ein kleines deut-sches Tutorial ist gerade erschienen [1]) Moosefuumlhrt nebenbei noch Datentypen erstellbare Sub-typen Delegation Teilklassen (roles) Wrappingund sehr viel mehr ein Durch Ergaumlnzungen ausdem kreativen MooseX-Oumlkosystem erhaumllt mansogar echte Signaturen und neue passendeSchluumlsselworte (Das bdquoXrdquo am Ende steht fuumlr Mo-dule die ohne Ruumlcksprache mit den Autoren vonMoose ins CPAN geladen werden)

Wie kam Stevan Little dazu solch eine umfangrei-che Spracherweiterung aufzubauen Die meis-ten anderen Objektsysteme im CPAN erleichterngerade einmal das Schreiben der new-Methodeund die Erzeugung von Attributen (autogenerier-te gettersetter) Wie so oft steckt dahinter Lar-ry Wall Mit dem immer noch nicht vollendetenEntwurf der Schwestersprache bdquoPerl 6rdquo legte erein Objektsystem vor wie es sich viele auch fuumlrPerl 5 wuumlnschen Nur leider ist vieles von seiner

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 6

PROGRAMMIERUNG

Maumlchtigkeit an Funktionalitaumlt gekoppelt die Perl5 ebenfalls nicht besitzt Somit konnte hier nichtwie sonst uumlblich ein einzelnes Feature in ein Mo-dul verpackt werden dessen Name mit Perl6beginnt damit auch Perl 5-Benutzer in dessenGenuss kommen

Stevan schuf mit ClassMOP erst einmal einan Common Lisp angelehntes Metaobjektsys-tem mit dem sich jeder sein eigenes Objektsys-tem gestalten koumlnnte Das rief natuumlrlich die Spiel-kinder auf dem Plan und nach einiger Zeit flos-sen verlockend aussehende Moumlglichkeiten ausSmalltalk Java BETA OCaml Ruby und ande-ren Sprachen in Moose ein Uumlberhaupt zeichnetMoose eine hohe Beteiligung auf allen Ebenenaus Viele wichtige Projekte setzen es ein undes wird sogar auf perlorg [2] und enlightened-perlorg [3] als Standardweg empfohlen Ab Perl516 weist es auch die Kerndokumentation als lo-benswerte Alternative aus [4] Es ist auszligerdemgeplant nach 516 (erschien letzten Monat) ei-ne kleine Auswahl aus Moose in den Sprachkernaufzunehmen Stevan Little arbeitet bereits dar-an

Der Erfolg von Moose kam auch daher dassseine Objekte voll kompatibel sind was fuumlr vie-le andere Objektsysteme nicht zutrifft Alleswas in der letzten Folge geschrieben wurde(bis aus die Syntax zur Erzeugung von Objek-ten) gilt hier auch Moose-Klassen vererben ih-re Schaumltze an alte Klassen wie bereits bekanntund ebenso koumlnnen Moose-Klassen mithilfe vonMooseXNonMoose alte Klassen beerben

Wer das CPAN kennt der weiszlig auch dass eingroszliges und erfolgreiches Modul sehr schnellNachahmer findet welche es beschleunigen undauf das Wesentliche reduzieren wollen Mouseist eine fast vollstaumlndig kompatible Alternativeohne ClassMOP die erheblich schneller star-tet Moo ist nicht kompatibel sondern nur aumlhn-lich und auf das reduziert was die 40 ande-ren Objektsysteme auch bieten Nur ist es sehrschnell hat keine Abhaumlngigkeiten und an MooseGewoumlhnte muumlssen kaum umlernen In diesemTutorialteil wird jedoch nur ein Ersatz fuumlr die Da-tenpm entwickelt der Moose benutzt

Objekte deklarativGenau gesagt wird MooseXDeclare [5] be-nutzt welches die beliebtesten Erweiterungengleich mit laumldt Moose orientiert sich naumlmlich sehrkonservativ an den Schreib- und Verhaltenswei-sen von Perl 5 da es fuumlr den professionellen Ge-brauch getrimmt ist Mit MooseXDeclare heiszligtdie Klasse class die Methode method und nichtpackage und sub wie sonst in Perl 5 Es spartauch wiederkehrende Phrasen wie

my $self = shift

sowie das

__PACKAGE__ -gtmeta-gtmake_immutable

mit dem die Klasse verspricht sich zur Lauf-zeit nicht mehr aumlndern zu wollen und dafuumlr anGeschwindigkeit gewinnt Die Unterschiede sindnoch wesentlich tiefgreifender aber das waren

(mit den hinzukommenden Signaturen) die Gruumln-de dieses Module zu waumlhlen um Moose von sei-ner elegantesten Seite zu zeigen

Da Moose-Klassen so andersartig geschriebenwerden sollte das Modul ganz neu aufgezogenwerden Dabei bekommt nur die Datei aber nichtdie Klasse einen neuen Namen damit eine klei-ne Aumlnderung in Zeile 5 einen einfachen Wechselerlaubt use (wie im Teil 5 beschrieben) befiehlt jaim wesentlichen nur eine bestimmte Datei zu la-den Die enthaltene Klasse oder das enthalteneModul hat zwar in den meisten Faumlllen den glei-chen Namen aber das ist freiwillig Das Grund-geruumlst der MDatenpm ist also

use v512use MooseXDeclareuse YAML

class Daten

Den Namensraum der Klasse in geschweifteKlammern zu legen ist fuumlr Perl-5-Programmiererungewohnt Aber auch in diesem Detail versuchtMooseXDeclare so weit es geht sich Perl 6anzunaumlhern Bemerkenswert ist zudem dass dienotorische 1 in der letzten Zeile des Modulsweggelassen werden darf was aber auch mitMoose funktioniert haumltte

Der wichtigste Befehl den Moose einfuumlhrt ist hasEs ist das Schluumlsselwort mit dem auch in Perl 6Attribute angemeldet werden Und da seine Ak-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 7

PROGRAMMIERUNG

zessoren (Getter und Setter) normale Methodensind in denen sich all die Magie verbirgt die hiernoch bestaunt wird kann Moose auch kompatibelmit den alten Klassen sein

AttributeDas erste Attribut der Klasse ist der Name der zuladenden Datei in der alle Notizen gespeichertsind Ihm werden bereits in der Definition Eigen-schaften gegeben uumlber deren Einhaltung Moosewachen wird

has datei =gt (isa =gt Valueis =gt rorequired =gt 1trigger =gt sub my $datei = shift-gtdateidie Datei $datei nicht ylesbar unless -r $datei

)

Zuerst einmal ist das Attribut datei vom TypValue Das bedeutet dass leere Werte oderauch Referenzen als Inhalte nicht akzeptiert wer-den und zur Laufzeit einen harten Fehler (mit Pro-grammabbruch) ergeben Ein praktische Uumlber-sicht zu allen Moose-Datentypen und mehr hatder Spickzettel von Oliver Gorwits [6] ro steht fuumlrreadonly denn der Inhalt von datei soll nur ein-mal beim Erzeugen des Objektes gesetzt und niewieder veraumlndert werden Wird er nicht angege-ben gibt das auch einen Error da required =gt1 dieses Verhalten festlegt Wenn es keinen Da-

teinamen gibt braucht das Programm auch nichtzu starten Wo sollen denn dann die Notizen ge-speichert werden

Es sollte auszligerdem gepruumlft werden ob die be-sagte Datei anwesend ist Dies uumlbernimmt derletzte Eintrag da die durch trigger bestimmteRoutine immer ausgefuumlhrt wird wenn sich der In-halt von datei veraumlndert Die Routine bekommtdas Objekt als Parameter wie jede andere Me-thode auch Vom Objekt interessiert aber nur dasAttribut datei Dieses wird mit dem in Folge 2erklaumlrten Dateitestoperator fuumlr die Lesbarkeit derDatei (-r) uumlberpruumlft und bei Fehlschlag mit Feh-lermeldung abgebrochen Da das Attribut auto-matisch angelegt wird gibt es keine Methode neumehr Die neue Erzeugung des Objektes lautetdaher

my $daten = Daten-gtnew( datei =gt ynotizblockyml )

Um noch mit der alten Klasse kompatibel zu blei-ben koumlnnte man die Parameter in geschweifteKlammern legen

my $daten = Daten-gtnew( datei =gt ynotizblockyml)

Moose kann mit dieser verbreiteten Schreib-weise gut umgehen nur die Methode in derDatenpm muss angepasst werden Denn dieMethode muss jetzt new heiszligen und bekommt ih-re Parameter mit Namen in einem Hash

sub new

my ($klasse $param) = _my $selbst = bless ( $klasse)y$selbst-gtdatei_lesen( $param -gtydatei ) if defined $param -gtydatei$selbst -gtnotizen = [] unless yexists $selbst -gtnotizenreturn $selbst

Um solche Codebloumlcke nebst allen Pruumlfungender eingehenden Daten nicht mehr schreiben zumuumlssen wurde Moose entwickelt

Das andere derzeit benoumltigte Attribut ist die Listeder Notizen

has notizen =gt (isa =gt ArrayRef[Value]is =gt rwlazy =gt 1default =gt sub [ YAMLLoadFiley( shift-gtdatei ) ]

)

Sie muss ein Array aus echten Werten sein dieauch schreibbar sein sollten (rw steht wie aufRohlingspackungen fuumlr read and write ndash lesenund schreiben) lazy (faul) sagt aus dass derAnfangswert erst dann erzeugt wird wenn dieerste Leseanfrage an das Attribut kommt Unddefault zeigt auf eine Codereferenz welcheden Anfangswert ermittelt Da LoadFile einenArray liefert aber notizen als ArrayRef[Value](Referenz auf einen Array aus Werten) definiert

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 8

PROGRAMMIERUNG

ist mussten eckige Klammern drumherum wel-che die gewuumlnschte Referenz anlegen Auf die-se Art ist sicher gestellt dass der Dateiname be-kannt ist wenn die Datei geladen wird

MethodenDie Methoden anzupassen geht relativ einfachMan muss nur auf $self aufpassen Diese vonMooseXDeclare automatisch angelegte Varia-ble beinhaltet die Referenz auf das Objekt Aberwenn die Methoden eigene Parameter aus _fischt (siehe letzte Folge) dann ist das Objekt im-mer noch der erste Parameter Deshalb koumlnnteman schreiben

method datei_schreiben YAMLDumpFile( $self-gtdatei y$self-gtnotizen )

oder

method datei_schreiben my ($selbst) = _YAMLDumpFile( $selbst-gtdatei y $selbst-gtnotizen )

zufuege_notiz bewege_notiz und loesche_notiz brauchen deshalb nicht geaumlndertwerden nur aus sub muss method wer-den Normalerweise wird der Akzessor wie$selbst-gtnotizen() angewendet Aberda hier splice mit vier Parametern verwendetwird aumlndert das auch den Inhalt des Attributesnotizen

In aendere_notiz wird ein Arrayelement wiefolgt geaumlndert

$selbst-gtnotizen -gt[$index] = $text

Manche moumlgen uumlberlegen die Notizen immeram Ende in die Datei zu schreiben Dann lieszligesich der Aufruf von datei_schreiben im Haupt-programm sparen (Kein Code kann keine Fehlerbeinhalten) Dazu muss nur der Inhalt oder einAufruf in die Methode

method DEMOLISH

die immer am Ende der Lebensdauer einesMoose-Objektes aufgerufen wird Da sich aberdie Bedienung sicher noch aumlndern wird sollteder Vermerk daruumlber wann gespeichert wird imHauptprogramm bleiben (bdquovorzeitige Optimierun-gen rdquo)

SignaturenEine der lautesten und berechtigsten Kritikpunk-te an Perl ist das Fehlen von Signaturen Si-cher ist jede Art der Parameteruumlbergabe an Rou-tinen mit _ moumlglich doch steht auf den eigenenFahnen dass es mehr als einen Weg gibt Da-her sollte auch der den Java Python amp Co ge-hen und der fuumlr tausende Programmierer der ge-wohnte und natuumlrliche ist moumlglich sein Die Re-de ist von der Definition der Parameter in rundenKlammern nach dem Namen der Routine Werdie Aumlnderungen der letzen Perlversionen auf-merksam verfolgte merkt dass Vorbereitungenin diese Richtung getroffen werden Wer jedoch

volle Signaturen sofort haben will der nehmeein Modul wie signatures SubSignaturesoder MooseX-Method-Signatures Letzteres istin MooseXDeclare enthalten Angewandt wirdaus

method valider_index my ($selbst $index) = _return 0 if $index = int $indexreturn 1 if $index gt= 0 and y$index lt= $selbst-gtletzter_index

Folgendes

method valider_index (Num $index) return 1 if $index gt= 0 and y$index lt= $self -gt letzter_index

Denn spaumltestens an dieser Stelle muss $selfverwendet werden Dafuumlr wacht Moose dasswirklich Zahlen uumlbergeben werden und erstelltsofort gleichnamige lokale Variablen was dieMethoden weiter verkuumlrzt Ein vorangehenderDoppelpunkt in der Signatur ermoumlglicht sogar be-nannte Parameter (wie bei new) und ein nachge-stelltes Fragezeichen stimmt Moose sehr gnaumldigwenn dieser Parameter fehlt (er ist dann optio-nal) Notwendige Parameter (wie mit required=gt 1 verlangt) haumltten ein Ausrufezeichen an derStelle Positionale Parameter sind von Haus ausnotwendig und benannte optional ndash alles wie inPerl 6 In Signaturen lassen sich auch Datenty-pen selbsterdachte Subtypen und Defaultwerteangeben

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 9

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 7: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PROGRAMMIERUNG

Maumlchtigkeit an Funktionalitaumlt gekoppelt die Perl5 ebenfalls nicht besitzt Somit konnte hier nichtwie sonst uumlblich ein einzelnes Feature in ein Mo-dul verpackt werden dessen Name mit Perl6beginnt damit auch Perl 5-Benutzer in dessenGenuss kommen

Stevan schuf mit ClassMOP erst einmal einan Common Lisp angelehntes Metaobjektsys-tem mit dem sich jeder sein eigenes Objektsys-tem gestalten koumlnnte Das rief natuumlrlich die Spiel-kinder auf dem Plan und nach einiger Zeit flos-sen verlockend aussehende Moumlglichkeiten ausSmalltalk Java BETA OCaml Ruby und ande-ren Sprachen in Moose ein Uumlberhaupt zeichnetMoose eine hohe Beteiligung auf allen Ebenenaus Viele wichtige Projekte setzen es ein undes wird sogar auf perlorg [2] und enlightened-perlorg [3] als Standardweg empfohlen Ab Perl516 weist es auch die Kerndokumentation als lo-benswerte Alternative aus [4] Es ist auszligerdemgeplant nach 516 (erschien letzten Monat) ei-ne kleine Auswahl aus Moose in den Sprachkernaufzunehmen Stevan Little arbeitet bereits dar-an

Der Erfolg von Moose kam auch daher dassseine Objekte voll kompatibel sind was fuumlr vie-le andere Objektsysteme nicht zutrifft Alleswas in der letzten Folge geschrieben wurde(bis aus die Syntax zur Erzeugung von Objek-ten) gilt hier auch Moose-Klassen vererben ih-re Schaumltze an alte Klassen wie bereits bekanntund ebenso koumlnnen Moose-Klassen mithilfe vonMooseXNonMoose alte Klassen beerben

Wer das CPAN kennt der weiszlig auch dass eingroszliges und erfolgreiches Modul sehr schnellNachahmer findet welche es beschleunigen undauf das Wesentliche reduzieren wollen Mouseist eine fast vollstaumlndig kompatible Alternativeohne ClassMOP die erheblich schneller star-tet Moo ist nicht kompatibel sondern nur aumlhn-lich und auf das reduziert was die 40 ande-ren Objektsysteme auch bieten Nur ist es sehrschnell hat keine Abhaumlngigkeiten und an MooseGewoumlhnte muumlssen kaum umlernen In diesemTutorialteil wird jedoch nur ein Ersatz fuumlr die Da-tenpm entwickelt der Moose benutzt

Objekte deklarativGenau gesagt wird MooseXDeclare [5] be-nutzt welches die beliebtesten Erweiterungengleich mit laumldt Moose orientiert sich naumlmlich sehrkonservativ an den Schreib- und Verhaltenswei-sen von Perl 5 da es fuumlr den professionellen Ge-brauch getrimmt ist Mit MooseXDeclare heiszligtdie Klasse class die Methode method und nichtpackage und sub wie sonst in Perl 5 Es spartauch wiederkehrende Phrasen wie

my $self = shift

sowie das

__PACKAGE__ -gtmeta-gtmake_immutable

mit dem die Klasse verspricht sich zur Lauf-zeit nicht mehr aumlndern zu wollen und dafuumlr anGeschwindigkeit gewinnt Die Unterschiede sindnoch wesentlich tiefgreifender aber das waren

(mit den hinzukommenden Signaturen) die Gruumln-de dieses Module zu waumlhlen um Moose von sei-ner elegantesten Seite zu zeigen

Da Moose-Klassen so andersartig geschriebenwerden sollte das Modul ganz neu aufgezogenwerden Dabei bekommt nur die Datei aber nichtdie Klasse einen neuen Namen damit eine klei-ne Aumlnderung in Zeile 5 einen einfachen Wechselerlaubt use (wie im Teil 5 beschrieben) befiehlt jaim wesentlichen nur eine bestimmte Datei zu la-den Die enthaltene Klasse oder das enthalteneModul hat zwar in den meisten Faumlllen den glei-chen Namen aber das ist freiwillig Das Grund-geruumlst der MDatenpm ist also

use v512use MooseXDeclareuse YAML

class Daten

Den Namensraum der Klasse in geschweifteKlammern zu legen ist fuumlr Perl-5-Programmiererungewohnt Aber auch in diesem Detail versuchtMooseXDeclare so weit es geht sich Perl 6anzunaumlhern Bemerkenswert ist zudem dass dienotorische 1 in der letzten Zeile des Modulsweggelassen werden darf was aber auch mitMoose funktioniert haumltte

Der wichtigste Befehl den Moose einfuumlhrt ist hasEs ist das Schluumlsselwort mit dem auch in Perl 6Attribute angemeldet werden Und da seine Ak-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 7

PROGRAMMIERUNG

zessoren (Getter und Setter) normale Methodensind in denen sich all die Magie verbirgt die hiernoch bestaunt wird kann Moose auch kompatibelmit den alten Klassen sein

AttributeDas erste Attribut der Klasse ist der Name der zuladenden Datei in der alle Notizen gespeichertsind Ihm werden bereits in der Definition Eigen-schaften gegeben uumlber deren Einhaltung Moosewachen wird

has datei =gt (isa =gt Valueis =gt rorequired =gt 1trigger =gt sub my $datei = shift-gtdateidie Datei $datei nicht ylesbar unless -r $datei

)

Zuerst einmal ist das Attribut datei vom TypValue Das bedeutet dass leere Werte oderauch Referenzen als Inhalte nicht akzeptiert wer-den und zur Laufzeit einen harten Fehler (mit Pro-grammabbruch) ergeben Ein praktische Uumlber-sicht zu allen Moose-Datentypen und mehr hatder Spickzettel von Oliver Gorwits [6] ro steht fuumlrreadonly denn der Inhalt von datei soll nur ein-mal beim Erzeugen des Objektes gesetzt und niewieder veraumlndert werden Wird er nicht angege-ben gibt das auch einen Error da required =gt1 dieses Verhalten festlegt Wenn es keinen Da-

teinamen gibt braucht das Programm auch nichtzu starten Wo sollen denn dann die Notizen ge-speichert werden

Es sollte auszligerdem gepruumlft werden ob die be-sagte Datei anwesend ist Dies uumlbernimmt derletzte Eintrag da die durch trigger bestimmteRoutine immer ausgefuumlhrt wird wenn sich der In-halt von datei veraumlndert Die Routine bekommtdas Objekt als Parameter wie jede andere Me-thode auch Vom Objekt interessiert aber nur dasAttribut datei Dieses wird mit dem in Folge 2erklaumlrten Dateitestoperator fuumlr die Lesbarkeit derDatei (-r) uumlberpruumlft und bei Fehlschlag mit Feh-lermeldung abgebrochen Da das Attribut auto-matisch angelegt wird gibt es keine Methode neumehr Die neue Erzeugung des Objektes lautetdaher

my $daten = Daten-gtnew( datei =gt ynotizblockyml )

Um noch mit der alten Klasse kompatibel zu blei-ben koumlnnte man die Parameter in geschweifteKlammern legen

my $daten = Daten-gtnew( datei =gt ynotizblockyml)

Moose kann mit dieser verbreiteten Schreib-weise gut umgehen nur die Methode in derDatenpm muss angepasst werden Denn dieMethode muss jetzt new heiszligen und bekommt ih-re Parameter mit Namen in einem Hash

sub new

my ($klasse $param) = _my $selbst = bless ( $klasse)y$selbst-gtdatei_lesen( $param -gtydatei ) if defined $param -gtydatei$selbst -gtnotizen = [] unless yexists $selbst -gtnotizenreturn $selbst

Um solche Codebloumlcke nebst allen Pruumlfungender eingehenden Daten nicht mehr schreiben zumuumlssen wurde Moose entwickelt

Das andere derzeit benoumltigte Attribut ist die Listeder Notizen

has notizen =gt (isa =gt ArrayRef[Value]is =gt rwlazy =gt 1default =gt sub [ YAMLLoadFiley( shift-gtdatei ) ]

)

Sie muss ein Array aus echten Werten sein dieauch schreibbar sein sollten (rw steht wie aufRohlingspackungen fuumlr read and write ndash lesenund schreiben) lazy (faul) sagt aus dass derAnfangswert erst dann erzeugt wird wenn dieerste Leseanfrage an das Attribut kommt Unddefault zeigt auf eine Codereferenz welcheden Anfangswert ermittelt Da LoadFile einenArray liefert aber notizen als ArrayRef[Value](Referenz auf einen Array aus Werten) definiert

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 8

PROGRAMMIERUNG

ist mussten eckige Klammern drumherum wel-che die gewuumlnschte Referenz anlegen Auf die-se Art ist sicher gestellt dass der Dateiname be-kannt ist wenn die Datei geladen wird

MethodenDie Methoden anzupassen geht relativ einfachMan muss nur auf $self aufpassen Diese vonMooseXDeclare automatisch angelegte Varia-ble beinhaltet die Referenz auf das Objekt Aberwenn die Methoden eigene Parameter aus _fischt (siehe letzte Folge) dann ist das Objekt im-mer noch der erste Parameter Deshalb koumlnnteman schreiben

method datei_schreiben YAMLDumpFile( $self-gtdatei y$self-gtnotizen )

oder

method datei_schreiben my ($selbst) = _YAMLDumpFile( $selbst-gtdatei y $selbst-gtnotizen )

zufuege_notiz bewege_notiz und loesche_notiz brauchen deshalb nicht geaumlndertwerden nur aus sub muss method wer-den Normalerweise wird der Akzessor wie$selbst-gtnotizen() angewendet Aberda hier splice mit vier Parametern verwendetwird aumlndert das auch den Inhalt des Attributesnotizen

In aendere_notiz wird ein Arrayelement wiefolgt geaumlndert

$selbst-gtnotizen -gt[$index] = $text

Manche moumlgen uumlberlegen die Notizen immeram Ende in die Datei zu schreiben Dann lieszligesich der Aufruf von datei_schreiben im Haupt-programm sparen (Kein Code kann keine Fehlerbeinhalten) Dazu muss nur der Inhalt oder einAufruf in die Methode

method DEMOLISH

die immer am Ende der Lebensdauer einesMoose-Objektes aufgerufen wird Da sich aberdie Bedienung sicher noch aumlndern wird sollteder Vermerk daruumlber wann gespeichert wird imHauptprogramm bleiben (bdquovorzeitige Optimierun-gen rdquo)

SignaturenEine der lautesten und berechtigsten Kritikpunk-te an Perl ist das Fehlen von Signaturen Si-cher ist jede Art der Parameteruumlbergabe an Rou-tinen mit _ moumlglich doch steht auf den eigenenFahnen dass es mehr als einen Weg gibt Da-her sollte auch der den Java Python amp Co ge-hen und der fuumlr tausende Programmierer der ge-wohnte und natuumlrliche ist moumlglich sein Die Re-de ist von der Definition der Parameter in rundenKlammern nach dem Namen der Routine Werdie Aumlnderungen der letzen Perlversionen auf-merksam verfolgte merkt dass Vorbereitungenin diese Richtung getroffen werden Wer jedoch

volle Signaturen sofort haben will der nehmeein Modul wie signatures SubSignaturesoder MooseX-Method-Signatures Letzteres istin MooseXDeclare enthalten Angewandt wirdaus

method valider_index my ($selbst $index) = _return 0 if $index = int $indexreturn 1 if $index gt= 0 and y$index lt= $selbst-gtletzter_index

Folgendes

method valider_index (Num $index) return 1 if $index gt= 0 and y$index lt= $self -gt letzter_index

Denn spaumltestens an dieser Stelle muss $selfverwendet werden Dafuumlr wacht Moose dasswirklich Zahlen uumlbergeben werden und erstelltsofort gleichnamige lokale Variablen was dieMethoden weiter verkuumlrzt Ein vorangehenderDoppelpunkt in der Signatur ermoumlglicht sogar be-nannte Parameter (wie bei new) und ein nachge-stelltes Fragezeichen stimmt Moose sehr gnaumldigwenn dieser Parameter fehlt (er ist dann optio-nal) Notwendige Parameter (wie mit required=gt 1 verlangt) haumltten ein Ausrufezeichen an derStelle Positionale Parameter sind von Haus ausnotwendig und benannte optional ndash alles wie inPerl 6 In Signaturen lassen sich auch Datenty-pen selbsterdachte Subtypen und Defaultwerteangeben

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 9

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 8: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PROGRAMMIERUNG

zessoren (Getter und Setter) normale Methodensind in denen sich all die Magie verbirgt die hiernoch bestaunt wird kann Moose auch kompatibelmit den alten Klassen sein

AttributeDas erste Attribut der Klasse ist der Name der zuladenden Datei in der alle Notizen gespeichertsind Ihm werden bereits in der Definition Eigen-schaften gegeben uumlber deren Einhaltung Moosewachen wird

has datei =gt (isa =gt Valueis =gt rorequired =gt 1trigger =gt sub my $datei = shift-gtdateidie Datei $datei nicht ylesbar unless -r $datei

)

Zuerst einmal ist das Attribut datei vom TypValue Das bedeutet dass leere Werte oderauch Referenzen als Inhalte nicht akzeptiert wer-den und zur Laufzeit einen harten Fehler (mit Pro-grammabbruch) ergeben Ein praktische Uumlber-sicht zu allen Moose-Datentypen und mehr hatder Spickzettel von Oliver Gorwits [6] ro steht fuumlrreadonly denn der Inhalt von datei soll nur ein-mal beim Erzeugen des Objektes gesetzt und niewieder veraumlndert werden Wird er nicht angege-ben gibt das auch einen Error da required =gt1 dieses Verhalten festlegt Wenn es keinen Da-

teinamen gibt braucht das Programm auch nichtzu starten Wo sollen denn dann die Notizen ge-speichert werden

Es sollte auszligerdem gepruumlft werden ob die be-sagte Datei anwesend ist Dies uumlbernimmt derletzte Eintrag da die durch trigger bestimmteRoutine immer ausgefuumlhrt wird wenn sich der In-halt von datei veraumlndert Die Routine bekommtdas Objekt als Parameter wie jede andere Me-thode auch Vom Objekt interessiert aber nur dasAttribut datei Dieses wird mit dem in Folge 2erklaumlrten Dateitestoperator fuumlr die Lesbarkeit derDatei (-r) uumlberpruumlft und bei Fehlschlag mit Feh-lermeldung abgebrochen Da das Attribut auto-matisch angelegt wird gibt es keine Methode neumehr Die neue Erzeugung des Objektes lautetdaher

my $daten = Daten-gtnew( datei =gt ynotizblockyml )

Um noch mit der alten Klasse kompatibel zu blei-ben koumlnnte man die Parameter in geschweifteKlammern legen

my $daten = Daten-gtnew( datei =gt ynotizblockyml)

Moose kann mit dieser verbreiteten Schreib-weise gut umgehen nur die Methode in derDatenpm muss angepasst werden Denn dieMethode muss jetzt new heiszligen und bekommt ih-re Parameter mit Namen in einem Hash

sub new

my ($klasse $param) = _my $selbst = bless ( $klasse)y$selbst-gtdatei_lesen( $param -gtydatei ) if defined $param -gtydatei$selbst -gtnotizen = [] unless yexists $selbst -gtnotizenreturn $selbst

Um solche Codebloumlcke nebst allen Pruumlfungender eingehenden Daten nicht mehr schreiben zumuumlssen wurde Moose entwickelt

Das andere derzeit benoumltigte Attribut ist die Listeder Notizen

has notizen =gt (isa =gt ArrayRef[Value]is =gt rwlazy =gt 1default =gt sub [ YAMLLoadFiley( shift-gtdatei ) ]

)

Sie muss ein Array aus echten Werten sein dieauch schreibbar sein sollten (rw steht wie aufRohlingspackungen fuumlr read and write ndash lesenund schreiben) lazy (faul) sagt aus dass derAnfangswert erst dann erzeugt wird wenn dieerste Leseanfrage an das Attribut kommt Unddefault zeigt auf eine Codereferenz welcheden Anfangswert ermittelt Da LoadFile einenArray liefert aber notizen als ArrayRef[Value](Referenz auf einen Array aus Werten) definiert

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 8

PROGRAMMIERUNG

ist mussten eckige Klammern drumherum wel-che die gewuumlnschte Referenz anlegen Auf die-se Art ist sicher gestellt dass der Dateiname be-kannt ist wenn die Datei geladen wird

MethodenDie Methoden anzupassen geht relativ einfachMan muss nur auf $self aufpassen Diese vonMooseXDeclare automatisch angelegte Varia-ble beinhaltet die Referenz auf das Objekt Aberwenn die Methoden eigene Parameter aus _fischt (siehe letzte Folge) dann ist das Objekt im-mer noch der erste Parameter Deshalb koumlnnteman schreiben

method datei_schreiben YAMLDumpFile( $self-gtdatei y$self-gtnotizen )

oder

method datei_schreiben my ($selbst) = _YAMLDumpFile( $selbst-gtdatei y $selbst-gtnotizen )

zufuege_notiz bewege_notiz und loesche_notiz brauchen deshalb nicht geaumlndertwerden nur aus sub muss method wer-den Normalerweise wird der Akzessor wie$selbst-gtnotizen() angewendet Aberda hier splice mit vier Parametern verwendetwird aumlndert das auch den Inhalt des Attributesnotizen

In aendere_notiz wird ein Arrayelement wiefolgt geaumlndert

$selbst-gtnotizen -gt[$index] = $text

Manche moumlgen uumlberlegen die Notizen immeram Ende in die Datei zu schreiben Dann lieszligesich der Aufruf von datei_schreiben im Haupt-programm sparen (Kein Code kann keine Fehlerbeinhalten) Dazu muss nur der Inhalt oder einAufruf in die Methode

method DEMOLISH

die immer am Ende der Lebensdauer einesMoose-Objektes aufgerufen wird Da sich aberdie Bedienung sicher noch aumlndern wird sollteder Vermerk daruumlber wann gespeichert wird imHauptprogramm bleiben (bdquovorzeitige Optimierun-gen rdquo)

SignaturenEine der lautesten und berechtigsten Kritikpunk-te an Perl ist das Fehlen von Signaturen Si-cher ist jede Art der Parameteruumlbergabe an Rou-tinen mit _ moumlglich doch steht auf den eigenenFahnen dass es mehr als einen Weg gibt Da-her sollte auch der den Java Python amp Co ge-hen und der fuumlr tausende Programmierer der ge-wohnte und natuumlrliche ist moumlglich sein Die Re-de ist von der Definition der Parameter in rundenKlammern nach dem Namen der Routine Werdie Aumlnderungen der letzen Perlversionen auf-merksam verfolgte merkt dass Vorbereitungenin diese Richtung getroffen werden Wer jedoch

volle Signaturen sofort haben will der nehmeein Modul wie signatures SubSignaturesoder MooseX-Method-Signatures Letzteres istin MooseXDeclare enthalten Angewandt wirdaus

method valider_index my ($selbst $index) = _return 0 if $index = int $indexreturn 1 if $index gt= 0 and y$index lt= $selbst-gtletzter_index

Folgendes

method valider_index (Num $index) return 1 if $index gt= 0 and y$index lt= $self -gt letzter_index

Denn spaumltestens an dieser Stelle muss $selfverwendet werden Dafuumlr wacht Moose dasswirklich Zahlen uumlbergeben werden und erstelltsofort gleichnamige lokale Variablen was dieMethoden weiter verkuumlrzt Ein vorangehenderDoppelpunkt in der Signatur ermoumlglicht sogar be-nannte Parameter (wie bei new) und ein nachge-stelltes Fragezeichen stimmt Moose sehr gnaumldigwenn dieser Parameter fehlt (er ist dann optio-nal) Notwendige Parameter (wie mit required=gt 1 verlangt) haumltten ein Ausrufezeichen an derStelle Positionale Parameter sind von Haus ausnotwendig und benannte optional ndash alles wie inPerl 6 In Signaturen lassen sich auch Datenty-pen selbsterdachte Subtypen und Defaultwerteangeben

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 9

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 9: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PROGRAMMIERUNG

ist mussten eckige Klammern drumherum wel-che die gewuumlnschte Referenz anlegen Auf die-se Art ist sicher gestellt dass der Dateiname be-kannt ist wenn die Datei geladen wird

MethodenDie Methoden anzupassen geht relativ einfachMan muss nur auf $self aufpassen Diese vonMooseXDeclare automatisch angelegte Varia-ble beinhaltet die Referenz auf das Objekt Aberwenn die Methoden eigene Parameter aus _fischt (siehe letzte Folge) dann ist das Objekt im-mer noch der erste Parameter Deshalb koumlnnteman schreiben

method datei_schreiben YAMLDumpFile( $self-gtdatei y$self-gtnotizen )

oder

method datei_schreiben my ($selbst) = _YAMLDumpFile( $selbst-gtdatei y $selbst-gtnotizen )

zufuege_notiz bewege_notiz und loesche_notiz brauchen deshalb nicht geaumlndertwerden nur aus sub muss method wer-den Normalerweise wird der Akzessor wie$selbst-gtnotizen() angewendet Aberda hier splice mit vier Parametern verwendetwird aumlndert das auch den Inhalt des Attributesnotizen

In aendere_notiz wird ein Arrayelement wiefolgt geaumlndert

$selbst-gtnotizen -gt[$index] = $text

Manche moumlgen uumlberlegen die Notizen immeram Ende in die Datei zu schreiben Dann lieszligesich der Aufruf von datei_schreiben im Haupt-programm sparen (Kein Code kann keine Fehlerbeinhalten) Dazu muss nur der Inhalt oder einAufruf in die Methode

method DEMOLISH

die immer am Ende der Lebensdauer einesMoose-Objektes aufgerufen wird Da sich aberdie Bedienung sicher noch aumlndern wird sollteder Vermerk daruumlber wann gespeichert wird imHauptprogramm bleiben (bdquovorzeitige Optimierun-gen rdquo)

SignaturenEine der lautesten und berechtigsten Kritikpunk-te an Perl ist das Fehlen von Signaturen Si-cher ist jede Art der Parameteruumlbergabe an Rou-tinen mit _ moumlglich doch steht auf den eigenenFahnen dass es mehr als einen Weg gibt Da-her sollte auch der den Java Python amp Co ge-hen und der fuumlr tausende Programmierer der ge-wohnte und natuumlrliche ist moumlglich sein Die Re-de ist von der Definition der Parameter in rundenKlammern nach dem Namen der Routine Werdie Aumlnderungen der letzen Perlversionen auf-merksam verfolgte merkt dass Vorbereitungenin diese Richtung getroffen werden Wer jedoch

volle Signaturen sofort haben will der nehmeein Modul wie signatures SubSignaturesoder MooseX-Method-Signatures Letzteres istin MooseXDeclare enthalten Angewandt wirdaus

method valider_index my ($selbst $index) = _return 0 if $index = int $indexreturn 1 if $index gt= 0 and y$index lt= $selbst-gtletzter_index

Folgendes

method valider_index (Num $index) return 1 if $index gt= 0 and y$index lt= $self -gt letzter_index

Denn spaumltestens an dieser Stelle muss $selfverwendet werden Dafuumlr wacht Moose dasswirklich Zahlen uumlbergeben werden und erstelltsofort gleichnamige lokale Variablen was dieMethoden weiter verkuumlrzt Ein vorangehenderDoppelpunkt in der Signatur ermoumlglicht sogar be-nannte Parameter (wie bei new) und ein nachge-stelltes Fragezeichen stimmt Moose sehr gnaumldigwenn dieser Parameter fehlt (er ist dann optio-nal) Notwendige Parameter (wie mit required=gt 1 verlangt) haumltten ein Ausrufezeichen an derStelle Positionale Parameter sind von Haus ausnotwendig und benannte optional ndash alles wie inPerl 6 In Signaturen lassen sich auch Datenty-pen selbsterdachte Subtypen und Defaultwerteangeben

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 9

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 10: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PROGRAMMIERUNG

method beispiel (Str $name = Max yMustermann Int $alter where y$_ gt 0 )

Da MooseXDeclare MooseUtilTypeConstraints ebenfalls laumldt koumlnnte man damit eineneigenen Subtypen von Int anlegen welchernur guumlltige Listenpositionen umfasst So koumlnnteMoose auch den Auftrag bekommen aufzupas-sen dass nur guumlltige Indizes gewaumlhlt werdenstatt dafuumlr wiederholt etwas in die Methoden zuschreiben Da dies einen Methodenaufruf in derSubdefinition verlangt wuumlrde das aber uumlber denhiesigen Rahmen gehen Als kleines Beispiel sollein Typ fuumlr gerade Zahlen genuumlgen der seine ei-gene Fehlermeldung mitbringt

subtype Gerade=gt as Int=gt where $_ 2 == 0=gt message $_ ist ungerade y

AbschlussDiese bisher nicht beachtete Methode kann alsuumlberfluumlssig angesehen werden

method numerische_reihenfolge y$self-gtnotizen

Andere Sortierreihenfolgen sind jedoch geplantund werden erscheinen wenn Perls Alleskoumln-ner in Zeitfragen (das Modul DateTime) im uumlber-naumlchsten Teil vorgestellt wird Hausaufgabe solleine optionale alphabetische sortierte Anzeigeder Notizen sein Da in dieser Folge die Grenzen

von split und substr sichtbar wurden sollenbeim naumlchsten Mal erste einfach regulaumlre Aus-druumlcke eingesetzt werden Die vollstaumlndigen Da-teien des aktuellen Standes sind beigefuumlgt Eswurde auch der Text verbessert mit dem nachEingabe des Kommandos gefragt wird

LINKS

[1] httpwwwheisededeveloperartikelMoose-Eine-post-moderne-OOP-Erweiterung-fuer-Perl-1584651html

[2] httpwwwperlorgaboutwhitepapersperl-object-orientedhtml

[3] httpwwwenlightenedperlorgprojectshtml[4] httpmetacpanorgmoduleperlootut[5] httpmetacpanorgmoduleMooseXDeclare[6] httpgorwitsmeukdatafilesmoose-quick-ref

pdf

Autoreninformation

Herbert Breunung (Webseite) istseit sieben Jahren mit AntwortenVortraumlgen Wiki- und Zeitungsartikelnin der Perl-Gemeinschaft aktiv Diesbegann mit dem von ihm entworfenenEditor Kephra den er leidenschaftlichgerne pflegt Daneben beschaumlftigt ersich hauptsaumlchlich mit wxPerl undPerl 6

Diesen Artikel kommentieren

bdquoRecyclingldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom885

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 10

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 11: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MULTIMEDIA

Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD von Stephan Theelke

D urch die vielfaumlltigen Moumlglichkeitenfast immer und uumlberall Videos erstel-len zu koumlnnen kommt man irgend-

wann an den Punkt dass man sie nicht nurauf der Festplatte schmoren lassen sondernauch Freunden und Bekannten praumlsentierenmoumlchte Nur muss vielleicht nicht jedes Detaileiner Party zusehen sein Als Linux-Nutzer istman dabei bei Kdenlive [1] an der richtigenAdresse

Ein anderes Beispiel ist die Rettung von altenprivaten Videokassetten Sind sie erst einmalauf dem PC ist es ganz einfach sie aufzufri-schen zu schneiden oder auch zusammenzu-fassen Das heiszligt fehlerhafte oder langatmigeStellen koumlnnen herausgeschnitten oder gekuumlrztwerden Farb- und Tonkorrekturen sind natuumlrlichebenfalls moumlglich

Dieser Artikel stellt das Programm Kdenlive inden Grundzuumlgen vor und will ein erstes Interes-se an Videobearbeitung unter Linux wecken

Allgemeine InformationenDie Entwicklung des freien Videoeditors geht bisauf das Jahr 2002 zuruumlck Zehn Jahre spaumlter er-schien im Mai 2012 die Version 092 Ziel derEntwickler ist auszligerdem zum Ende des Jahres2012 die erste 10er Version veroumlffentlichen zukoumlnnen

Die Installation des Programms laumlsst sich be-quem uumlber die Paketverwaltung durchfuumlhren

Rendereinstellungen

Wie der Name andeutet ist dasProgramm auf den KDE-Desktopzugeschnitten und seit letztemJahr auch Bestandteil der KDESC was unter anderem bedeu-tet dass Uumlbersetzungen zentralverwaltet werden Somit ist Kden-live fuumlr alle Distributionen dieKDE unterstuumltzen verfuumlgbar

Auszligerdem gibt es Pakete fuumlrFreeBSD und den Mac Ein-schraumlnkend muss man dazu sa-gen dass es die Mac-Paketenicht nativ gibt sondern dass sienur fuumlr MacPorts [2] zur Verfuuml-gung stehen

Unterstuumltzte FormateKdenlive unterstuumltzt viele be-kannte Formate Es ist moumlg-lich von Videokameras Filmeauf den Rechner zu importie-ren da Kdenlive mit den gaumln-gigen Camcorder-Formaten zu-sammenarbeitet Im Speziellensind das MiniDV HDV und AV-CHD wobei letzteres noch experimentell ist Da-neben beherrscht es aktuelle Video- Audio- undBildformate Man kann unter anderem Flash-Videos ohne sie umzuwandeln bearbeiten oderdie angesammelten Handyvideos endlich an-sprechend praumlsentieren

Wenn der Film fertiggestellt ist stellt sich die Fra-ge ob man ihn z B ins Internet stellen oder aufDVD festhalten will Zum Gluumlck bringt Kdenliveauch dafuumlr alles Erforderliche mit In den Einstel-lungen zum Rendern findet man sehr viele pas-sende Profile die das Leben in dieser Beziehung

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 11

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 12: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MULTIMEDIA

stark vereinfachen und trotzdem ein hervorragen-des Ergebnis zu Tage foumlrdern

Wem die gebotene Auswahl nicht ausreicht derkann sich daruumlber hinaus ganz einfach ein eige-nes Render-Profil anlegen

Unterstuumltzte Formate (Auswahl)Video flv mpeg avi mp4 und movAudio mp3 vorbis wav ogg und ac3Bild gif png jpeg xcf und svg

Benoumltigte HardwareSoll die Bearbeitung und spaumlter das Rendernnicht Ewigkeiten in Anspruch nehmen ist die nouml-tige Hardware gerade bei hochaufloumlsenden Auf-nahmen in HD gefragt

Empfohlen wird fuumlr den normalen Nutzer ein PCab Baujahr 2006 Das entspricht einem Rechnermit Single oder Dual Core Fuumlr die Filme wirdfreier Festplattenplatz von mindestens 20 GBbenoumltigt auszligerdem ein Firewire-Anschluss fuumlrdie Aufnahme von einem Camcorder Zudemsollten mindestens 1 GB RAM an Arbeitsspei-cher verbaut sein und auf dem Schreibtisch einBildschirm mit einer Aufloumlsung von mindestens1024x768 Pixel stehen

Fortgeschrittene und Semi-Profis sollten sichaber damit nicht zufrieden geben Sie sind mit ei-ner Maschine die einen Vierkern-Prozessor undmindestens 4 GB RAM enthaumllt besser beratenAuch ist eine Grafikkarte die zwei Bildschirmeunterstuumltzt von groszligem Vorteil da alle Fens-ter in Kdenlive abgedockt und beliebig auf dem

Xine ist nicht installiert

Desktop arrangiert werden koumlnnen Zuletzt wirdfuumlr einen vernuumlnftigen Datendurchsatz ein Fest-plattenaufbau im RAID5-Verbund [3] nahegelegt

ProgrammstartBeim ersten Start von Kdenlive oumlffnet sich derKonfigurationsassistent in dem man die Grund-einstellungen vornimmt Dort werden zuerst dieinstallierten Module und Codecs die zum Ar-beiten mit den Audio- und Videodateien benouml-tigt werden gepruumlft Ggf muss etwas nachinstal-liert werden was im Assistenten durch ein rotesKreuz angezeigt wird

Als naumlchstes kann man das Videoprofil fuumlr dasProjekt auswaumlhlen Die Einstellung des Profilssollte immer mit der Aufloumlsung der Bildwieder-holfrequenz und dem Seitenverhaumlltnis des zu be-arbeiteten Videomaterials uumlbereinstimmen Einegenauere Erklaumlrung kann man dazu im Kdenlive-Forum [4] finden Danach folgt die Auswahl desStandardordners fuumlr die Projekte und anschlie-szligend wird uumlberpruumlft ob eine Webcam vorhan-den ist Zum Schluss folgt die Abfrage ob die be-noumltigten Zusatzprogramme zum Beispiel fuumlr das

Einige der moumlglichen Videoprofile

Importieren des Films uumlber Firewire oder die Auf-nahme des Desktops installiert sind

Das Abbrechen des Assistenten stellt auch keinProblem dar da man ihn jederzeit uumlber denMenuumlpunkt bdquoEinstellungenldquo erreicht

Aufbau der ProgrammoberflaumlcheDer Aufbau von Kdenlive gestaltet sich denkbareinfach und gliedert sich grob in vier Teile

Im Projektbereich werden alle Dateien also Fil-me Bilder und Musik verwaltet

Die Effektebene beherbergt alles um die Projekt-daten bild- und tontechnisch zu bearbeiten an-gefangen bei Helligkeits- und Farbkorrekturen bishin zur Tongestaltung und Entzerrung von Tonfre-quenzen

Daneben gibt es mehrere Monitore Zum einenkann im Aufnahmemonitor das Uumlberspielen aufden Rechner vom Camcorder oder von der Web-cam gestartet werden Im Clip-Monitor werdendagegen die Rohdateien aus dem Projektbereich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 12

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 13: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MULTIMEDIA

Gesamtuumlbersicht von Kdenlive

angezeigt Um die Bearbeitung zu visualisierenwird der Projektmonitor benoumltigt In ihm werdendie in den Audio- und Videospuren lagerndenDaten wiedergegeben

Somit bilden die Audio- und Videospuren denvierten Teil des Aufbaus Hier findet also dasSchneiden und Arrangieren zum fertigen Filmstatt

All dies wird in den naumlchstenAbschnitten ausfuumlhrlicher beschrie-ben

Der ProjektbereichIm Projektinhalt finden sich dieProjekt-Rohdaten wieder Durcheinen Klick auf den Filmstreifenoder durch Auswahl von bdquoDatei hin-zufuumlgenldquo im Kontextmenuuml koumlnnensie eingebunden werden

Die Vielzahl von unterstuumltzten For-maten hat den Vorteil dass dasaufwendige Umwandeln von Video-Audio- und Bilddateien entfaumlllt

Neben den Rohdaten werden imProjektinhalt auch Clips fuumlr den Vor-und Abspann aufgelistet Kommenweitere Clips oder Generatoren hin-zu kann leicht die Uumlbersicht verlo-ren gehen bevor die eigentliche Ar-beit begonnen hat Kdenlive bietetnatuumlrlich auch hier Abhilfe

Uumlber das Kontextmenuuml kann manOrdner zum Projektinhalt hinzufuuml-gen Dadurch werden die Projekt-daten strukturiert zugleich sind sieeinfacher zu handhaben

Zum Schluss ist noch die Register-karte bdquoProjektnotizenldquo zu erwaumlhnen Durch siebleibt der Uumlberblick selbst dann erhalten wennlaumlngere Zeit nicht an einem Film gearbeitet wur-de

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 13

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 14: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MULTIMEDIA

Der Bereich mit den Video- und AudiospurenAus dem nun uumlbersichtlich gestalteten Projektin-halt kann man per Drag amp Drop die Dateien aufdie Spuren ziehen und arrangieren Zur besserenUnterteilung gibt es Audio- und Videospuren de-ren Anzahl beliebig angepasst werden kann DieGrundeinstellung von drei Video- und zwei Audio-spuren reicht aber in den meisten Faumlllen aus

Oberhalb der Spuren befindet sich die Zeitleis-te Sie zeigt die Laumlnge des Films einmal in Zeit-einheit oder in der Anzahl der Bilder (Frames)an Ihre Zoomstufe ist mittels des Schiebers inder Statusleiste veraumlnderbar Zoomstufe 13 istdie houmlchste mit ihr ist ein genaues Bild-fuumlr-Bild-Bearbeiten moumlglich 0 ist die niedrigste Zoomstu-fe und ermoumlglicht je nach Laumlnge des Films einenGesamtuumlberblick

Die Standardvideospuren

An der linken Seite befinden sich die Koumlpfe derSpuren Hier koumlnnen sie entweder umbenanntoder fuumlr die Bearbeitung gesperrt werden Dane-ben besteht die Option sie stumm zu schaltenund zu verbergen

Jetzt folgen ein paar grundlegende Moumlglichkeitender Bearbeitung

Zum Kuumlrzen eines Videos reicht es mit der Mausan das Ende oder den Anfang eines Clips zu fah-ren Dort erscheint ein gruumlner blinkender Pfeilund der Mauszeiger aumlndert seine Form zu einemPfeil mit einem senkrechten Balken an der SpitzeJetzt einfach die Maustaste gedruumlckt halten undin die zu kuumlrzende Richtung ziehen

Des Weiteren kann man Clips teilen oder grup-pieren Zum Teilen wird das Scherensymbol

unterhalb der Spuren aus-gewaumlhlt und auf die zuteilende Stelle im Clipgeklickt Zum Verbindenwaumlhlt man zuerst die Clipsaus und klickt dann im Kon-textmenuuml auf bdquoClips grup-pierenldquo

Interessant ist zudem dieFunktion bdquoAudio teilenldquo dieman ebenfalls uumlber dasKontextmenuuml erreicht Mitdieser Funktion wird derAudioanteil von einem Vi-deo getrennt beide Teilesind somit separat editier-

bar Ein kleines Anwendungsbeispiel Es wurdeeine Rede aufgenommen Um sie visuell aufzu-peppen zeigt man Bilder eines anderen Clips(z B die Zuschauerraumlnge) Es ist also moumlglichTeile des Redeclips zu entfernen und mit ande-ren Szenen zu ersetzen Der Audioanteil bleibtso unveraumlndert und doch wird die Rede durch ab-wechslungsreiche Szenen aufgelockert

Der MonitorbereichWie eingangs erwaumlhnt bietet Kdenlive drei Moni-tore Der Aufnahmemonitor verwaltet das Uumlber-tragen (engl bdquoCaptureldquo) von angeschlossenenEndgeraumlten auf den Rechner Das kann zum Bei-spiel eine Webcam oder ein Camcorder sein DieBildschirmaufnahme wird auch angeboten dochdazu am Ende dieses Abschnittes mehr

Nun folgt die Vorgehensweise zum Capturen ei-nes Films von einem Camcorder Dazu mussder Camcorder per Firewire an den PC ange-schlossen und der Abspielmodus aktiviert wer-den Im Aufnahmemonitor wird per AuswahlmenuumlbdquoFirewireldquo eingestellt Uumlber die Knoumlpfe VerbindenVor- und Zuruumlckspulen StartStop und Aufnahmewird das Capturen verwaltet

Mit dem Schraubenschluumlsselsymbol gelangt manin die Aufnahme-Optionen in denen beispielswei-se das Aufnahmeformat oder das Verhalten beimSzenenwechsel veraumlndert werden kann Die auf-genommenen Daten werden im Standardordnerabgespeichert (Zur Erinnerung Dieser Ordnerwurde zu Beginn im Konfigurationsassistenteneingerichtet)

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 14

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 15: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MULTIMEDIA

Die Monitore

Ist die Hardware verbunden klickt man auf bdquoVer-bindenldquo Danach kann die Aufnahme gestartetund per Monitor verfolgt werden

Da in der Standardeinstellung ein aufgenomme-ner Clip sofort zum Projekt hinzugefuumlgt wirdkann gleich zur Kontrolle des Videomaterialsuumlbergegangen werden

Hierzu kommt der Clip-Monitor ins Spiel Mitihm koumlnnen alle Medien die im Projektinhaltvorhanden sind angesehen bzw angehoumlrt wer-den So ist es moumlglich die Aufnahme auf

Die Aufnahme einrichten

Uumlbertragungsfehler zu uumlberpruumlfen und man spartsich den Schritt Dateien zur reinen Vorauswahlin eine Spur ziehen zu muumlssen

Alles was auf den Spuren abgelegt ist wird naumlm-lich uumlber den Projektmonitor wiedergegeben DieAuswirkungen von Schnitten Effekten und Uumlber-gaumlngen werden daruumlber angezeigt Auch wie sichdie gewaumlhlte musikalische Untermalung zu einerSzene macht kann man so beurteilen

Bevor zum naumlchsten Teil uumlbergegangen wirdnoch ein paar Worte zur Bildschirmaufnahme

Kdenlive nutzt dazu das Modul bdquoRecordMy-Desktopldquo [5] Die letzte Version dieses Modulserschien 2008 Sollte die Aufnahme daher nichtdas gewuumlnschte Ergebnis bringen kann auf einProgramm zuruumlckgegriffen werden das unab-haumlngig von Kdenlive und RecordMyDesktop funk-tioniert

Besagtes Programm heiszligt Vokoscreen [6] Aufder Internetseite des Programms gibt es weiter-fuumlhrende Informationen und ein Demovideo undman kann es auch von dort herunterladen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 15

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 16: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MULTIMEDIA

Eine kleine Effekteauswahl

Der EffektebereichDer folgende Abschnitt ist wohl fuumlr die meistenLeser der interessanteste denn hier sind alleMoumlglichkeiten der Audio- und Videomanipulationzusammengefasst

Kdenlive bringt von Haus aus eine Vielzahl vonEffekten mit Auszligerdem ndash ein groszliger Vorteil vonOpen Source ndash kann jeder etwas zur Erweiterungund Verbesserung beitragen Wer das unter an-derem schon getan hat kann man in den Cre-dits nachschlagen Es geht aber auch wesentlichschneller Verweilt man mit der Maus uumlber einemEffekt erscheint im Pop-Up-Menuuml neben den Ef-fektinfos auch dessen Autor

Doch nun zum eigentlichen Thema dieses Ab-schnittes Einen Effekt zu nutzen ist sehr ein-fach Es reicht ihn per Drag und Drop aus derEffektliste auf einen Clip zu ziehen Damit wirdder Effekt auch nur auf diesen Clip angewen-det Soll aber aus einem Farbfilm nachtraumlglich einSchwarzweiszligfilm gemacht werden so muss mannicht erst alle Clips auswaumlhlen Wird der Effektauf den Spurkopf fallen gelassen gilt er fuumlr diegesamte Spur Dadurch erreicht man viel schnel-ler und einfacher dieses Ziel

Das Effektmagazin verwaltet die Effekte Je nach-dem ob ein Clip oder eine Spur ausgewaumlhlt wur-de erscheinen die enthaltenen Effekte Hier koumln-nen die Einstellungen nach Belieben angepasstEffekte gruppiert oder sogar exportiert werdenDie folgende Auswahl soll nur einen kleinen Uumlber-blick geben und ist bei Weitem nicht vollstaumlndig

Gruppierte Effekte

Beschneiden und Transformieren Bild beliebig drehbar mit und ohne Animation das Bild zuschneiden z B um den unteren

Bildteil wegzunehmen der bei alten Videosgerne beschaumldigt ist

Bewegung ein Standbild erzeugen veraumlndern der Abspielgeschwindigkeit Stroboskop-Effekt erzeugen

Blenden Ton ein- und ausblenden Bild schwarz ein- und ausblenden

Deformieren Bild ist unter anderem horizontal oder diagonal

spiegelbar horizontale oder vertikale Wellen einstellbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 16

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 17: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MULTIMEDIA

Audiokanaumlle Balance ist veraumlnderbar Mono in Stereo aumlndern Kanaumlle vertauschen

Spaszlig Bildwackler oder Bildrauschen einfuumlgen Staubpartikel hinzufuumlgen die Anzahl und Grouml-

szlige ist einstellbar

Zu den Effekten gehoumlren auch Szenenuumlbergaumln-ge So kann sich z B eine Szene von oben un-ten rechts oder links vor eine andere schiebenoder sich einfach aufloumlsen

Interessant ist auch die Bild-in-Bild-Option Moumlch-te man beispielsweise einen Kommentator zu ei-ner Szene einblenden so ist das daruumlber moumlg-lich

Uumlbergaumlnge und BeschreibungAffine Groumlszlige Ausrichtung Drehwinkel und

Scherung veraumlndert werdenBereich Auf das uumlberlagernde Bild einen Wisch-

effekt (Wipe File) anwenden Wischeffek-te sind u a spiral- wolken- oder explosi-onsfoumlrmig

Slide Szene von beliebiger Seite uumlber eine an-dere schieben lassen

Wipe Szenen flieszligen ineinander uumlber

Zu beachten ist dass Uumlbergaumlnge nur auf sichuumlberlappenden Clips angewandt werden koumlnnenD h die zu verbindenden Clips muumlssen in un-terschiedlichen Spuren liegen dann waumlhlt man

einen Clip aus und waumlhlt per Kontextmenuuml bdquoUumlber-gang hinzufuumlgenldquo aus Die Anwendungsbereichesind vielfaumlltig und einige Varianten sind obenkurz vorgestellt

ErwaumlhnenswertesKdenlive bietet daneben noch automatischeBackups an um moumlglichem Datenverlust vorzu-beugen

Auf der Internetseite des Programms sind vieleErklaumlrungen und Informationen zu Effekten vor-handen Es gibt ausfuumlhrliche Artikel zum Farben-Histogramm das fuumlr die Darstellung der Farbver-teilung wichtig ist oder zum Vectorscope dasfuumlr den Farbabgleich interessant ist und natuumlr-lich vieles mehr Ein Forum [7] in dem man sichaustauschen und Hilfe finden kann gibt es selbst-verstaumlndlich auch

Effekte Uumlbergaumlnge und einiges mehr koumlnnen imProgramm uumlber bdquoEinstellungenldquo heruntergeladenund uumlber die Internetseite kann selbst erstell-tes Material mit anderen geteilt werden Dadurchwaumlchst stetig der Pool an Erweiterungen

Als letztes sind noch die Videotutorials hervor-zuheben die auf anschauliche Weise einzelneFunktionen naumlher bringen

FazitKdenlive bringt alles mit um seine Videos auf-zubereiten Es hat den Vorteil dass es nativ dieunterschiedlichsten Formate beherrscht Um dasProgramm fit fuumlr die Zukunft zu machen wurde

Mitte Maumlrz 2012 ein Spendenaufruf [8] gestar-tet Das Geld wird verwendet um den Entwick-ler und Programmierer Till Theato zwei Monatein Vollzeit an Kdenlive arbeiten zu lassen Haupt-saumlchlich dreht es sich dabei um die Uumlberarbei-tung des Programmkerns Damit vereinfacht sichneben der Wartung auch die Erweiterbarkeit

Schon wenige Tage nach Beginn des Spen-denaufrufs wurde die erforderliche Summe von4000 US-Dollar eingesammelt Insgesamt ka-men 7419 US-Dollar zusammen Man kann alsoauf viele weitere Features gespannt sein

LINKS[1] httpwwwkdenliveorg[2] httpwwwmacportsorg[3] httpsdewikipediaorgwikiRAID[4] httpkdenliveorgforumoutput-size-not-same-

clips[5] httpsdewikipediaorgwikiRecordMyDesktop[6] httpwwwkohaupt-onlinedehp[7] httpwwwkdenliveorgforum[8] httpwwwindiegogocomkdenlive-re

Autoreninformation

Stephan Theelke arbeitet seitlangem mit Linux und moumlchte dieMoumlglichkeiten und Vorteile von Open-Source-Software bekannter machen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 17

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 18: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

CRM

Trac statt CRM ndash ein Erfahrungsbericht von Jochen Schnelle

S oftware fuumlr das Customer Relation Ma-nagement kurz CRM [1] und zur Ko-ordinierung von Neukundenakquisen

gibt es in vielerlei Varianten Aber manchmalmuss es gar keine spezielle Software seinAuch Software die eigentlich fuumlr einen an-deren Zweck geschrieben wurde kann dieseAufgabe gut und effizient erfuumlllen So gesche-hen auch im folgenden geschilderten Fall woTrac [2] eine Webanwendung welche eigent-lich in der Softwareentwicklung zu Hause isterfolgreich zur Koordination und Dokumenta-tion einer Neukundenakquise-Aktion genutztwurde

AnforderungenIn einem mittelstaumlndischem Unternehmen mit ei-ner eindeutig definierten fokussierten und uumlber-schaubaren Kundengruppe ndash hier Aluminium-Eisen- und Stahlgieszligereien ndash sollte eine gezielteNeukundenakquise fuumlr ein bestehendes Produktdurchgefuumlhrt werden um einen groumlszligeren Markt-anteil zu gewinnen Es war von vornherein klardass im Rahmen der Akquise weniger als 200Kunden kontaktiert werden wuumlrden Des weite-ren war klar dass die Akquiseaktion schrittweiseverlaumluft d h nicht alle potentiellen Kunden aufeinmal kontaktiert werden

Die Akquisen sollten natuumlrlich dokumentiert wer-den d h wer wurde wann kontaktiert wie ist deraktuelle Status (z B Angebot geschickt bemus-tert erste Testbestellung erhalten usw) und wer

(= welcher Mitarbeiter) ist federfuumlhrend fuumlr diesen(potentiellen) Kunden zustaumlndig Auszligerdem soll-te der Status schnell und ohne weitere Zwischen-schritte jederzeit aktuell abrufbar sein Und dasfuumlr jeden Mitarbeiter der Zugriff auf das Intranetder Firma hat Der schreibende Zugriff sollte wei-terhin eingeschraumlnkt und nur bestimmten Mitar-beitern vorbehalten sein

Softwareseitig sollte die Software zur Koordina-tion der Akquise auf einem Server im Intranetder Firma laufen Dazu stand entweder eineMicrosoft-basierte Infrastruktur (Windows ServerSharepoint) oder ein Linux-Server (Ubuntu 1004LTS) zur Verfuumlgung wobei letzterer in einer vir-tuellen Maschine laumluft Prinzipiell waumlre auch einespezielle Serverloumlsung moumlglich gewesen sofernsich diese virtualisieren laumlsst Diese Option wur-de aber nicht praumlferiert und sollte nach Moumlglich-keit nicht zum Zug kommen

Ebenfalls stand fest dass die Anzahl der Zugriffeauf das System eher gering sein wuumlrde zu Spit-zenzeiten immer noch deutlich weniger als 500Zugriffe pro Tag Von daher spielte die Performan-ce der Software bzw des Servers und der Daten-bank hier auch keine entscheidende Rolle

Des Weiteren sollte die Softwareloumlsung frei imSinne von kostenlos sein es sollte also wederkommerzielle Software noch kommerzieller Sup-port in Anspruch genommen werden Ob die Soft-ware frei im Sinne einer freien Open Source Li-zenz ist spielte (fast) keine Rolle Ebenfalls ei-

ne untergeordnete Rolle spielte ob die Softwarebdquonurldquo in Englisch vorliegt oder auch auf Deutschlokalisiert ist da klar war dass alle Nutzer hinrei-chend gut Englisch verstehen bzw sprechen undschreiben koumlnnen

SoftwareauswahlIm Rahmen der Softwareauswahl war relativschnell klar dass die vorhandene interne Soft-ware Microsoft Sharepoint [3] und DynamicsNav [4] mit den vorhandenen Bordmitteln die An-forderungen nicht umsetzen koumlnnen d h hierwaumlren kostenpflichtige Zusatzmodule oder Sup-port notwendig gewesen was ndash wie bereits ge-sagt ndash nicht gewuumlnscht war

Es gab auch relativ schnell die Idee dass dieAnforderungen wohl auch von einem Ticketsys-tem [5] abgedeckt werden koumlnnten sofern des-sen Felder einfach und frei konfigurierbar waumlrenIn der Vergangenheit war bereits fuumlr einen gewis-sen Zeitraum das Ticketsystem Roundup [6] imEinsatz Dieses war aber ndash zumindest damals ndashrelativ aufwendig anzupassen und nicht wirklicheinfach zu installieren und zu konfigurieren Vondaher kam es nicht in die engere Auswahl

Der Autor kannte als Nutzer bereits das Ticket-system von Trac das zumindest aus Anwender-sicht sehr einfach und komfortabel zu bedienenist Ein Blick in die Dokumentation [7] offenbartdass der Betrieb von Trac sehr einfach (dazu spauml-ter mehr) und das Ticketsystem leicht anpassbar

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 18

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 19: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

CRM

ist Von daher wurde kurzerhand der Entschlussgefasst eine Trac-Instanz versuchsweise aufzu-setzen und fuumlr den angedachten Zweck zu testenDabei sollte Trac auf dem virtuellen Linux-Serverlaufen

Trac besteht aus noch weiteren Komponentenals nur dem Ticketsystem Weitere Kernbestand-teile sind ein Wiki und ein Repository BrowserLetzterer bleibt aber weitgehend im Hintergrundwenn man kein Repository einbindet

Trac installieren und konfigurierenWie bereits erwaumlhnt gestaltet sich die Installationvon Trac sehr einfach im vorliegenden Fall wurdedie (zum Zeitpunkt der Installation) aktuelle Ver-sion 011 verwendet

Voraussetzung fuumlr den Betrieb ist nur ei-ne Python-Version zwischen 24 und 27 [8]ndash eine Voraussetzung die selbst alte Linux-Distributionen ohne Weiteres erfuumlllen Da Tracstandardmaumlszligig SQLite [9] als Datenbank nutztmuss dieses ebenfalls installiert werden SQLiteist in Python ab Version 25 bereits enthalten sodass hier keine manuelle Installation mehr not-wendig ist

Um die Installation zu vereinfachen sollten eben-falls die Python Setup-Tools [10] installiert seinDiese lassen sich ebenfalls uumlber die Paketverwal-tung der meisten Linux-Distributionen nachinstal-lieren

Sind diese beiden Voraussetzung erfuumlllt sobringt der Befehl

easy_install trac

die aktuellste stabile Version von Trac auf dasSystem allerdings ohne Lokalisierung d h bdquonurldquoin Englisch Wer das System lokalisieren moumlchteder muss vorher noch Babel installieren [11]

Danach muss noch eine neues Projekt angelegtwerden im Rahmen von Trac bdquoEnvironmentldquo ge-nannt Dies geschieht auch uumlber die Kommando-zeile

trac-admin varwwwmeinprojekt yinitenv chown -R www-data varwwwymeinprojekt

Damit waumlren die Vorbereitungen abgeschlossenndash Trac kann jetzt gestartet werden Dazu dientder Befehl

su www-data -c tracd --port 8000yvarwwwmeinprojekt

Noch ein Hinweis Wer Trac nur in einem ge-schlossenen Netzwerk testen moumlchte der kanndas Environment auch einfach im eigenen Home-Verzeichnis anlegen und der Trac-Daemon (sie-he unten) mit Nutzerrechten starten Davon istaber fuumlr den Produktivbetrieb natuumlrlich dringendabzuraten

Trac laumluft jetzt mit den Voreinstellungen d h alleNutzer koumlnnen aktuell nur lesend auf das Systemzugreifen Da sich die Konfiguration des Ticket-Systems aber bequem uumlber die Weboberflaumlche

erledigen laumlsst muss noch ein Benutzer angelegtwerden der Admin-Rechte hat

trac-admin varwwwmeinprojekt ypermission add jochen TRAC_ADMIN

Damit werden dem Benutzer bdquojochenldquo die vollenRechte eingeraumlumt Trac kennt eine Reihe vonverschiedenen Rechten so dass sich diese rechtdetailliert einstellen lassen [12]

Der letzte Schritt ist dass alle Nutzer diemehr als lesenden Zugriff haben sollen in einerPasswort-Datei hinterlegt werden die beim Startder Trac-Instanz eingelesen wird Trac benutztdamit bdquonormaleldquo htpasswd-Dateien wie sie auchdie verschiedenen Webserver einsetzten

htdigest -c varwwwmeinprojektyhtpass projekt jochen

Damit Trac die Datei beim Starten auch einliestmuss folgender Befehl verwendet werden

su www-data tracd --port 8000 --yauth meinprojekt varwwwymeinprojekthtpassprojekt varywwwmeinprojekt

Nun ist die Weboberflaumlche unterlocalhost8000meinprojekt erreichbar

Auszliger dem angelegtem Benutzer bdquojochenldquo wel-cher Admin-Rechte hat sind keinerlei Anpas-sungen erfolgt Wer Trac produktiv betreibenmoumlchte sollte einen weiteren Blick in die Doku-mentation werfen in der viele weitere moumlgliche

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 19

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 20: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

CRM

Standardabfrage der Tickets unter Trac

Konfigurationen und Anpassungen beschriebensind Ein Teil der Einstellungen koumlnnen auch inder Weboberflaumlche im Adminstrationsmenuuml un-ter dem Punkt bdquoPermissionsldquo vorgenommen wer-den wenn man sich mit Admin-Rechten einge-loggt hat

Ticketsystem konfigurierenJeder angelegte Nutzer kann sich nun durcheinen Klick auf bdquoLoginldquo in der Weboberflaumlche an-melden War dies erfolgreich und hat man Admin-Rechte erscheint in der Menuumlleiste ganz rechtseine Schaltflaumlche mit der Beschriftung bdquoAdminldquoHieruumlber gelangt man ins Adminstrationsmenuumlin dem auch das Ticketsystem individuell anpass-bar ist

Im hier beschriebenen Fall wurden die Felder wiefolgt belegt

bdquoComponentsldquo Industriezweig in dem der poten-tielle Kunde taumltig ist

bdquoMilestonesldquo aktueller Status also z B bdquoAnge-bot gemachtldquo bdquobemusternldquo bdquoers-te Bestellung wird erwartetldquo usw

bdquoPrioritiesldquo Prioritaumlt die das Ticket hat alsoz B bdquoniedrigldquo bdquomittelldquo bdquohochldquo

bdquoResolutionsldquo beschreibt wie das Ticket ge-schlossen wurde also z Bbdquoakquiriertldquo bdquokein Interesseldquobdquobraucht das Produkt nichtldquo usw

bdquoSeveritiesldquo wird im beschriebenen Fall nichtgenutzt

bdquoTickettypesldquo beschreibt ob in der Vergangen-heit schon einmal Kontakt mitdem Kunden bestand oder ob esein Neukontakt ist Die Werte fuumlrdieses Feld sind also bdquoneuer Kon-taktldquo oder bdquoerneuter Kontaktldquo

Die Aumlnderungen werden sofort wirksam d h eskoumlnnen direkt Tickets angelegt werden

Der Software ist es letztendlich egal wie manwelches Feld benennt da es fuumlr Trac bdquonurldquo Fel-der in einer Datenbank sind Es ist beim Anle-gen jedoch ratsam darauf zu achten dass manin den Standardansichten (bdquoQueriesldquo siehe fol-gender Abschnitt) eine brauchbare und uumlbersicht-liche Zusammenfassung erhaumllt

Einige Ticketfelder sind nicht konfigurierbar Die-se sind

bdquoSummary ldquo Titel des TicketsbdquoReporter ldquo wer hat das Ticket erstelltbdquoDescriptionldquo ein Textfeld fuumlr die ausfuumlhrliche Be-

schreibung

bdquoOwner ldquo wem wirdist das Ticket zugeord-net also z B der Name des Kun-denbetreuers oder Vertreters

bdquoKeywordsldquo Schluumlsselworte koumlnnen z B spauml-ter zur Suche verwendet werden

Im vorliegenden Fall wurde vereinbart dass indas Feld bdquoSummary ldquo immer der Kundennameeingetragen wird Dies hat sich im laufenden Be-trieb auch als sehr zweckmaumlszligig erwiesen da die-ses Feld in allen Reports immer als erstes ange-zeigt wird

Tickets abfragenAlle Tickets ndash egal ob offen oder abgeschlossenndash koumlnnen nun in der Weboberflaumlche unter demPunkt bdquoView Ticketsldquo abgefragt werden

Es gibt acht fertig vordefinierte Abfragen Der Un-terschied liegt primaumlr in der Sortierung bzw wel-che Tickets (nicht) angezeigt werden Im vorlie-genden Fall hat sich die Abfrage Nr 6 bdquoAll TicketsBy Milestone (Including closed)ldquo am praktischs-ten erwiesen weil dort alle Tickets ndash egal ob of-fen oder geschlossen ndash sortiert nach bdquoMilestoneldquoangezeigt werden so dass man sofort den aktu-ellen Status pro Ticket sieht

Wer eine spezifischere Abfrage auszligerhalb derReports benoumltigt der kann durch einen Klickrechts oben im Fenster auf bdquoCustom Query ldquo perWeboberflaumlche komfortabel eine eigene Abfrageerstellen Dies ist z B praktisch wenn man sichalle Tickets anzeigen lassen will die einem be-stimmten bdquoOwnerldquo zugeordnet sind Das Erstel-len einer Custom Query ist dabei ganz einfach

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 20

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 21: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

CRM

weil sie sich komfortabel per Weboberflaumlche bdquozu-sammenklickenldquo laumlsst

Milestones und RoadmapDie Weboberflaumlche von Trac zeigt noch zwei wei-tere Menuumlpunkte an naumlmlich bdquoMilestonesldquo undbdquoRoadmapldquo Diese werden z B in der Softwa-reentwicklung genutzt um schnell aufzuzeigenwelche Tickets noch offen sind bzw welche Punk-te noch abgearbeitet werden muumlssen (bevor dienaumlchste Software-Version veroumlffentlicht werdenkann)

Wer z B festlegen moumlchte dass jeder Kundebis zu einem bestimmten Datum ein Angebot er-halten haben muss der kann in der Konfigura-tion des Ticketsystems fuumlr jeden Milestone zu-saumltzlich ein bdquoDue Dateldquo (= Faumllligkeitsdatum) hin-terlegen Dies wurde im vorliegenden Fall jedochnicht gemacht so dass auch die Milestone- (undRoadmap-) Ansicht nicht genutzt wird

InformationsflussEs ist natuumlrlich etwas umstaumlndlich wenn jederNutzer immer wieder die Weboberflaumlche aufru-fen muss um zu sehen ob sich etwas geaumln-dert hat oder ein neues Ticket erstellt wurde Da-fuumlr bietet Trac zwei Benachrichtigungsmoumlglich-keiten Zum einem gibt es ein konfigurierbares E-Mail-System welches Informationen uumlber Aumlnde-rungen per Mail versendet Zum anderen gibt esdie Moumlglichkeit diverse Seiten als RSS-Feeds zuabonnieren so auch die Report-Seiten Im vorlie-genden Anwendungsfall wurde letzterer Weg ge-waumlhlt Zum einem weil es im System keine ver-

fuumlgbaren E-Mail-Server gibt uumlber den Trac Mailsverschicken koumlnnte Zum anderen weil das aufallen Rechnern installierte Outlook (Version 2003oder neuer) RSS-Feeds direkt einbinden kannso dass Nachrichten von Trac bdquoE-Mail-aumlhnlichldquo er-scheinen

Nutzung und BenutzererfahrungNun nutzt aber bekanntlich das beste Systemnichts wenn es von den Nutzern nicht akzeptiertwird weil z B die Benutzbarkeit zu schlecht istdie Eingabe und Abfrage von Daten zu lange dau-ert etc

Erfreulicherweise war dies bei der hier beschrie-benen Anwendung uumlberhaupt nicht der Fall Dasoptische Erscheinungsbild von Trac bzw dessenWeboberflaumlche kann zwar durchaus als bdquominima-listischrdquo bezeichnet werden dadurch ist es aberauch sehr uumlbersichtlich alle Informationen sindsofort auffindbar Gleiches gilt fuumlr die Eingabevon Daten bzw das Anlegen von Tickets Auchdas Abonnieren des RSS-Feeds des Reports viaOutlook und die damit verbundenen Benachrich-tigungen wurden von den Benutzern als komfor-tabel empfunden

Der Schulungsbedarf bei der Einfuumlhrung vonTrac war auch durchaus uumlberschaubar Nutzerwelche nur lesend auf das System zugreifen soll-ten konnten nach einer ca zehnminuumltigen Schu-lung ohne Probleme mit dem System umgehenDie Nutzer die zusaumltzliche Schreibrechte besit-zen erhielten noch eine ca 15-minuumltige Schu-lung zum Anlegen und Editieren von Tickets

Dadurch bedingt wurde das System sehr schnellakzeptiert und aktiv genutzt Probleme wederbeim Betrieb von Trac auf dem Server als auchseitens der Nutzer sind nicht bekannt

LINKS[1] httpsdewikipediaorgwikiCustomer-

Relationship-Management[2] httptracedgewallorg[3] httpsharepointmicrosoftcomde-deSeiten

defaultaspx[4] httpwwwmicrosoftcomde-dedynamicserp-

nav-ubersichtaspx[5] httpsdewikipediaorgwikiIssue-Tracking-

System[6] httproundupsourceforgenet[7] httptracedgewallorgwikiTracGuide[8] httpwwwpythonorg[9] httpwwwsqliteorg

[10] httppypipythonorgpypisetuptools[11] httptracedgewallorgwikiTracPermissions

Autoreninformation

Jochen Schnelle (Webseite) arbeitetim technischen Vertrieb eines KMUIm hier beschriebenen Anwendungs-fall konnte er Beruf und Hobby(Python und Open-Source-Software)erfolgreich vereinigen

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 21

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 22: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

SPIELE

Catacomb Snatch von Daniel Noumlgel

D as Humble Bundle [1] erfreut sich mitt-lerweile durchaus einiger BeliebtheitZu einem frei waumlhlbaren Preis kann

jeder ein Spiele-Paket erstehen und den Er-loumls auf die Entwickler undoder verschiedeneWohltaumltigkeitsorganisationen verteilen Mitt-lerweile gab es neben dem bdquoHumble IndieBundleldquo verschiedene weitere Aktionen wieetwa das bdquoHumble Bundle for Androidldquo oderdas bdquoHumble Bundle Mojamldquo Um letzteressoll es in dem Artikel gehen ndash dabei beson-ders um das daraus hervorgegangene SpielCatacomb Snatch

Der Startbildschirm von Catacomb Snatch

Humble Bundle MojamDas Humble Bundle Mojam war eine besondereAktion des Humble Bundles In Zusammenarbeitmit den Minecraft-Machern von Mojang [2] solltean einem Februar-Wochenende innerhalb von 60Stunden ein neues Spiel entstehen [3] Die Ent-wicklung wurde dabei von Kameras begleitet undwar im Internet als Livestream zu sehen

Wer das Humble Bundle Mojam erstand sollteam Ende nicht nur das fertige Spiel erhaltensondern hatte waumlhrend der Aktion auch Zugriffauf Vorabversionen des Spiels Recht kurzfristigschlossen sich auch das Oxeye Game Studio

und Wolfire Gamesder Aktion an sodass waumlhrend desHumble Bundle Mo-jam insgesamt dreiSpiele live entwi-ckelt wurden

CatacombSnatchErwartungsgemaumlszligerhielt das Teamvon Mojang beson-ders viel Aufmerk-samkeit Dies istsicher damit zu er-klaumlren dass sichdurch das Spiel Mi-necraft ein regel-

rechter Personenkult um den Entwickler MarkusbdquoNotchldquo Persson und sein Team gebildet hat

Nach einer Umfrage bezuumlglich Genre und Aus-richtung des Spiels hatte sich das Team auf einEchtzeitstrategie-bdquoShoot rsquoem upldquo mit Steampunk-Elementen und Einfluumlssen des alten Aumlgyptensfestgelegt Waumlhrend der sechzigstuumlndigen Live-uumlbertragung nahm diese etwas diffuse Beschrei-bung zunehmend Form an Zuschauer konntenbeobachten wie das Spiel in Java umgesetztwurde und auch dem Grafikdesigner bei der Ar-beit zuschauen Die erste Vorabversion des Spie-les lieszlig allerdings noch wenig von dem spaumlterenSpiel erahnen [4]

Zwar tat sich bis zum Ende der Aktion noch Ei-niges an dem Spiel ndash allerdings waren noch im-mer Platzhaltergrafiken zu sehen ndash etwa in denMenuumls [5] Auch Spieleabstuumlrze Probleme imMultiplayer-Modus und eine nicht sonderlich be-nutzerfreundliche Steuerung lieszligen keinen Zwei-fel daran dass das Spiel noch nicht fertig gestelltwar

Was ist das ZielDas (un)fertige Spiel hat auch deshalb fuumlr Ir-ritationen gesorgt weil das Spielziel fuumlr einigeSpieler nicht ersichtlich war Der Spieler erkun-det eine alte aumlgyptische Pyramide und trifft da-bei auf feindlich gesinnte Mumien Fledermaumluseund Schlangen Mit seiner Waffe setzt er sichgegen diese zur Wehr sammelt dabei Muumlnzen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 22

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 23: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

SPIELE

und kauft sich von diesen Geschuumltztuumlrme Muumlnz-sammler und Bomben Mit den Bomben sprengter sich den Weg zu einem Schatz frei den esfortzuschaffen gilt Dazu werden Gleise verlegtuumlber die kleine Roboter zu dem Schatz fahrenund diesen in die heimische Zeltstadt transpor-tieren Um zu verhindern dass die Roboter vonfeindlichem Getier angegriffen werden muss dieRoute mit den Geschuumltztuumlrmen abgesichert wer-den Muumlnzsammler ziehen von Gegnern fallengelassene Muumlnzen an so dass der Spieler klei-ne Geld-Sammel-Anlagen errichten kann

Haben die Roboter ausreichend viel von demSchatz gesammelt gewinnt der Spieler das SpielIn der Mehrspieler-Variante kaumlmpfen zwei Men-schen um den Schatz und versuchen sich mitden Geschuumltztuumlrmen in Schach zu halten

Damit hat Mojang nicht nur alle vorher festgeleg-ten Elemente in dem Spiel beruumlcksichtigt son-dern gleichzeitig die Basis fuumlr die Weiterentwick-lung gelegt Nach Meinung der Entwickler solltenbei der zukuumlnftigen Entwicklung besonders dieTower-Defense-Elemente ausgebaut werden

Die WeiterentwicklungDa Mojang nicht nur das Spiel sondern auchden dazugehoumlrigen Quelltext zugaumlnglich ge-macht hat bildeten sich bald verschiedene Ab-spaltungen des Spiels ndash sogenannte bdquoForksldquo [6]Diese behoben nicht nur die bekannten Feh-ler sondern ersetzten die haumlsslichen Platzhalter-Grafiken und versuchten das Spiel nach eigenemGutduumlnken weiter zu entwickeln

Droiden auf Gleisen transportieren den Schatz ins Lager

Zu den prominenteren Wei-terentwicklungen gehoumlren dieForks von einigen Reddit-Nutzern [7] dem belgischenEntwickler Maescool [8] sowieder Spieleschmiede UberSoftTechnologies [9] Die Reddit-Variante scheint mittlerweileaber eingestellt worden zusein ndash das Github-Projekt exis-tiert nicht mehr Die Abspal-tung von UberSoft wird zwarsehr haumlufig im Zusammen-hang mit Catacomb Snatch er-waumlhnt ndash die Entwickler stellenallerdings nur die Binaumlrversi-on des Spieles bereit Nur umdie Abspaltung von Maescoolscheint sich derzeit eine groumlszlige-re OpenSource-Gemeinschaftzu formieren Derzeit existieren auf GitHub et-wa 140 Abspaltungen von Maescools Code [10]auch eine Internetseite [11] und ein Forum [12]haben sich um das Projekt gebildet Dort stehtunter anderem die jeweils letzte Entwicklungs-version zum Herunterladen bereit sodass in-teressierte Nutzer das Programm nicht selbstkompilieren muumlssen [13]

Neue FunktionenDurch die Weiterentwicklung der Gemeinschaftum Maescool wurden verschiedene neue Funk-tionen in das Spiel integriert Neben mehrspra-chigen Menuumls und einigen neuen Optionen hat

das Spiel mittlerweile einen integrierten Level-editor laumlsst sich mit der Maus steuern und un-terstuumltzt Upgrades fuumlr Tuumlrme und MuumlnzsammlerAuch neue Monster und Waffen ein Levelsystemund verschiedene optische Verbesserungen wur-den verwirklicht Auszligerdem wurden neue Level-bausteine (sogenannte Tiles) eingefuumlgt so dasses mittlerweile Schatztruhen Fallen und einstuumlr-zende Bodenplatten gibt

MitmachenDa zur Zeit die Catacomb Snatch-Abspaltungum Maescool das einzig groumlszligere aktive Ge-meinschaftsprojekt zu sein scheint koumlnnen sich

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 23

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 24: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

SPIELE

Den Flammenwerfer gab es im Original noch nicht

interessierte Entwickler und Grafiker hier vermut-lich am besten einbringen Uumlber Git kann schnelleine Kopie der aktuellen Entwicklungsversion be-zogen werden Bei Mojang findet sich daruumlberhinaus eine Anleitung in der erklaumlrt wird wieder Quelltext in Eclipse importiert wird [14] Auchunerfahrene Java-Entwickler koumlnnen sich in dasProjekt durchaus einbringen kleine Verbesse-rungen wie etwa neue Levelbausteine lassensich ohne groszlige Programmiersprachenkenntnis-se umsetzen und fuumlhren zu schnellen Erfolgser-lebnissen

LizenzproblemeAuch wenn der Quelltext vom Mo-jang verfuumlgbar gemacht und be-reits von hunderten Entwicklernbearbeitet und modifiziert wurdeNominell gibt es noch keine Frei-gabe des Programmcodes unter ei-ner freien Lizenz Auch auf mehre-re Nachfragen gab es von Mojangkeine Freigabe sodass weiterhinalle Rechte bei dem schwedi-schen Spieleentwickler liegen Ein-zig ein Tweet von dem Mitentwick-ler Jens Bergensten geht auf die-se Problematik genauer ein Dortheiszligt es dass Spiel sei zu Wohl-taumltigkeitszwecken entwickelt wor-den und der Code fuumlr die Bil-dung bestimmt [15] Auch wennauf Grund dieser Aumluszligerungen da-von ausgegangen werden kanndass Mojang nicht gegen die Wei-

terentwicklung und Redistribution ihres Spielsvorgehen wird muss Catacomb Snatch da-mit als proprietaumlr bezeichnet werden In Linux-Distributionen wie Debian wird es damit auf ab-sehbare Zeit keinen Einzug erhalten

LINKS

[1] httpwwwhumblebundlecom[2] httpsdewikipediaorgwikiMinecraft[3] httpsdewikipediaorgwikiHumble_Bundle

The_Humble_Bundle_Mojam[4] httpwwwyoutubecomvFWQamrtEcCs

[5] httpwwwyoutubecomvnaHw4YEPJVk[6] httpsdewikipediaorgwikiAbspaltung_(Softwa

reentwicklung)[7] httpsgithubcomrCatacombSnatchCatacomb-

Snatch--Reddit-Edition[8] httpsgithubcomMaescoolCatacomb-

Snatch[9] httpmainubersoftechcomprojectucs

[10] httpsgithubcomMaescoolCatacomb-Snatchnetwork

[11] httpwwwcatacombsnatchnet[12] httpforumcatacombsnatchnet[13] httpwwwcatacombsnatchnetdownload

html[14] httpwwwmojangcom201202how-to-use-the-

catacomb-snatch-source-code[15] httpstwittercomjeb_status1715479468217

50785

Autoreninformation

Daniel Noumlgel (Webseite) hat die Ent-wicklung von Catacomb Snatch vomLivestream bis zu den verschiedenenheutigen Ablegern verfolgt und findetneben der Spielidee besonders dieBeobachtung der Weiterentwicklungdes Spiels interessant

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 24

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 25: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PYTHON

Nicht nur fuumlr Zombies Einstieg in IronPython von Christian Imhorst

W enn einem IronPython wie ein semi-toter Zombie [1] erscheint der kaumNutzer hat liegt das zum groszligen Teil

an IronPython selbst Es ist ein Nischenpro-dukt und wird das vermutlich auch bleibenwas schade ist da IronPython wunderbareEinblicke in das NET-Framework gewaumlhrt

Im Jahr 2000 wurde NET von Microsoft ins Le-ben gerufen und ist heute eine populaumlre Platt-form fuumlr objektorientierte Programmierung unterWindows Beschaumlftigt man sich mit IronPythonmuss man Python kennen und moumlgen was Ge-ruumlchten zufolge nicht jedermanns Sache ist Iron-Python eignet sich auch nur schlecht dazu dieProgrammiersprache selbst zu lernen

Als Anfaumlnger startet man am besten mit der offizi-ellen Python-Referenz CPython um sich die Kon-zepte der Sprache anzueignen Dann muss mansich noch im NET-Framework von Microsoft aus-kennen und sich damit auch beschaumlftigen wollenAuszligerdem ist IronPython fuumlr Anwendungen imGeschaumlftsumfeld so gut wie irrelevant da Micro-soft mit C VBNET und der PowerShell selbstProgrammier- und Skriptsprachen fuumlr die NET-Plattform anbietet Nachdem IronRuby und Iron-Python im Oktober 2010 an die Open-Source-Community uumlbergeben wurden [2] ging daruumlberhinaus auch noch die aktive Unterstuumltzung durchMicrosoft verloren was zur Folge hatte dassIronPython seitdem nicht mehr so schnell weiter-entwickelt wird

Dabei hat IronPython einige spannende Sachenzu bieten wie zum Beispiel seine Geschichtewarum es uumlberhaupt existiert Um 2003 herumgab es einige Berichte im Internet in denenbehauptet wurde dass die Common LanguageRuntime (CLR) das Herz und die Seele desNET-Frameworks fuumlr dynamische Sprachen wiePython einfach ungeeignet sei Jim Hugunin derzuvor JPython das heute Jython heiszligt fuumlr dieJava Virtual Machine (JVM) entwickelt hatte [3]fragte sich deshalb Was hat Microsoft mit derCLR unter NET bloszlig so falsch gemacht dass siemit Python nicht funktionieren soll

Er wollte dieser Frage ein paar Wochen langauf den Grund gehen und am Ende das Ergeb-nis im Artikel ldquoWhy the CLR is a terrible plat-form for dynamic languagesrdquo [4] zeigen Zu sei-ner Uumlberraschung stellte Hugunin aber fest dasssich Python sehr gut fuumlr die CLR eignet Also er-schien 2006 die Version 10 von IronPython alsvollstaumlndig in C geschriebene Implementierungder Programmiersprache Python Dabei haumllt sichIronPython an die in der ProgrammierspracheC geschriebene Referenz-Implementierung undist vollstaumlndig kompatibel zu CPython Anfangsstand IronPython noch unter Microsofts eigenerOpen Source-Lizenz Micosoft Public License istmittlerweile aber zur Apache-Lizenz 20 gewech-selt

Da NET von Anfang an als ein sprachunab-haumlngiges Framework konzipiert worden war koumln-

nen Programmierer in unterschiedlichen Pro-grammiersprachen wie C VBNET oder Visu-al C++ arbeiten Software die in diesen NET-Sprachen geschrieben wurde wird mithilfe einesJust-In-Time-Compilers in eine Zwischenspracheuumlbersetzt der Common Intermediate Language(CIL) bevor sie von der Laufzeitumgebung CLRausgefuumlhrt wird IronPython ist in diesem Sin-ne der NET-Compiler fuumlr eine Programmierspra-che namens Python Wie in NET uumlblich kannman auf Bibliotheken zugreifen die in anderenNET-Sprachen geschrieben wurden und mit Ein-schraumlnkungen auch umgekehrt Dazu liefert Iron-Python den Compiler pycpy fuumlr die Kommando-zeile mit der IronPython-Quellcode in eine NET-Bibliothek uumlbersetzt Diese werden in NET As-semblies genannt und koumlnnen in anderen NET-Projekten weiter verwendet werden egal in wel-cher Programmiersprache des Frameworks siegeschrieben wurden Grundsaumltzlich laumlsst sich al-les was man mit einer NET-Sprache wie C oderVBNET erreichen kann auch mit IronPython um-setzen und genieszligt dabei noch alle Vorzuumlge derProgrammiersprache Python

Jetzt kann man meinen dass der erste Teil desNamens IronPython als Akronym fuumlr ldquoIt Runs OnNetrdquo steht Das passt zwar sehr gut der Na-me geht jedoch auf Hugunins alte Beratungsfir-ma ldquoWant of a Nail Softwarerdquo zuruumlck [5] WobeildquoWant of a Nailrdquo seinen Ursprung in einem Kin-derreim hat [6] der davon handelt das kleine Din-ge im Leben groszlige Auswirkungen haben koumlnnen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 25

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 26: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PYTHON

Auch bei IronPython liegt die Aufmerksamkeit beivielen kleinen Dingen wie in dem Kindergedichtauf den eisernen Nagel Auszligerdem waren die Al-ternativen wie PythonNet Python nPython lautHugunin schon vergeben und klangen auch nichtso schoumln wie IronPython

InstallationDie aktuelle Windows-Version von IronPython ndashdie Version fuumlr Mono soll in diesem Artikel nichtThema sein ndash beruht auf NET Version 40 [7]das separat heruntergeladen werden kann undauch benoumltigt wird sollte es unter Windows nochnicht durch eine andere Anwendung installiertworden sein IronPython selbst kann von derHomepage [8] oder direkt bei Codeplex herun-tergeladen [9] werden Der Quellcode wie auchder von IronRuby ist auf Github [10] zu findenEr wird bei BitBucket gespiegelt wofuumlr sich dieMehrheit der IronPython-Community ausgespro-chen hatte da BitBucket auf Mercurial beruht

Die MSI-Datei installiert man einfach durch einenDoppelklick Danach findet man IronPython unterCProgram FilesIronPython 27 im Datei-system Der Pfad fehlt allerdings in der Umge-bungsvariable PATH die man entweder unterbdquoSystemsteuerung rarr System rarr Erweiterte Sys-temeinstellungenldquo bzw Windows + Pause unddanach unter bdquoUmgebungsvariablen rdquo aumlndertMan kann stattdessen auch die Befehle set undsetx in der Kommandozeile benutzen

set PATH=CProgram FilesIronPython 27PATHsetx Path PATH Mipy

Der erste Befehl mit set fuumlgt den PfadCProgram FilesIronPython 27 der Um-gebungsvariablen PATH fuumlr die aktuelle Sitzunghinzu durch den zweiten Befehl mit SETX bleibtdie Aumlnderung auch fuumlr zukuumlnftige Sitzungen er-halten Am Ende startet der Befehl ipy oder auchipyexe den Interpreter von IronPython

Der MSI-Installer sollte alle Module der Python-Standard-Bibliothek dabei haben Falls ein Mo-dul fehlt und CPython parallel zu IronPython aufdem Rechner installiert ist kann man die Python-Standard-Bibliothek einbinden indem man imIronPython-Verzeichnis im Unterordner Lib dieDatei sitepy um folgende Zeile ergaumlnzt wobeiman den Pfad zur Python-Installation eventuellnoch anpassen muss

syspathappend(termCProgram yFilesPython27Lib)

Hallo WeltAls Einstieg in IronPython dient das uumlbliche Hallo-Welt-Programm Dazu startet man den IronPy-thon-Interpreter indem man den Befehl ipy indas Suchfenster von Windows 7 oder in der Kom-mandozeile eingibt oder aber die bdquoIronPythonConsolerdquo unter bdquoStart rarr Alle Programme rarr Iron-Python 27 ldquo aufruft Als erstes faumlllt einem dabeivielleicht die etwas laumlngere Startzeit des Interpre-ters auf Die haumlngt unter anderem davon ab dassdie komplette NET-Laufzeitumgebung geladen

werden muss Zum anderen verzouml-gert zusaumltzlich noch die Just-In-Time-Uumlbersetzung wenn man ein IronPy-

thon-Skript mit dem Befehl ipy mySkriptpystartet Es bleibt zu hoffen dass sich die Startzeitin zukuumlnftigen Versionen von IronPython verbes-sert

Ein kleines Hallo-Welt-Programm ohne eineNET-Bibliothek sieht in IronPython genauso auswie in Python selbst

print Hallo Welt

Das gleiche Beispiel mit WriteLine aus dem NET-Namensraum SystemConsole sieht schon et-was anders aus

from SystemConsole import WriteLine(Hallo Welt)

Wer sich schon einmal mit VBNET beschaumlftigendurfte kommt hier einiges bekannt vor Der Ein-druck verstaumlrkt sich wenn man die Meldung in ei-nem gesonderten Fenster mit MessageBox aus-geben will

import clrclrAddReference(SystemWindowsyForms)from SystemWindowsForms import

MessageBoxShow(Hallo Welt Wichtige Mitteilung MessageBoxButtonsOK MessageBoxIconInformation MessageBoxDefaultButtonButton1)

Mit dem Importieren des CLR-Moduls erhaumllt manin IronPython die Basisfunktionen fuumlr den Zu-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 26

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 27: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PYTHON

griff auf NET-Bibliotheken uumlber ihre Namensraumlu-me um beispielsweise Referenzen auf andere Bi-bliotheken und Programme die Assemblies her-zustellen Im Beispiel wird eine Referenz aufden Namensraum SystemWindowsForms er-stellt mit dessen Assemblies man grafische Be-nutzeroberflaumlchen erstellen kann Damit man dieFunktionen der Assemblies erreicht muumlssen sienach der Referenz importiert werden

Hallo-Welt-Beispiel mit IronPython

Ist der Verweis hergestellt und sind die Assem-blies importiert folgt der Befehl zum Erstellender MessageBox der sich nur wenig von dem inVBNET unterscheidet

Noch mehr NETNatuumlrlich kann man auch selbst geschriebeneNET-Bibliotheken einbinden In diesem sehr sim-plen Beispiel soll einmal angenommen werdendass man eine Bibliothek die zwei Zahlen mit-einander addiert in einem IronPython-Skript zurVerfuumlgung haben moumlchte In VBNET sieht dieKlasse wie im folgenden Listing aus

Wichtig ist hier der Namensraum (Namespace)um das Objekt spaumlter wieder ansprechen zukoumlnnen Dann folgt die Klasse mit deren Funk-tion zwei Zahlen miteinander addiert werdenZum Uumlbersetzen benoumltigt man einen VBNET-Compiler der sollte er fehlen zusammenmit dem kostenlosen Visual Studio Express2010 [11] installiert werden kann

File AddvbNamespace myAddName

Public Class AddClassShared Function Add(i As yLong _

j As Long) As LongReturn (i + j)

End FunctionEnd Class

End Namespace

Listing 1 Addvb

Ist der Compiler vorhanden uumlbersetzt man denQuellcode mit folgendem Befehl

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo targetylibrary outmyAddLibrarydll Addyvb

Das Ergebnis ist die Bibliothek bzw AssemblymyAddLibrarydll In NET werden uumlbersetz-te Programmklassen als ausfuumlhrbare Program-me in sogenannten Assemblies zusammenge-fasst und bereitgestellt (aumlhnlich wie Jar-Dateienin Java) Dabei erhaumllt ein Assembly zwar die En-dung exe oder dll sie ist aber im Inneren

ganz anders strukturiert Moumlchte man wissen obdie DLL-Datei auch richtig funktioniert kann mansie mit diesem kleinen Programm testen

File TestcodevbImports SystemImports myAddNamePublic Class Testcode

Shared Sub Main(ByVal args As yString())

args = EnvironmentyGetCommandLineArgs()SystemConsoleWriteLine(yAddClassAdd(args(1) argsy(2)))

End SubEnd Class

Listing 2 Testcodevb

In diesem Programm wird das selbst erstellte As-sembly myAddName importiert und anschlieszligendin der Klasse Testcode die aus ihr bekann-te Funktion AddClassAdd() ausgefuumlhrt Diebeiden Zahlen die miteinander addiert werdensollen werden dem Programm Testcodeexeals Argumente uumlbergeben Das Ergebnis wirdschlieszliglich in der Kommandozeile ausgegebenBeim Kompilieren muss uumlbrigens auch auf dieselbst erstellte Bibliothek verwiesen werden diein das Programm importiert werden soll

CWindowsMicrosoftNETFrameworkyv4030319vbc nologo outyTestCodeexe referenceymyAddLibrarydll TestCodevb

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 27

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 28: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PYTHON

Anschlieszligend kann man mit TestCodeexe 56 in der Kommandozeile schauen ob alles ge-klappt hat Auf das Assembly myAddLibrarydll kann man mit IronPython zugreifen indemman mithilfe des Moduls CLR einen Verweisauf die spezielle Datei setzt und die Bibliothekdann mithilfe ihres Namensraums durch folgen-des Skript importiert

import clrclrAddReferenceToFile(ymyAddLibrarydll)from myAddName import AddClassAdd(5 6)

Man muss die IronPython-Befehle nicht der Rei-he nach in den Interpreter eingeben man kanndas Ganze auch in ein Skript gieszligen welchesdann folgendermaszligen aussieht

File myAddpyimport clrclrAddReferenceToFile(ymyAddLibrarydll)import myAddName

print myAddNameAddClassAdd(5 6)

Listing 3 myAddpy

Nachdem man das Skript unter den NamenmyAddpy gespeichert hat kann man es in derKommandozeile ausfuumlhren indem man ihm denBefehl ipy voranstellt

ipy myAddpy

Zusammenfassung der Arbeitsschritte zum Kompilieren und Ausfuumlhren des Beispiels

Handelt es sich bei dem Skript um eine Windows-und nicht um eine Konsolen-Anwendung kannman es auch ohne Konsolen-Fenster ausfuumlh-ren indem man den Befehl ipyw vor das Skriptsetzt Weitere Bespiele zum Testen und Ler-nen findet man im Verzeichnis der IronPython-Installation im Ordner Tutorial Noch mehr Bei-spiele gibt es auch bei Codeplex [12] und die Do-kumentation mit Beispielen auf der IronPython-Homepage [13]

PowerscriptingWenn man anstelle von cmdexe die Power-Shell benutzt braucht man nicht den umstaumlnd-lichen Weg uumlber den IronPython-Interpreter

zu gehen Man kann das IronPython-Assemblyauch gleich in die PowerShell laden Vorausset-zung dafuumlr ist allerdings dass die PowerShellNET 40 versteht [14] was sie in der Standard-einstellung leider nicht kann Um zu pruumlfen wel-ches NET-Framework die Powershell unterstuumltztgibt man folgenden Befehl ein

PS Cgt[environment]Version

Major Minor Build Revision----- ----- ----- --------2 0 50727 5456

Steht unter Major eine 2 so wie im Beispieldann ist der Standard mit NET 20 einge-

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 28

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 29: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PYTHON

stellt Da IronPython wie gesagt auf Version40 des Frameworks beruht legt man im Ver-zeichnis der PowerShell System32WindowsPowerShellv10 die KonfigurationsdateiPowerShellExeConfig mit folgendem Inhaltan

ltxml version=10gtltconfiguration gtltstartup yuseLegacyV2RuntimeActivationPolicyy=truegtltsupportedRuntime version=v4y030319gtltsupportedRuntime version=v2y050727gtltstartupgtltconfiguration gt

Nach einem erneuten Start der PowerShell kannman das IronPython-Assembly laden

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)$ipe = [ironpythonhostingpythony]CreateEngine()$ipeExecute(print Hallo Welt)

Es gehen aber nicht nur einzelne Befehle mit ei-nem Here-String kann man auch ein ganzes Iron-Python-Skript in die PowerShell einbetten

[reflectionassembly]LoadFrom(CyProgram FilesIronPython 27yIronPythondll)

$ipe = [ironpythonhostingpythony]CreateEngine()$code = import socketaddress = socketgethostbyname(ysocketgethostname())print address$ipeExecute($code)

Das soll nur ein kurzer Einblick sein welcheMoumlglichkeiten IronPython noch so bietet Mankann natuumlrlich auch umgekehrt die PowerShell inIronPython einbetten oder IronPython zur Skript-Sprache einer selbst erstellten C-Anwendungmachen Die Grenzen werden dabei nur durchdas verwendete NET-Framework gesetzt

FazitWer Spaszlig am Programmieren mit Python hat undsich dazu noch mit dem NET-Framework von Mi-crosoft beschaumlftigen will oder muss fuumlr den istIronPython gerade richtig Man kann in IronPy-thon mit Windows Forms oder Windows Presen-tation Foundation (WPF) grafische Benutzerober-flaumlchen entwickeln die nicht wie Fremdkoumlrperaussehen oder Bibliotheken in seiner Lieblings-sprache Python schreiben und sie mithilfe desIronPython-Compilers in Assemblies uumlbersetzendie in anderen NET-Projekten weiter verwendetwerden koumlnnen Daruumlber hinaus eignet es sichauch gut zum Testen von Assemblies da IronPy-thon-Skripte nicht extra kompiliert werden muumls-sen sondern gleich ausgefuumlhrt werden koumlnnenDa der Uumlbersetzungsschritt wegfaumlllt kann man

schnell kleine Programme fuumlr besondere Aufga-ben erstellen Fuumlr NET-Entwickler hat der Inter-preter von IronPython den Vorteil dass man mitObjekten spielen und sie ausprobieren kann Oh-ne sie in ein statisches Programm zu packenund kompilieren zu muumlssen kann man Klasseninstanziieren und ihre Eigenschaften erforschenWer sich tiefer gehend mit IronPython beschaumlfti-gen will muss allerdings gute Englischkenntnis-se mitbringen weil es kaum Dokumentationenauf Deutsch gibt Angefangen mit dem Tutori-al das sich im IronPython-Verzeichnis befindetuumlber Buumlcher und Quellen im Internet liegt fast al-les ausschlieszliglich auf Englisch vor

IronPython ist noch lange nicht tot auch wenndie Entwicklung nach dem Wegfall der aktivenUnterstuumltzung von Microsoft nur langsam weiter-geht und das Projekt auf seinen Begruumlnder Hugu-nin verzichten muss nachdem er von Microsoftzu Google [15] gewechselt ist Im Gegenteil Iron-Python zieht bald mit der Python-Version 273gleich [16] die Alpha-Version kann schon herun-tergeladen werden Auszligerdem wird in naher Zu-kunft der letzte groszlige Sprung in der Entwicklungvon Python nachvollzogen werden und Version32 erscheinen [17]

Fuumlr Open-Source-Entwickler ist auszligerdem dasweitere Vorgehen von Microsoft unter Windows 8und dem NET-Framework 45 interessant nach-dem das Unternehmen angekuumlndigt hat keinenCompiler mehr mit auszuliefern [18] Wenn dieUnterstuumltzung fuumlr Sprachen wie VBNET C oderVisual C++ in den Express-Versionen von Visual

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 29

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 30: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

PYTHON

Studio 11 wegfaumlllt werden auf lange Sicht viel-leicht Open Source-Alternativen wie IronPythonIronRuby und Develop [19] als Entwicklungs-umgebung interessanter um Windows- oderKonsolen-Anwendungen zu schreiben Trotzdemwird IronPython vorerst ein Nischenprodukt blei-ben was einfach in der Natur der Sache liegt DieSchnittmenge zwischen Python-Programmierernund NET-Entwicklern ist einfach zu klein

LINKS

[1] httpwwwpython-forumdeviewtopicphpf=1ampt=29163

[2] httpblogsmsdncombjasonzarchive20101021new-components-and-contributors-for-ironpython-and-ironrubyaspx

[3] httphuguninnetstory_of_jythonhtml[4] httpblogsmsdncombhuguninarchive2006

0905741605aspx

[5] httpgeekswithblogsnetbriansarchive20080614122861aspx

[6] httpsenwikipediaorgwikiFor_Want_of_a_Nail_(proverb)

[7] httpwwwmicrosoftcomde-dedownloaddetailsaspxid=17718

[8] httpironpythonnet[9] httpironpythoncodeplexcom

[10] httpsgithubcomIronLanguagesmain[11] httpwwwmicrosoftcomgermanyexpress[12] httpironpythoncodeplexcomwikipagetitle=

Samples[13] httpironpythonnetdocumentation[14] httptfl09blogspotde201008using-newer-

versions-of-net-withhtml[15] httphuguninnetmicrosoft_farewellhtml[16] httpblogironpythonnet[17] httplistsironpythoncompipermailusers-

ironpythoncom2011-March014494html

[18] httparstechnicacominformation-technology201205no-cost-desktop-software-development-is-dead-on-windows-8

[19] httpwwwicsharpcodenet

Autoreninformation

Christian Imhorst (Webseite) betreutals Floppyschlosser tagsuumlber meh-rere hundert Windows-Clients auchmithilfe von Batch-Dateien VBScriptPowerShell und VBNET Nachtsbeschaumlftigt er sich am liebsten mitGNULinux und Python (wenn er dafuumlrmal Zeit hat)

Diesen Artikel kommentieren

bdquoLeaseldquo copy by Randall Munroe (CC-BY-NC-25) httpxkcdcom616

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 30

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 31: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

KDE

KDE-Geschichte von Martin Graumlszliglin

Im Oktober des letzten Jahres konnte dieKDE Community ihren 15 Geburtstag fei-ern [1] Grund genug einmal die Geschich-

te dieser Community zu beleuchten die mitt-lerweile zu einer der groumlszligten Freien-Software-Communities der Welt aufgestiegen ist

Wie alles begannHeutzutage bezeichnet sich die KDE-Communityselbst als bdquoein internationales Technologieteamwelches sich der Erstellung einer freien und be-nutzerfreundlichen Computernutzung gewidmethatldquo Zu den Produkten der KDE-Community ge-houmlrt ein bdquofortschrittlicher grafischer Desktop ei-ne groszlige Vielzahl an Anwendungen fuumlr Kommu-nikation Arbeit Lernen und Unterhaltung undeine Plattform zum einfachen Erstellen von An-wendungenldquo (Quelle [2]) Aber wie sah die Weltvor mehr als 15 Jahren aus Damals gab esnoch keine einheitliche Desktopumgebung oderAnwendungen aus einem Guss Vorherrschendwar damals das Common Desktop Environment(CDE) eine proprietaumlren Desktopumgebung fuumlrX11 basierend auf Motif [3] Aber neben Motifgab es noch viele weitere grafische Toolkits ndash vielmehr als die heute dominierenden GTK+ und QtDies fuumlhrte zu einem sehr uneinheitlichen Bildund Benutzererfahrung

Am 14 Oktober 1996 war es Matthias Ettrich zuviel geworden und er startete einen Aufruf nachProgrammierern fuumlr das neue Projekt bdquoKool Desk-top Environmentldquo aumlhnlich wie Linus Torvalds

ein paar Jahre zuvor im Usenet jedoch nun incomposlinuxmisc [4] Ettrich zielte mit seinemneuen Projekt auf Endanwender und nicht aufSystem-Administratoren fuumlr die es ja die Kom-mandozeile gibt Eine Umgebung fuumlr Nutzer diedurch das Web surfen Briefe schreiben und Spie-le spielen wollen Nicht viel scheint sich geaumlndertzu haben in den letzten 15 Jahren

Nicht einmal zwei Jahre spaumlter am 12 Juli 1998wurde das Release 10 des K Desktop Environ-ment veroumlffentlicht [5] Das eigentliche Ziel wardamit erfuumlllt Es existierte nun eine einfach zu be-nutzende und zeitgemaumlszlige Desktopumgebung fuumlrUnix Und nicht nur das auch ein DevelopmentFramework und eine Office-Suite wurden erstelltDie Entwickler waren somit sogar uumlber ihr eigent-liches Ziel hinaus geschossen

Die Lizenz-ProblematikFuumlr die KDE-Entwickler gab es aber keine Moumlg-lichkeit sich auszuruhen gab es doch noch ernst-hafte Schwierigkeiten mit der Lizenz Die KDE-Entwickler verwendeten das Widget-Toolkit Qtder Firma Trolltech und viele sahen KDE als un-freie Software an da Qt zum damaligen Zeit-punkt unter einer proprietaumlren Lizenz stand KDEselbst ist jedoch immer Freie Software gewesenkeines der Module stand jemals unter einer un-freien Lizenz KDE-Anwendungen muumlssen sichan die Licensing Policy [6] halten Die Linux-Distribution Debian hatte zum Beispiel KDE nicht

in die Paketquellen aufgenommen da sie ei-ne GPL-Verletzung sahen [7] Selbst als Qt un-ter einer freien Lizenz der QPL [8] veroumlffent-licht wurde konnten die Schwierigkeiten nichtbeseitigt werden denn die QPL war nicht GPL-kompatibel

Endguumlltig konnte das Problem erst behoben wer-den nachdem Qt 22 auch unter der GNU Gene-ral Public License (GPL) veroumlffentlicht wurde [9]Trolltech hatte damit eine groszlige Gabe an die freieSoftware-Welt gemacht denn so etwas laumlsst sichnicht mehr umkehren Aber viel bedeutender wardie Gruumlndung der KDE Free Qt Foundation [10]im Juni 1998 [11] Diese Foundation haumllt eine Li-zenzvereinbarung mit dem Copyright-Holder vonQt (aktuell Nokia) um sicherzustellen dass Qt im-mer unter einer freien Softwarelizenz steht Solltedie Entwicklung der freien Qt-Version eingestelltwerden so hat die Foundation das Recht denletzten freien Quellcode unter eine BSD-artigeLizenz zu stellen Zum damaligen Zeitpunkt haumlt-te die Veroumlffentlichung von Qt unter einer BSD-artigen Lizenz das Geschaumlftsmodell von Trolltechzerstoumlrt da BSD-artige Lizenzen im Gegensatzzur GPL die Entwicklung proprietaumlre Software er-moumlglicht

Mittlerweile steht Qt nach der Uumlbernahme vonTrolltech durch Nokia [12] auch unter der LGPL21 [13] womit auch proprietaumlre Softwareentwick-lung moumlglich ist und dies nicht nur unter X11 son-dern auf allen Plattformen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 31

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 32: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

KDE

Obwohl Qt seit Version 22 unter der GPL undseit Version 45 unter der LGPL [13] steht hatsich lange das Maumlrchen gehalten dass Qt nichtfrei sei oder KDE nicht frei sei Besonders un-ter bdquoFundamentalistenldquo scheinen solche Fehlerunverzeihlich zu sein egal ob heute noch Codedavon im Einsatz ist oder die Entwickler noch be-teiligt sind

GNOME vs KDEEine der Konsequenzen der fruumlhen Lizenzproble-me war die Gruumlndung des GNOME-Projekts imJahre 1997 als ein GNU-Projekt [14] um einenwirklich freien Desktop zu schaffen Die Motivati-on fuumlr das Projekt und die Zusammenarbeit bei-der Projekte war damit houmlchst unguumlnstig denndas eine existierte nur als Reaktion auf das an-dere wodurch dieses angegriffen wurde Anstatteinen Konkurrenzkampf mit den unfreien Pro-dukten zu starten begann die Freie-Software-Gemeinschaft einen internen Konkurrenzkampfum die Frage der Lizenz eines Toolkits ndash ein Pro-blem das schnell behoben werden konnte

Natuumlrlich wurde das GNOME-Projekt nicht einge-stellt nachdem Qt unter der GPL stand Mittler-weile hatte es auch ein Release [15] und eineaktive Community Der urspruumlngliche Grund exis-tierte zwar nicht mehr aber es gab genuumlgendandere Gruumlnde das Projekt fortzusetzen Den-noch ist selbst heute der groumlszligte unterscheidendeFaktor zwischen KDE- und GNOME-Software dieWahl des Toolkits und es ist unwahrscheinlichdass diese Trennung in Zukunft aufgehoben wirdWobei anzumerken ist dass die KDE-Community

mittlerweile infuumlr GTK+ geschriebene Softwareim Angebot hat

In den Medien und bei den Nutzern wur-de sehr oft ein Zweikampf zwischen den bei-den Projekten gesehen Aber unter den Ent-wicklern war dies nie so sehr der Fall Uumlberdas freedesktoporg-Projekt begannen die bei-den Projekte sehr fruumlh an gemeinsamen Spe-zifikationen [16] zu arbeiten um die Interope-rabilitaumlt der Anwendungen zu verbessern Seit2009 finden die Konferenzen bdquoAkademyldquo derKDE-Community und bdquoGUADECldquo der GNOME-Community als Desktop Summit [17] alle zweiJahre zusammen statt

KDE 20 copy Usrwp (GPL 2)

Von KDE 2 zu 3Neben dem ganzen Theaterum Lizenzen und das GNOME-Projekt wurde natuumlrlich nicht auf-gehoumlrt zu entwickeln und so folg-te bereits im Oktober 2000 dieVersion 20 [18] Wie bei vielenProjekten war der erste Wurf ausSicht der Entwickler nicht ganzgelungen und so stellte KDE 20eine fast komplette Neuimplemen-tierung des Desktops dar

Mit KDE 2 wurden viele An-wendungen eingefuumlhrt die auchheute noch bekannt und in Be-nutzung sind So zum Beispieldas als Schweizer Taschenmes-ser von KDE bekannte Programm

Konqueror welches sowohl Webbrowser Datei-manager und Dokumentenbetrachter ist

Die fuumlr Konqueror entwickelte Web-RenderingEngine bdquoKHTMLKJSldquo sollte noch ganz besonde-ren Ruhm erfahren So entschied sich die FirmaApple Computer fuumlr ihren Webbrowser SafariKHTMLKJS als Grundlage zu nehmen und er-stellte daraus den Fork namens WebKit [19] Un-gluumlcklicherweise war WebKit zu Beginn kein bdquorich-tigesldquo Open-Source-Projekt und Apple setzte nurdie minimalen Anforderungen um wodurch einZuruumlckportieren der Aumlnderungen nach KHTMLnicht moumlglich war [20] Im Laufe der Zeit wurdeWebKit bedeutend erfolgreicher als das urspruumlng-liche KHTML-Projekt und wird nun nicht nur in

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 32

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 33: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

KDE

Apples Safari sondern auch in KDEs Konquer-or Google Chrome [21] GNOMEs Epiphany [22]und auf so gut wie allen Smartphones eingesetztDas Web wie es heute existiert waumlre ohne die-se KDE-Technologie nicht mehr denkbar Ohnees zu wissen verwenden viele Nutzer jeden TagKDE-Software ist doch Google Chrome mittler-weile der weltweit meist genutzte Browser [23]

Nicht einmal zwei Jahre nach der Veroumlffentli-chung von KDE 2 wurde bereits KDE 3 im April2002 veroumlffentlicht [24] Grund hierfuumlr war haupt-saumlchlich eine Aumlnderung in der Binaumlrschnittstelle(ABI) von Qt welches zur Auswirkung hatte dassauch KDE die Versionsnummer erhoumlhen mussteBisher hatte sich die erste Ziffer der KDE-Versionimmer von der Qt-Version abgeleitet

Anders als mit KDE 2 enthielt KDE 3 nicht so vie-le Neuerungen und stellte keine Neuimplemen-tierung dar Dies kann man schon daran erken-nen dass KDE 30 nur wenige Monate nach derVeroumlffentlichung von Qt 30 im Oktober des vor-herigen Jahres [25] veroumlffentlicht wurde ndash derPortierungsaufwand war somit also eher geringUumlber einen Zeitraum von fast vier Jahren veroumlf-fentlichte die KDE-Community fuumlnf weitere Major-Releases der 3x-Serie

Insgesamt war damit 3x mehr als ein halbesJahrzehnt in Entwicklung und somit sehr ausge-reift und voller Funktionalitaumlt Man sagt den KDE-Entwicklern nach jedes erdenkbare Feature im-plementiert und dazu noch einen Schalter ein-gebaut zu haben Fuumlr Intensiv-Nutzer war dies

KDE 31 copy Usrwp (GPL 2)

eine tolle Tatsache aberder eigentliche Endanwen-der ist dabei auf der Stre-cke geblieben Interessan-terweise gefiel dem Gruumln-der der KDE-CommunityMatthias Ettrich diese Ent-wicklung uumlberhaupt nichtund so hat er sich im Lau-fe der Zeit von der KDE-Community abgewandtum an Qt zu arbeiten [26]

Der Weg zu KDE 4Die Quellcodebasis vonKDE 3 war ndash wie obenerwaumlhnt ndash bereits deut-lich in die Jahre gekom-men und viele Designent-scheidungen der Vergan-genheit setzten Grenzenin der Entwicklungsmoumlglichkeit der SoftwareAuch durch die Vielzahl an Funktionen ist die Co-debasis sehr komplex und schwer zu warten Da-zu kam dass Qt 4 keinen so leichten Uumlbergangbieten wuumlrde wie es bei Qt 3 der Fall gewesenist

So zeichnete sich bereits bei der Akademy 2005noch vor dem Release 35 die Planung fuumlr KDE4 mit vielen Vortraumlgen ab [27] Uumlber eine Reihevon Entwicklertreffen [28] wurden die bdquoPillars ofKDEldquo [29] ausgearbeitet ndash eine Reihe von Tech-nologien auf denen die neuen Anwendungen ba-sieren sollten

Wie bei vielen Projekten dieser Art zog sich dieEntwicklung laumlnger hin als erwartet und einigeSaumlulen erblickten nie das Licht der Welt anderewurden erst Jahre spaumlter richtig einsatzbereit

Als im Januar 2008 nach einiger Verzoumlgerungdie erste Version der 4er-Serie veroumlffentlicht wur-de [30] kam fuumlr viele Anwender erst einmal ei-ne groszlige Enttaumluschung Von den angekuumlndig-ten Verbesserungen war erst einmal nicht vielzu sehen Viele der bdquoSaumlulenldquo waren entwederuumlberhaupt noch nicht im Einsatz oder einfachnoch nicht ausgereift um im produktiven Um-feld eingesetzt werden zu koumlnnen Besonders

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 33

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 34: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

KDE

KDE Plasma Workspaces copy KAMiKAZOW (GPL 2)

der neue Plasma Desktop war zu diesem Zeit-punkt maximal in einem Alpha-Stadium DieserStatus wurde von der Community unzureichendkommuniziert obwohl er bekannt war Plasma-Hauptentwickler und -Maintainer Aaron Seigobezeichnete 40 als bdquowill eat your childrenldquo-Release [31] und die KDE-Community veroumlf-fentlichte selbst nach 41 [32] noch eine Bugfix-Version von KDE 35 [33]

Eigentlich alles Indizien um durch die Blumezu sagen Leute bitte bleibt bei Version 35Ungluumlcklicherweise haben einige Distributionendie neue Version etwas zu fruumlh auf die Anwen-der losgelassen so zum Beispiel Fedora 9 mit40 [34] und Kubuntu mit 41 [35] Dies erreich-te somit Nutzer die nicht damit rechneten dassihr Desktop auf eine Alpha-Version herabgestuftwurde [36]

Anstatt bei den bewaumlhrten Programmenzu bleiben sind sowohl Distributionenals auch Endanwender in einen Upgrade-Wahn verfallen um immer das Neuesteund Beste zu haben Die Erwartungenwurden somit bitter enttaumluscht und vie-le KDE-Anwender scheinen damals dasProjekt zuruumlckgelassen zu haben undsind nicht beim bewaumlhrten KDE 35 ge-blieben

Mittlerweile sind diese Probleme gluumlckli-cherweise Geschichte Der Plasma Desk-top und die Saumlulen von KDE sind ausge-reift stabil und genauso reich an Funktio-nen wie die Vorgaumlngerversion dabei aberdurch einen modulareren Aufbau auchbesser wartbar Bei den 2011 LinuxQues-tionsorg Members Choice Awards konnte

zum Beispiel Plasma als beliebteste Desktopum-gebung punkten [37]

KDE als CommunityDie Probleme um KDE 40 zeigten auch sehrdeutlich ein eigentlich schon laumlnger existieren-des Problem auf Der Name bdquoK Desktop Envi-ronmentldquo eignet sich nicht mehr um die Vielzahlder Anwendungen aus der KDE-Community zubezeichnen So machte die neue Desktopumge-bung Plasma nur einen Bruchteil der mit KDE40 veroumlffentlichten Anwendungen aus trotzdemwurde die Qualitaumlt von Plasma auf das komplet-te Projekt in der oumlffentlichen Wahrnehmung aus-gedehnt Aumlhnliches war bei der Einfuumlhrung vonverschiedenen Subsystemen zu beobachten

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 34

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 35: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

KDE

Betrachtet man dazu noch dass das kde-workspace-Modul (die eigentliche Desktopumge-bung) laut David A Wheelerrsquos bdquoSLOCCountldquo [38](SLOC = Source Lines of Code) nur et-wa 400000 Quellcode-Zeilen wiegt (Stand gitcommit f5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04 [39]) und im Vergleich dazu die Office-Suite bdquoCalligraldquo mehr als 1000000 Zeilen schwerist (Stand git commit 91667cdc99cb00b2d5cd371726fde61749e97878 [40]) wird dieses Un-gleichgewicht deutlich sichtbar

Wie auch bei anderen Communities wie z B beiMozilla oder Apache existiert viel mehr Softwarerund um das urspruumlngliche Produkt und KDE istnun eigentlich mehr eine Dachorganisation alsein spezifisches Produkt

So kam es dass die KDE-Community im Novem-ber 2009 ihre Marke neu aufstellte und KDE dieurspruumlngliche Bedeutung verlor und nun keineAbkuumlrzung mehr ist [41] KDE ist nun nicht mehrSoftware die von Menschen erstellt wird son-dern steht fuumlr die Menschen welche Software er-stellen Die eigentliche Desktopumgebung wirdseither als bdquoKDE Plasma Desktopldquo bdquoKDE Plas-ma Netbookldquo und bdquoKDE Plasma Activeldquo ndash je nachFormfaktor Desktop Netbook und Tablet ndash be-zeichnet Die vielfaumlltigen Anwendungen werdennun als bdquoKDE Applicationsldquo zusammengefasstund die Bibliotheken zur Erstellung von Anwen-dungen als bdquoKDE Platformldquo

Bis die neuen Begriffe bei den Anwendern undden Medien angekommen waren hat es doch

einige Zeit gedauert und manche Medien wei-gern sich immer noch konsequent die neuenNamen einzusetzen Erschwerend kommt hinzudass die KDE-Community weiterhin aus pragma-tischen Gruumlnden halbjaumlhrlich ein gemeinsamesRelease der KDE Plasma Workspaces KDE Ap-plications und KDE Platform unter gleicher Ver-sionsnummer veroumlffentlicht (zuletzt Version 48im Januar 2012 [42]) Diese werden intern auchals bdquoSoftware Compilationldquo (SC) bezeichnet je-doch wird in der oumlffentlichen Darstellung der Na-me nicht mehr verwendet um nicht fuumlr weitereVerwirrung zu sorgen

Mittlerweile wird die Umstellung immer ersichtli-cher ndash auch fuumlr die Nutzer So beinhaltete dasletzte Release 48 keine neue Version der KDEPlatform und auch das kommende Release 49wird in der KDE Platform auf dem Stand der Ver-sion 47 stehen bleiben In Zukunft ist es sogardenkbar dass manche Anwendungen bereits aufden KDE Frameworks 5 (mehr dazu im AbschnittbdquoAusblick in die Zukunftldquo unten) gruumlnden woge-gen andere noch auf KDE Platform 4x basie-ren werden Daruumlber wie die Versionsnumme-rierung dann fortgefuumlhrt wird hat sich die KDE-Community noch keine Gedanken zu gemachtEs ist aber sehr wahrscheinlich dass es keinbdquoKDE 5ldquo im Stile von bdquoKDE 4ldquo geben wird

Trivia zu KDEEs ist sehr schwer die Erfolge der KDE-Community zu erfassen da es keine genauenZaumlhlungen der Nutzerzahlen gibt und es auchunbekannt ist wie viele Anwender nun wirklich

KDE-Software einsetzen Jedoch gibt es eini-ge schoumlne und erwaumlhnenswerte Erfolge wie derbereits angesprochene Siegeszug von KHTMLdurch seinen WebKit-Fork

Im Jahr 2009 konnte KDE als erstes oumlffent-lich verfuumlgbares Repository den 1000000 Com-mit im Quellcode-Verwaltungssystem feiern [43]Mittlerweile ndash nach dem Wechsel zu git undder Aufteilung in viele kleine Module ndash ist dieVerfolgung der Commits nicht mehr trivial DerQuellcode einer Teilmenge dieses Repositories(die als KDE SC zusammengefassten Anwen-dungen) umfasst mehr als 4000000 Zeilen [44]und ist damit eines der groumlszligten kollaborativenfreien Softwareprojekte

Die weltweit groumlszligte bekannte Linux-Installationmit 500000 Rechnern im brasilianischen Schul-system arbeitet mit KDE-Software [45] ebensobasiert der LiMux-Client der Stadt Muumlnchen aufKDE [46] Auch in der Filmindustrie wird sehrgerne KDE-Software eingesetzt So ist bekanntdass der Film Avatar auf Kubuntu-Rechnern ge-rendert wurde [47]

Ausblick in die ZukunftKDE ist eine sehr lebendige und sehr breit auf-gestellte Community und somit auch fuumlr die Her-ausforderungen der Zukunft bestens geruumlstet Imletzten Jahr konnten die KDE Workspaces mitPlasma Active [48] auf Tablets ausgedehnt wer-den und demnaumlchst wird das erste auf Plas-ma Active basierende Tablet Vivaldi [49] auf denMarkt kommen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 35

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 36: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

KDE

Viele KDE-Anwendungen wurden mittlerweile fuumlrTouch-basierte Geraumlte angepasst und sind imOVI Store [50] verfuumlgbar Fuumlr Android wird ak-tuell der benoumltigte Qt-Port Necessitas innerhalbder KDE-Community entwickelt [51] Die KDE-Community konnte der sehr erfolgreichen Cloud-Software ownCloud [52] als Inkubator dienen undist generell dabei Cloud-basierte Loumlsungen im-mer weiter in ihre Anwendungen einzubauen DieInstallation von Apps aus der Cloud war bei KDEschon lange als bdquoGet Hot New Stuffldquo bekanntbevor irgendjemand an die Wolke oder bdquoAnwen-dungslaumldenldquo dachte

Die KDE Platform wird aktuell uumlberarbeitet und inkleine unabhaumlngige Bibliotheken umgestellt wel-che dann als KDE Frameworks 5 veroumlffentlichtwerden soll Diese Entwicklung soll es ermoumlg-lichen KDE-Technologie einfacher in eine An-wendung einzubauen ohne die kompletten Bi-bliotheken als Abhaumlngigkeit haben zu muumlssenDie Uumlberarbeitung der KDE Platform hat uumlbri-gens keinerlei Auswirkung auf die KDE PlasmaWorkspaces und KDE Applications

Wer generell die Entwicklung der KDE-Community genauer verfolgen will dem seizum einen der Planet [53] sowie der Commit-Digest [54] empfohlen welcher jede Woche dieAumlnderungen im Quellcodeverwaltungssystem zu-sammenfasst

KDE unterstuumltzenWie im Artikel erklaumlrt ist KDE eine Communi-ty und eine Community kann nur durch Men-

schen existieren Jeder Nutzer ist Teil der groszligenKDE-Community und die Community ist im-mer offen und freundlich zu neuen Mitstrei-tern Es gibt kaum einen Bereich in dem mansich nicht uumlber neue Leute freuen wuumlrde Vie-le Nutzer gehen immer davon aus dass mannur Entwickler braucht aber das ist weit ge-fehlt Egal ob man als Autor in freiesMagazinuumlber KDE-Anwendungen schreibt bei ubuntu-users [55] oder forumkdeorg [56] Support leis-tet auf bugskdeorg [57] Fehler meldet oderhilft die existierenden besser zu verwalten Alldies sind wichtige Aufgaben innerhalb der KDE-Community Mehr Informationen findet man inKDEs bdquoGet Involvedrdquo-Wikiseite [58] Wer die KDECommunity lieber finanziell unterstuumltzen moumlch-te um zum Beispiel Entwicklertreffen zu finan-zieren kann dieses uumlber das bdquoJoin the Gameldquo-Programm tun [59]

Wer Mitglieder der KDE-Community auch malpersoumlnlich kennenlernen will kann dies zum Bei-spiel bei den zahlreichen weltweiten ReleasePartys [60] machen Zu 48 gab es in Deutsch-land in Karlsruhe Ulm und Berlin eine ReleaseParty Auch bei Veranstaltungen wie dem Linux-Tag [61] kann man regelmaumlszligig Mitglieder derKDE-Community treffen

LINKS

[1] httpkdenewsorg20111005freedom-15-years-party

[2] httpkdeorg[3] httpsenwikipediaorgwikiCommon_Desktop_

Environment

[4] httpgroupsgooglecomgroupcomposlinuxmisctreebrowse_frmthread4836e257721ab7fbcb4b2d67ffc3ffcernum=1amp_done=groupcomposlinuxmiscbrowse_frmthread4836e257721ab7fb10e10a7a9e08943blnk=gstampdoc_cb4b2d67ffc3ffce

[5] httpkdeorgannouncementsannounce-10php

[6] httptechbasekdeorgPoliciesLicensing_Policy

[7] httpwwwdebianorgNews199819981008[8] httpenwikipediaorgwikiQ_Public_License[9] httpwwwlinuxtodaycomdeveloper2000090401

320OSLFKE[10] httpwwwkdeorgcommunitywhatiskde

kdefreeqtfoundationphp[11] httpwwwkdeorgcommunitywhatiskde

kdefreeqt_announcementphp[12] httpdotkdeorg20080128nokia-acquiring-

trolltech[13] httpqtnokiacomaboutnewslgpl-license-

option-added-to-qt[14] httpprimatesximiancom~miguelgnome-

historyhtml[15] httpwww-oldgnomeorgpressreleases

gnome10html[16] httpwwwfreedesktoporgwikiSpecifications[17] httpsdesktopsummitorg[18] httpkdeorgannouncementsannounce-20

php[19] httplistskdeorgl=kfm-develampm=1041970923

18639ampw=2[20] httpblogskdeorgnode1001[21] httpenwikipediaorgwikiGoogle_Chrome

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 36

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 37: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

KDE

[22] httpsmailgnomeorgarchivesepiphany-list2008-Aprilmsg00000html

[23] httpwwwheisedenewstickermeldungWebbrowser-Chrome-rueckt-Internet-Explorer-auf-die-Pelle-1580506html

[24] httpkdeorgannouncementsannounce-30php

[25] httpdotkdeorg20011016trolltech-releases-qt-30

[26] httpblogjospoortvlietcom201006flameworthy-linuxtag-noteshtml

[27] httpconference2005kdeorgsched-devconfphp

[28] httpdotkdeorg20050405appeal-meeting-springtime-berlin

[29] httpwwwkdeorgkdeslidesfosdem20072007-02-poortvliet-kde4pdf

[30] httpkdeorgannouncements40[31] httpkdeorgannouncements41[32] httpkdeorgannouncementsannounce-3510

php[33] httpfedoraprojectorgwikiReleasesFeature

KDE4[34] httpwwwkubuntuorgnews810-release[35] httpaseigoblogspotde200801talking-bluntly

html[36] httpwwwcomputerworldcomsarticle9126619

Q_A_Linux_founder_Linus_Torvalds_talks_about_open_source_identitytaxonomyId=18amppageNumber=5amptaxonomyName=Software

[37] httpwwwlinuxquestionsorgquestionslinux-news-592011-linuxquestions-org-members-choice-award-winners-928502

[38] httpwwwdwheelercomsloccount

[39] httpcommitskdeorgkde-workspacef5e3b0843d71b0b2c665b6ac5bc2495eccdb3f04

[40] httpcommitskdeorgcalligra91667cdc99cb00b2d5cd371726fde61749e97878

[41] httpdotkdeorg20091124repositioning-kde-brand

[42] httpkdeorgannouncements48[43] httpwwwkdenewsorg20090720kde-reaches-

1000000-commits-its-subversion-repository[44] httpblogcornelius-schumacherde200910

4273291-lines-of-codehtml[45] httplwnnetArticles455972[46] httpwwwit-muenchen-blogde201108

munchen-bringt-neues-release-4-0-des-limux-clients-heraus

[47] httpblogskdeorgnode4203[48] httpplasma-activeorg[49] httpmakeplaylivecom[50] httpstoreovicom[51] httpdotkdeorg20110601kde-releases-

second-alpha-necessitas[52] httpowncloudorg[53] httpplanetkdeorg[54] httpscommit-digestorg[55] httpforumubuntuusersdeforumkde[56] httpforumkdeorg[57] httpsbugskdeorg[58] httpcommunitykdeorgGetinvolved[59] httpjointhegamekdeorg[60] httpcommunitykdeorgPromoEventsRelease_

Parties[61] httpwwwlinuxtagorg2012

Autoreninformation

Martin Graumlszliglin (Webseite) ist seiteiner 3x-Version KDE-Anwender undist seit Veroumlffentlichung von Version40 als Entwickler taumltig Mittlerweilebetreut er den Fenstermanager derKDE Plasma Workspaces

Diesen Artikel kommentieren

bdquoTime Travelldquo copy by Randall Munroe(CC-BY-NC-25) httpxkcdcom630

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 37

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 38: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

REZENSION

Rezension HTML5 amp CSS3 for the Real World von Jochen Schnelle

H TML5 und CSS3 stellen den neustenStand der Standards zum Erstellenvon Webseiten dar Auch wenn noch

nicht alle Browser alle Elemente der Spezifi-kation umsetzen so wird die Unterstuumltzungmit jeder neuen Version eines Browsers bes-ser Wer sich mit der Erstellung von Web-seiten beschaumlftigt sollte sich von daher mitHTML5 und CSS3 befassen ndash und dabei willdas vorliegende ca 340 Seiten umfassendeenglischsprachige Buch bdquoHTML5 amp CSS3 forthe Real Worldldquo helfen

Von wemGeschrieben wurde das Buch von drei Webent-wicklern welche schon jahrelange Erfahrung imErstellen von Webseiten haben und uumlber Web-standards auch auf Konferenzen referieren DieErfahrung lassen die Autoren an vielerlei Stel-len ins Buch einflieszligen Immer wieder findet manHinweise zur bdquoBest Practiceldquo sei es wenn es umden Einsatz neuer HTML5- und CSS3-Elementegeht oder sei es wenn es um Themen wie Barrie-refreiheit und Ruumlckwaumlrtskompatibilitaumlt mit altenBrowsern geht

Welche BrowserApropos Ruumlckwaumlrtskompatibilitaumlt Aufgrund deshohen Entwicklungs- und Releasetempos derBrowserhersteller kann ein Buch zum ThemabdquoUmsetzung von neuen Webstandardsldquo quasi nieaktuell sein da zwischen dem Zeitpunkt des

Schreibens des Buchs und dem tatsaumlchlichen Er-scheinungsdatum oft mehrere neue Browserver-sionen liegen (zumindest bei Chromium und Fire-fox)

bdquoAktuellldquo sind fuumlr das Buch Firefox 4 ChromiumX IE 9 und Opera 10 Mit diesem bdquoProblemldquo gehtdas Buch relativ geschickt um da der Text sichzwar immer wieder auf diese Versionen beziehtaber gleichzeitig auch Ausblicke gibt welche Ele-mente die noch kommenden (bzw jetzt aktuel-len) Versionen der Browser unterstuumltzen Von da-her entsteht beim Lesen nie das Gefuumlhl dasBuch sei veraltet

Das Buch beruumlcksichtigt dabei primaumlr aktu-ell gaumlngige Browser ndash auch fuumlr Smartphone-Betriebssysteme wie iOS und den Android Aneinigen Stellen wird anstelle der Browser auchdie zugrunde liegende Engine referenziert alsoz B Webkit (als Basis von Chromium und Safa-ri) Wo immer passend werden auch Hinweiseauf alte Browser mit Hinblick auf die Ruumlckwaumlrts-kompatibilitaumlt gegeben wobei die Autoren bis zuden bdquoUrgesteinenldquo Netscape 20 und IE 4 zuruumlckgehen

Fuumlr wenDie Zielgruppe des Buches sind alle die sich fuumlrdie neuen Standard interessieren Dabei wird re-lativ wenig Vorwissen vorausgesetzt Wer grund-legende Kenntnisse in HTML4 hat der sollte kei-ne Probleme haben dem Inhalt zu folgen

An einigen Stellen ist es weiterhin hilfreich wennder Leser grundlegende JavaScript-Kenntnissehat da das Buch auf die neuen HTML5-Teilewie den Canvas und die Audio- und Video-Funktionalitaumlt eingeht Und diese Teile werdeneben (groumlszligtenteils) uumlber eine JavaScript-API an-gesprochen

Was steht drinDas Buch besteht aus insgesamt elf Kapiteln unddrei Anhaumlngen welche aber auch einen bdquokapitel-aumlhnlichenldquo Umfang haben Im ersten Kapitel wirdkurz die Geschichte von HTML5 beleuchtet al-so warum die Entwicklung des neuen Standardsinitiiert wurde und wie der aktuelle Stand der Din-ge ist Die folgenden beiden Kapitel beleuchtendie neuen Elemente wie z B ltsectiongt oderltarticlegt sowie Aumlnderungen an bestehendenElementen

Da HTML5 fuumlr Formulare viele Ergaumlnzungen undNeuerungen bereit stellt widmen die Autoren die-sem Thema ein komplettes eigenes Kapitel Ka-pitel 6 beschreibt dann die beiden bdquospektaku-laumlrenldquo neuen Elemente ltaudiogt und ltvideogtHierbei wird nicht nur das Einbinden von multime-dialen Inhalten beschrieben sondern natuumlrlichauch das Thema Codecs d h welcher Browserunterstuumltzt welches Videoformat Auszligerdem gibtes einen laumlngeren Abschnitt der beschreibt wieman die Video-API von HTML uumlber JavaScriptanspricht und anpasst

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 38

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 39: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

REZENSION

Die folgenden vier Kapitel mit den Nummern 6bis 9 behandeln das Thema CSS3 Auch hierwird zu Beginn die Historie kurz beleuchtet dannwerden die neuen Auszeichnungen und Moumlglich-keiten wie z B Farbverlaumlufe TransformationenEinbetten von Schriften und mehrspaltige Lay-outs vorgestellt

Im zehnten Kapitel wird auf weitere Neuerungenim Umfeld der HTML5 Spezifikation eingegan-gen namentlich die Geolocation-API die Moumlg-lichkeit seine Webseite auch als Offline-Versionzur Verfuumlgung zu stellen sowie das Thema WebStorage also das lokale Speichern von DatenIm folgenden Kapitel wird das Thema Grafik auf-gegriffen und zwar in Form des pixelbasiertenCanvas sowie des vektorbasierten SVG Hierbeiwird kurz das Erstellen von Grafiken mit beidenMethoden beschrieben sowie die jeweiligen Vor-und Nachteile

Die drei Anhaumlnge behandeln dann noch dieJavaScript-Bibliothek Modernizr (welche dabeihilft dass eine HTML5-basierte Webseite aufmoumlglichst vielen Browsern laumluft) sowie die The-men WAI-ARIA und den Einsatz von Mikrodaten

Beispiele gefaumllligDas Buch verwendet durchgehend ein einzigesBeispiel naumlmlich die ndash extra fuumlr dieses Buch an-gelegte ndash Webseite bdquoThe HTML5 Heraldldquo [1] wel-che auch tatsaumlchlich online ist Hier werden alleim Buch gezeigten und vorgestellten ElementeHTML5 und CSS3 verwendet

Im Buch selber ist natuumlrlich nicht der kompletteQuelltext der Webseite und der CSS-Dateien ab-gedruckt ndash was auch alleine aufgrund des Um-fangs wenig sinnvoll waumlre Man findet aber denpassenden Download-Link Was im Buch immerwieder auftaucht sind kurze Code-Schnipselwelche das gerade Gezeigte beschreiben AlleBeispiele sind in sich abgeschlossen und gut ver-staumlndlich Dadurch kann man das Buch auch gutlesen ohne vor dem Computer sitzen zu muumls-sen um die Beispiele nachvollziehen zu koumlnnenDes Weiteren findet man im Buch wo immernoumltig Bildschirmfotos in Graustufen abgedrucktwelche den Inhalt zusaumltzlich visualisieren

Gut geschriebenDie Autoren pflegen einen durchweg fluumlssigenSchreibstil der sich angenehm lesen laumlsst Ob-wohl drei Leute an dem Buch mitgeschrieben ha-ben wirken alle Texte einheitlich Entweder ha-ben also die Autoren alle den gleichen Stil oderdas Lektorat des Verlags hat ganze Arbeit geleis-tet

Das Englisch ist gut verstaumlndlich und leicht zu le-sen Wer gute Kenntnisse in Schulenglisch hatund die notwendigen Fachbegriffe rund um dasThema Webdesign kennt sollte keine Problemebei der Lektuumlre des Buchs haben

FazitDas Buch bdquoHTML5 amp CSS3 for the Real Worldldquobietet eine gute und umfassende Einfuumlhrung fuumlrUmstiegswillige zum Thema HTML5 und CSS3

Alle wichtigen und interessanten Neuerungenwerden vorgestellt Des Weiteren findet man anvielen Stellen interessante und wertvolle Tippszum sinnvollen Einsatz von HTML5 Wer sich al-so mit dem neuen Standard fuumlr Webseiten be-schaumlftigen moumlchte (oder muss) und Vorkenntnis-se in HTML hat dem kann diese Buch durchausempfohlen werden

BuchinformationenTitel HTML5 amp CSS3 for the Real WorldAutor Alexis Goldstein Louis Lazaris Estelle

WeylVerlag SitepointUmfang 342 SeitenISBN 978-0980846904Preis ca 32- Euro

LINKS

[1] httpthehtml5heraldcom

Autoreninformation

Jochen Schnelle (Webseite) war aufder Suche nach einem Buch welcheseinen guten Einblick in die Neuerungund Aumlnderungen in HTML5 und CSS3gibt und ist mit diesem Buch fuumlndiggeworden

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 39

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 40: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

REZENSION

Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android von Michael Niedermair

M it dem Buch bdquoApps mit HTML5 undCSS3 fuumlr iPad iPhone und Andro-idldquo soll Schritt fuumlr Schritt in die tech-

nischen Grundlagen Konzepte und Bedien-muster fuumlr WebApps eingefuumlhrt werden Da-bei werden u a Frameworks wie jQuery Mo-bile Sencha Touch und PhoneGap verwen-det WebApps wie bdquoSharky der Jaguarhaildquound bdquoShake it like a Polaroid pictureldquo werdenvon den Autoren genutzt um die Thematik an-hand von Beispielen darzustellen Am Ruumlck-cover wird noch darauf hingewiesen dassdieses Buch fuumlr bdquoWindows und Macldquo konzi-piert ist

Redaktioneller Hinweis Wir danken GalileoPress fuumlr die Bereitstellung eines Rezensions-exemplars

Was steht drinDas Buch ist in neun Kapitel mit Vorwort Anhangund Index aufgeteilt und umfasst 441 Seiten AmEnde finden sich sieben Seiten Werbung zu an-deren Buumlchern

Das Vorwort (10 Seiten) beschreibt kurz das Zieldes Buches (bdquo ist es Ihnen die Programmie-rung von WebApps zu ermoumlglichenldquo) eine Dank-sagung beschreibt die Website zum Buch [1]und die Installation von XAMPP unter Windowsund Mac OS X

Kapitel 1 (14 Seiten) erlaumlutert was der Unter-schied zwischen nativen Apps und WebApps ist

beschaumlftigt sich mit damit warum es sinnvoll istauf Touch-Geraumlten zu entwickeln und der Moumlg-lichkeit von HTML5-Apps

HTML5 in der mobilen Entwicklung ist Themades zweiten Kapitels (73 Seiten) Dabei geht esum die neuen Moumlglichkeiten von HTML5 undCSS3 und den Limitationen auf einer mobilenPlattform Hierzu werden immer wieder kurzeHTML- und CSS-Codestuumlcke vorgestellt und be-sprochen Danach geht es um die Verwendungdes JavaScript-Frameworks jQuery Das Endedes Kapitels widmet sich der Geschwindigkeits-steigerung von WebApps

Kapitel 3 (38 Seiten) beschreibt die Konzepti-on und Gestaltungsprinzipien von WebApps u aden Unterschied zwischen Beruumlhren und Klickendie Benutzung auf der Couch oder in der BahnDen Abschluss bildet hier ein Darstellung wieman eine eigene App konzipieren und seine Ge-danken und Inhalte ordnen kann

Das Kapitel 4 (77 Seiten) hat das Thema HTML5als Designwerkzeug Dabei geht es im ersten Be-reich um das CSS-Rastersystem gefolgt von derVerwendung von Webfonts Anschlieszligend gehtes um die Einbindung von Audio und Video unddie Moumlglichkeiten von Animationen mit CSS Ab-geschlossen wird das Kapitel mit dem Zeichnenmit JavaScript auf einem Canvas-Element

Die Positionsbestimmung ist Schwerpunkt vonKapitel 5 (36 Seiten) Mit GPS wird dabei der

eigene Standort bestimmt und dann uumlber dieGoogle Maps JavaScript API in interaktiven Kar-ten angezeigt und weiter verwendet um z B Re-staurants in der Naumlhe anzuzeigen

Das Kapitel 6 (26 Seiten) liest Bewegungssenso-ren mit JavaScript aus und zeigt an der Beispiel-WebApp bdquoShake it like a Polaroid pictureldquo derenAnwendung

Im naumlchsten Kapitel 7 (23 Seiten) geht es dar-um WebApps Offline zu nutzen damit dieseuumlberall auch ohne Netzverbindung funktionierenz B mit dem Cache-Manifest oder localStorage-Funktionen

Kapitel 8 (70 Seiten) zeigt wie man WebAppsmit entsprechenden Frameworks entwickelt Da-zu wird jQuery Mobile (Routenplanung und Kon-taktformular) und Sencha Touch (Wetterstationund HTML5-Tablet-Magazin) verwendet

Im letztem Kapitel (46 Seiten) geht es um die Ent-wicklung von nativen Anwendungen und der Ver-oumlffentlichung in einem App Store

Abgeschlossen wird das Buch mit dem Index derelf Seiten umfasst

Wie liest es sichDas Buch ist fuumlr den schon erfahrenen HTML-CSS-Anwender geschrieben und setzt dieGrundlagen auch voraus Zusaumltzlich sindJavaScript-Kenntnisse notwendig Fehlen die-se Kenntnisse kann man den Beispielen nur

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 40

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 41: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

REZENSION

schwer folgen und hat mit den Code-Schnipselnarge Probleme

Der Buchinhalt ist so aufgeteilt dass der er-fahrene Leser Kapitel uumlberspringen kann Dieeinzelnen Bereiche lassen sich gut lesen undsind versetzt mit vielen Screenshots und Code-Beispielen Dabei werden nur die wesentlichenCodebereiche abgedruckt Die Beispiele werdenals Screenshots fuumlr iPhone und Android gegen-uumlbergestellt so dass man deutlich die Unter-schiede der Systeme erkennt

KritikDas Buch ist fuumlr den schon erfahrenen HTML-CSS-JavaScript-Anwender geschrieben und fuumlrdiesen ist es auch gut geeignet sich in das The-ma App-Entwicklung einzuarbeiten Der Titel soll-te besser bdquoApps mit HTML5 CSS3 JavaScriptund diversen Frameworksldquo lauten

Man merkt dass die beiden Autoren sehr vielErfahrung und Kenntnisse auf diesem Gebiethaben Florian Franke ist Designer und Autordes bdquoLaker Compendiumldquo [2] zur Gestaltung vonHTML5-Magazinen Johannes Ippen ist Desi-gner entwickelt an dem Spiel bdquoPocket Islandldquo [3]mit Allerdings wird dieses KnowHow fuumlr einenAnfaumlnger nicht entsprechend heruntergebrochenDas Buch liefert aber einen sehr guten Uumlberblickuumlber die Moumlglichkeiten von HTML5-Apps

Die beiden Hauptbeispiele bdquoSharky der Jaguar-haildquo und bdquoShake it like a Polaroid pictureldquo sind nettaufgebaut und machen Spaszlig

Auf der Ruumlckseite des Covers steht bdquoFuumlrWindows und Macldquo Warum diese Einschraumlnkunggemacht wird ist nicht wirklich nachzuvollziehenda als Basis XAMPP verwendet wird Auf derDVD finden sich auch die Versionen fuumlr WindowsMac OS x und Linux im Buch wird aber nur die In-stallation von Windows und Mac OS X beschrie-ben Ich haumltte es besser gefunden wenn im Buchalle drei Systeme als Grundlage verwendet wor-den waumlren und bei eventuellen Schwierigkeitendiese erlaumlutert worden waumlren Zusaumltzlich findensich auf der DVD alle besprochenen Frameworksdiverse Tools und der Quellcode der Beispiele

Der Index umfasst elf Seiten und enthaumllt Stich-worte teilweise Codeworte von HTML CSS undJavaScript Die meisten Eintraumlge haben nur einbis zwei Verweise aber einige auch bis zu elfVerweisen wobei Haupteintraumlge nicht hervorge-hoben sind was das Suchen deutlich erschwert

Das Buch erscheint als Hardcover-Version mitDVD Es hat ein Lesebaumlndchen und ein Dau-menkino fuumlr die einzelnen Bereiche Das Preis-Leistungs-Verhaumlltnis ist okay Die Autoren habenes geschickt verstanden zusaumltzliche Werbungbei den Screenshoots einzubauen z B fuumlr Te-lefonprovider Telekomde oder Vodafonede Beidieser Werbung koumlnnte der Buchpreis allerdingsguumlnstiger sein

Hat man durch das Buch Gefallen an der HTML5-App-Entwicklung gefunden so wird man schnellweiterfuumlhrende Literatur benoumltigen um mehrMoumlglichkeiten umsetzen zu koumlnnen Bei einemUmfang von 441 Seiten kann man bei den The-

men HTML5 CSS JavaScript etc auch keinkomplettes Werk erwarten Gerade JavaScriptund die diversen angesprochen Frameworks(jQuery Mobile Sencha Touch PhoneGap )setzen weitere Literatur voraus

BuchinformationenTitel Apps mit HTML5 und CSS3 fuumlr iPad

iPhone und AndroidAutor Florian Franke Johannes IppenVerlag Galileo Press 2012Umfang 441 SeitenISBN 978-3-8362-1848-1Preis Online 2490 C Print 2990 C Online amp

Print 3740 C

LINKS

[1] httphtml5rocktde[2] httpwwwlakercompendiumcom[3] httpwwwwoogacomlabs

Autoreninformation

Michael Niedermair ist Lehrer an derMuumlnchener IT-Schule und unterrichtethauptsaumlchlich ProgrammierungDatenbanken und IT-Technik Erbeschaumlftigt sich seit Jahren mitvielen Programmiersprachen vorallem Java die er gerne bei derApp-Entwicklung einsetzt

Diesen Artikel kommentieren

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 41

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 42: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

LESERBRIEFE

Leserbriefe

Fuumlr Leserbriefe steht unsere E-Mailadressezur Verfuumlgung ndash wir

freuen uns uumlber Lob Kritik und Anregungen zumMagazin

An dieser Stelle moumlchten wir alle Leser ausdruumlcklichermuntern uns auch zu schreiben was nicht so gutgefaumlllt Wir bekommen sehr viel Lob (was uns natuumlr-lich freut) aber vor allem durch Kritik und neue Ideenkoumlnnen wir uns verbessern

Leserbriefe und Anmerkungen

Spielen unter Linux

Ich habe mir erst vor kurzem nochmalUbuntu auf meinem Laptop eingerichtet undeher aus Neugierde Diablo 3 unter Wineeingerichtet Installiert habe ich es einfachmit dem Programm PlayOnLinux Damit wardie Installation kaum schwerer als auf einemWindows-System Um allerdings spielen zu koumln-nen war es notwendig in einem Terminalsysctl kernelyamaptrace_scope=0 einzu-geben Was der Befehl macht kann ich leidernicht sagen Nur dass er notwendig war um sichim Spiel einloggen zu koumlnnen

Diablo 3 lief dann ohne Probleme Wenn sichzusaumltzliche Einstellungen und Hacks in Grenzenhalten um ein Spiel ans Laufen zu bringen undlediglich Wine noumltig ist dann kann ich auch ger-ne auf eine native Version verzichten

Marcel (Kommentar)

Mit ptrace_scope wird ein Sicherheits-Feature bezeichnet das seit Ubuntu 1010 stan-dardmaumlszligig aktiviert ist [1] [2] Im Wesentlichenverhindert diese Kernel-Einstellung dass ein Be-nutzer den Speicher anderer Prozesse ausle-sen und analysieren kann um beispielsweiseLogin-Credentials auszulesen ndash ausgenommenvon dieser Regel sind Child-Prozesse auf die derstartende Parent-Prozess Zugriff haben kannUm den aktuellen Wert der Kernel-Einstellungzu aumlndern benoumltigt man also Root-Rechte DasDeaktivieren dieser Einstellung sollte nur einetemporaumlre Maszlignahme darstellen d h nach demSpielen von Diablo 3 sollte man mit sysctlkernelyamaptrace_scope=1 dieses Featurewieder aktivieren Matthias Sitte

Als gelegentlicher eher seltener Hobbyautorfuumlr freiesMagazin aber auch als bdquoReporterrdquo vonHolarse-linuxgamingde darfkannmuss ich ganzentschieden sagen Ja Linux ist eine Alternati-ve zum Windows-Betriebssystem auch was denUnterhaltungssektor bzw den Spielebereich an-geht Der Nachteil Als Linuxspieler ist man derVegetarierer unter den Fleischfressern Niemandpunktet im Freundeskreis mit Ausschmuumlckungenwie taktisch episch und lange das bdquoBattle forWesnothrdquo-Match am gestrigen Abend gedauerthat wenn alle anderen Sekunden zuvor vomneusten bdquoCall of Dutyrdquo-Teil gesprochen haben

Ist man allerdings bereit sich von der mit Millio-nengeldern gefuumltterten Spieleindustrie loszusa-

gen eigene Recherchen anzustellen und ein digi-tales Auge auf Indie-Entwickler oder freie Projek-te zu werfen hat man alsbald ein nettes kleinesBuumlndel an Unterhaltungssoftware (Braid Warzo-ne2100 OpenTTD Urban Terror Nexuiz Mine-craft ) zusammengeschustert die einem ste-tige Unterhaltung liefern

Es ist soviel Ehrlichkeit muss sein wie so oft Ge-schmackssache Michael (Kommentar)

Ja ein aumlhnliche Erfahrung habe ich persoumlnlichauch gemacht als ich vor nunmehr fuumlnf Jahrenvon Windows auf Linux damals noch auf Ubuntuumgestiegen bin Auch wenn ich nie ein passio-nierter Computer-Spieler war habe ich anfangsdoch die von Windows bekannte und sehr bunteSpielewelt vermisst Nicht von jedem Spiel in denHumble Bundles bin ich begeistert aber die ei-ne oder andere Perle habe ich entdeckt sodassich mir einen Weg zuruumlck zu Windows (fast) nichtmehr vorstellen kann Matthias Sitte

Linux als Spiele-Plattform wuumlrde ich begruumlszligenAllerdings ist die Marktdurchdringung von Linuxnoch zu schlecht Ein Problem ist auch die Viel-zahl von Distributionen Wenn es eine spezielleGaming-Distribution zum Beispiel auf Basis vonUbuntu LTS geben wuumlrde dann koumlnnte ich mirvorstellen dass die Entwickler dafuumlr auch Spie-le produzieren koumlnnten Der Vorteil von Windowssind ja aus meiner Sicht die sich fast nicht veraumln-dernden APIs wie DirectX und die bei Windowsja auch recht langen Release-Zyklen

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 42

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 43: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

LESERBRIEFE

Als PC-Spieler kommt man halt an Windowsnicht dran vorbei wenn man auszliger den IndyGames auch gerne Spiele wie BF3 oder CoDspielt so wie ich Spielkonsolen sind fuumlr michkeine Alternative denn ich bin halt Keyboard-Maus-Spieler Deswegen wird es auf meinemPC immer beide Betriebssysteme geben muumlssenWindows als Game Launcher und Linux zum Ar-beiten Marc-Andre Alpers (Kommentar)

Die Vielzahl von Distributionen ist sicherlichein Faktor aber viele bauen auf aumlhnlichen Paket-quellen auf Auch sind viele Linux-Bibliothekenstabil und werden selten so umgeschriebendass Inkompatibilitaumlten entstehen Es machensich aber nur wenige Hersteller die Muumlhe ihreSpiele auch fuumlr den Linux-Markt zu portieren

Matthias Sitte

Meiner Meinung nach sind native Linux-Versionen von groszligem Vorteil auch wenn vieleSpiele unter Wine mittlerweile sehr gut spielbarsind

Die Kompatibilitaumlt sowie Lauffaumlhigkeit sind di-rekt vom System abhaumlngig und auch Entwicklerkoumlnnen sich ein Bild davon machen dass beiLinux-Nutzern ein Interesse an Software bestehtEin Beispiel hier bietet Electronic Arts welcheFree2Play-Spiele im Software Store von Ubuntuanbieten Dies ist so denke ich ein erster ernst-hafter Gehversuch eines mehr bekannten Ent-wicklers auf diesem eher unberuumlhrten Markt Fuszligzu fassen Auch bei Valve darf man gespanntsein diese haben ja kuumlrzlich die Entwicklung vonSteam fuumlr Linux offiziell bekannt gegeben

Ich bin optimistisch dass sich binnen der naumlchs-ten Jahre noch einiges aumlndert

Marcos Schnalke

Ja die Versuche von EA sind erste Schrittewobei es sich aber auch nur um Flash-Versionenvon Spielen handelt also man nicht wirklich vonnativen Linux-Versionen sprechen kann

Und an den Steam-Client fuumlr Linux sollte manauch erst glauben sobald er da ist Zumin-dest gibt es mit Desura oder dem Ubuntu Storebrauchbare Alternativen

Ihren Optimismus koumlnnen wir aber teilen es wirdsich im Laufe der naumlchsten Jahre sicherlich Eini-ges aumlndern Dominik Wagenfuumlhr

EPUB-AusgabeIch war angenem uumlberrascht nachdem ich

gesehen habe dass es das freiesMagazin nunauch els EPUB gibt und es liest sich sehr gutauf einem E-Ink Reader

Klasse Detlef Schneider

Vielen Dank fuumlr die Ruumlckmeldung Es freutuns dass sich das Magazin so gut lesen auf denelektronischen Mobilgeraumlten laumlsst

Dominik Wagenfuumlhr

Linux auf Tablet-PCsHi koumlnntet ihr vielleicht mal einen Artikel zu

Linux auf Tablet PCs schreiben

Ich denke da an die normalen Desktopdistributio-nen (UbuntuFedora ) und nicht an Android )

Im Moment ist die Situation da noch ziemlichflau weil zB noch keine Handschrifterkennungals opensource verfuumlgbar ist die wie die unterWin7 arbeitet Auch gibts kein gutes Handwriting-programm a la Windows Journal Xournal ist aufeinem guten Weg koumlnnte aber noch mehr Auf-merksamkeit vertragen ) Vielleicht schafft ihr dasja ) (Kommentar)

Naja mit bdquoihrldquo ist hoffentlich weniger dasfreiesMagazin-Team gemeint weil wir keine Ar-tikel schreiben sondern alle Leser die sich indem Thema auskennen und als Autoren betaumlti-gen wollen Wir haumltten definitiv nichts gegen soeinen Artikel da Tablets immer beliebter werdenund Linux auf manchen ja auch laumluft Vielleichtfindet sich ja ein Schreiber wenn er dies hierliest Dominik Wagenfuumlhr

LINKS

[1] httpswikiubuntucomSecurityFeaturesptrace

[2] httpswikiubuntucomSecurityTeamRoadmapKernelHardeningptrace

Die Leserbriefe kommentieren

Die Redaktion behaumllt sich vor Leserbriefe gegebe-nenfalls zu kuumlrzen Redaktionelle Ergaumlnzungen fin-den sich in eckigen Klammern

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 43

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 44: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MAGAZIN

VeranstaltungskalenderMessen

Veranstaltung Ort Datum Eintritt Link13 Libre Software Meeting Genf 0707ndash12072012 frei http2012rmllinfoLinuxbierwanderung Diksmuide 1208ndash19082012 frei httplbw2012tuxerabeYAPCEurope Frankfurt am Main 2008ndash22082012 ndash httpactyapceuye2012FrOSCon Sankt Augustin 2508ndash26082012 ndash httpwwwfroscondeWikiCon Dornbirn 3108ndash02092012 frei httpdewikipediaorgwikiWikipediaWikiCon_2012Software Freedom Day Weltweit 15092012 frei httpsoftwarefreedomdayorg

(Alle Angaben ohne Gewaumlhr)

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

VorschaufreiesMagazin erscheint immer am ersten Sonntag eines Monats Die August-Ausgabe wird voraussichtlich am 5 August unter anderem mit folgendenThemen veroumlffentlicht

Medusa ndash Brute-Force-Attacken zur Sicherheitsuumlberpruumlfung in Netzwerken JavaScript ndash The Good Parts

Es kann leider vorkommen dass wir aus internen Gruumlnden angekuumlndigte Artikel verschieben muumlssen Wir bitten dafuumlr um Verstaumlndnis

KonventionenAn einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung Diese sind hier zusammengefasst$ Shell-Prompt Prompt einer Root-Shell ndash Ubuntu-Nutzer koumlnnen hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzeny Kennzeichnet einen aus satztechnischen Gruumlnden eingefuumlgten Zeilenumbruch der nicht eingegeben werden soll~ Abkuumlrzung fuumlr das eigene Benutzerverzeichnis homeBENUTZERNAME

Kennzeichnet einen Link der auf eine englischsprachige Seite fuumlhrt Oumlffnet eine houmlher aufgeloumlste Version der Abbildung in einem Browserfenster

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 44

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum
Page 45: Topthemen dieser Ausgabe · eine Cirrus-Grafik unter QEMU[4]emuliert. Der eine oder andere altgediente Netzwerker wird sich ein Tränchen vielleicht nicht verkneifen können –

MAGAZIN

ImpressumfreiesMagazin erscheint als PDF EPUB und HTML einmal monatlich

KontaktE-MailPostanschrift freiesMagazin

co Dominik WagenfuumlhrBeethovenstr 9171277 Rutesheim

Webpraumlsenz httpwwwfreiesmagazinde

Autoren dieser AusgabeHerbert Breunung S 5Martin Graumlszliglin S 31Christian Imhorst S 25Mathias Menzer S 3Daniel Noumlgel S 22Jochen Schnelle S 18 S 38Stephan Theelke S 11

ISSN 1867-7991Erscheinungsdatum 1 Juli 2012

RedaktionDominik Honnef Matthias SitteDominik Wagenfuumlhr (Verantwortlicher Redakteur)

Satz und LayoutAndreas Breitbach Holger DinkelDominik Frey Tobias KempferNico Maikowski Ralph PavenstaumldtStefan Wiehler

KorrekturDaniel Braun Frank BrungraumlberVicki Ebeling Stefan FangmeierMathias Menzer Christian SchnellKarsten Schuldt Toni Zimmer

VeranstaltungenRonny Fischer

Logo-DesignArne Weinberg (CC-BY-SA 30 Unported)

Dieses Magazin wurde mit LATEX erstellt Mit vollem Namen gekennzeichnete Beitraumlge geben nicht notwendigerweise die Meinung der Redaktion wieder Wenn Sie freiesMagazin ausdrucken moumlchten dann denken Sie bitte

an die Umwelt und drucken Sie nur im Notfall Die Baumlume werden es Ihnen danken -)

Soweit nicht anders angegeben stehen alle Artikel Beitraumlge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 30 Unported Das Copyright liegt beim jeweiligen Autor freiesMagazin unterliegt als

Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 30 Unported mit Ausnahme der Inhalte die unter einer anderen Lizenz hierin veroumlffentlicht werden Das Copyright liegt bei Dominik Wagenfuumlhr Es wird erlaubt

das Werkdie Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren zu verteilen undoder zu modifizieren Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 25 Generic

Das Copyright liegt bei Randall Munroe

copy freiesMagazin CC-BY-SA 30 Ausgabe 072012 45

  • Editorial
  • Linux allgemein
    • Der Juni im Kernelruumlckblick
      • Anleitungen
        • Perl-Tutorium ndash Teil 7 Objekte der neuen Schule
          • Software
            • Kdenlive ndash Der freie Videoeditor fuumlr Linux Mac OS X und FreeBSD
            • Trac statt CRM ndash ein Erfahrungsbericht
            • Catacomb Snatch
            • Nicht nur fuumlr Zombies Einstieg in IronPython
              • Community
                • KDE-Geschichte
                • Rezension HTML5 amp CSS3 for the Real World
                • Rezension Apps mit HTML5 und CSS3 fuumlr iPad iPhone und Android
                  • Magazin
                    • Leserbriefe
                    • Veranstaltungskalender
                    • Vorschau
                    • Konventionen
                    • Impressum