aKademy vorbei

Es war eine tolle Woche und leider ging sie viel zu schnell vorbei. Aber man freut sich schon auf nächstes Jahr in Gran Canaria zusammen mit den Leuten von Gnome. Fällt leider voll in die Klausuren- und Lernphase.

Die KDE Community ist einfach umwerfend. Alle Leute sind super nett. Generell war es riesig. Wir 350 Leute haben ja nicht mal mehr auf das Gruppenfoto gepasst, daher hab ich mich auch noch nicht darauf entdeckt.

Die ersten zwei Tage waren geprägt von Konferenzen. Sehr viele Talks und Keynotes. Die meisten richtig interessant und manchmal gab es auch zwei Talks die ich gerne gleichzeitig gehört hätte. Zum Glück wurde aufgezeichnet 😉 Sehr interessant war natürlich die Keynote von Nokia, unseren neuen besten Freunden. Für die, die es nicht wissen: Nokia hat am Anfang des Jahres Trolltech übernommen und ist nun die Firma hinter Qt und somit KDEs wichtigster Partner. Von der Keynote her denke ich nun noch mehr, dass Nokia sich der Verantwortung gegenüber KDE bewusst ist und das Verhältnis noch weiter ausbauen will und KDE stärker fördern wird. Wäre natürlich sehr erfreulich.

Zwischen den Talk wurden auch die aKademy Awards verliehen. Ich denke Amarok, Oxygen und Aaron Seigo für Plasma sind passende Gewinner für diese Auszeichnungen. Amarok ist einfach eine geile Anwendung, Oxygen ist mit das schönste was ich je auf dem freien Desktop gesehen habe und Aaron hat die Auszeichnung für seine Arbeit und seine Ideen an Plasma durchaus verdient.

Am Samstag Abend war das Social Event in einer Brauerei mit Freibier gesponsort von Nokia. Hier hatte man so richtig die Gelegenheit neue KDE-ler kennenzulernen und sich mit ihnen über ihre Projekte und Arbeit auszutauschen. Um es einfacher zu machen hatte jeder KDE-ler ein Namensschild umhängen. Sonntag morgen waren die ersten Vorträge doch etwas träge. Eigentlich verständlich bei Bier mit 9 % – und keiner hat uns gewarnt 😉

Montag war die Hauptversammlung des KDE e.V. Das hat die meisten aKademy Teilnehmer beschäftigt. Da ich kein Mitglied bin, durfte ich nicht hingehen und habe mich stattdessen dem Coding gewidtmet. Es ist auch ein bißchen was darbei herumgekommen 😉

Dienstag war der Thementag zu Mobile Devices. Dieser stand natürlich unter dem Einfluss der 100 N810 die Nokia an die KDE Entwickler verschenkt hatte. Die Akkus waren zum Glück schon geladen und die Mac Adressen waren in der Firewall freigeschaltet. So kam es, dass man den ganzen Tag über Leute über ihr neues Spielzeug gebeugt gesehen hatte, die ihre ersten Gehversuche mit Gnome machen. Bin ja mal gespannt, was die Community für diese Geräte leisten wird. Denke aber mal schon, dass es bald die ersten KDE 4 Pakete für Maemo geben wird. Wäre schön. Natürlich müssen die Anwendungen auch ein bißchen angepasst werden. Aber das sollte ja nicht so schwer sein. Ich weiß noch nicht, ob das Gerät einen 3D-Chip hat, daher hab ich noch keine Ahnung ob meine Effekte laufen werden 😉

Am Dienstag konnte ich mich auch einmal mit meinem GSoC Mentor und KWin Maintainer (wer Planetkde liest: der mit den blauen Haaren) zusammensetzen und über unsere Pläne für 4.2 reden. War meiner Meinung nach ein sehr fruchtbares Gespräch und ich werde mich nun stärker in KWin einarbeiten und mich auch mal mit den Bereichen abseits der Effekte beschäftigen.

Die letzen Tage waren geprägt von Hackathon und BoF Sessions. Ich selber habe keine der BoFs besucht. Wollte zu Usability gehen, aber Essen hatte länger gedauert als erwartet und als ich ankam war der Raum bereits überfüllt. Daher habe ich ein bißchen programmiert. Present Windows Effekt (aka Expose) ist nun ein Window Switcher (Alt+Tab). Ist sehr praktisch, da er sehr gut skaliert für eine große Anzahl von Fenstern. Ob ich ihn selber in 4.2 nutzen werde, weiß ich noch nicht, da ich meistens nur so viele Fenster offen habe, dass Coverswitch noch gut skaliert. Eine weitere Neuerung (noch nicht committed) konnte ich in den Einstellungen einbauen. Nun gibt es ein Dropdown um den Window switcher und eins für den Desktop switcher auszuwählen. Das sollte es dem User bedeutend erleichtern, den für sich perfekten Effekt zu finden ohne die Einstellungen verschiedener Effekte durchzuprobieren um herauszufinden, dass der Effekt auch als Window Switcher verwendet werden kann. Ja das zeigt: wir brauchen ein Handbuch.

Btw: ich werde wohl eine englische Kategorie einführen und meine Blogposts zu KDE in Zukunft in Englisch verfassen, da ich mehrmals gebeten wurde auch auf planetkde zu posten. Ich denke, dass ich weiterhin kurze deutsche und nicht so technische Posts schreiben werde.l

Nokia N 810

Ich schreibe diesen Artikel gerade auf meinem neuen Nokia N 810. Vielen Dank an Nokia fuer dieses nette Geschenk an die KDE Entwickler hier auf der akademy.

Vorfreude

  • Reisetasche gepackt
  • Laptop geupdated
  • Home Partition auf Laptop verschlüsselt
  • KDE 4.2 (trunk) wird auf Laptop gebaut
  • SSH-Schlüssel auf Laptop kopiert
  • KDE-Wallet auf Laptop kopiert

Und warum das ganze?

Und ich freue mich schon riesig. Morgen geht es endlich los. Endlich lerne ich mal richtig viele der KDE Entwickler kennen. Sehr interessante Vorträge sind geplant und auf den Hackathon freue ich mich auch schon, auch wenn programmieren auf meinem Laptop nicht wirklich Spass macht.

Lesson learned

Gestern habe ich meine Änderungen der letzten Wochen mit dem KDE SVN zusammengeführt. Unter anderem war auch meine Änderung zum Verhalten von multi-Monitor-Setups enthalten.

Bis dahin sah es so aus: ein riesiger Würfel, der über alle Monitore geht. Das war eher ein Zufallsprodukt als irgendwie geplant. Für mich war eigentlich klar, dass das falsch ist. Würfel über mehrere Monitore? Ne ergibt keinen Sinn. Mann stelle sich vor der zweite Monitor steht abgewinkelt zum ersten – das wäre ja komplett falsch. (bei mir ist es übrigens so, weil ich den zweiten Monitor irgendwo auf den Schreibtisch gequätscht habe – benutze eigentlich nur einen).

Also habe ich die meiner Meinung nach einzig praktikable Lösung umgesetzt: der Würfel wird nur auf einem Monitor gezeichnet und so skaliert, dass beide Monitore auf den Wüfel auf einem Monitor passt. Ist meines Erachten nach die einzige wirklich saubere Lösung.

Nun anscheinend gibt es User, die mir nicht zustimmen. Kurz nach dem Commit bekam ich eine E-Mail, in der ein User meinte, dass es nicht so gut wäre und heute wurde auch ein Bug dazu aufgemacht. Tja so ist das halt mit OpenSource: Änderungen werden sofort wahrgenommen.

Also werde ich den einen großen Würfel wieder implementieren und als Config-Option anbieten. Sollte kein großes Problem sein, da ich nur die Sonderbehandlung für Multi-Monitor-Setups ausschalten muss.

Es gäbe noch die Möglichkeit auf jedem Monitor einen eigenen Würfel zu zeichnen. Anscheinend macht Compiz das so. Leider will Compiz bei mir warum auch immer nicht starten und ich kann es mir daher nicht anschauen. Diese Möglichkeit wäre sehr kompliziert und würde den Code sehr unschön machen. Ich müsste an sehr vielen Stellen darauf überprüfen und das will ich natürlich nicht 😉

Kugel

Heute morgen habe ich begonnen meinen Würfel/Zylinder in eine Kugel zu verwandeln. Da ich ja bereits einen Vertex-Shader hatte, der die Umwandlung in einen Zylinder vornimmt, muss ich also nur diesen so erweitern, dass es eine Kugel wird. Nun so langsam werde ich in Geometrie immer besser (ja ich kann noch lernen 😉 ) und die Formeln waren recht schnell erarbeitet. Die y-Koordinate muss zusätzlich noch die z-Koordinate beeinflussen (vorher war es nur die x verantwortlich) und die x-Koordinaten müssen in Abhängigkeit von der y-Koordinate gestaucht werden. Die Änderung hat gerade einmal etwa 15 Zeilen Code im Vertex-Shader benötigt. Zeigt auch mal wieder die Mächtigkeit von Shadern. So sieht der aktuelle Stand aus:

CubeCaps fehlen noch. Die muss ich für die Kugel neu programmieren. Ich hoffe aber noch eine bessere allgemeine Lösung im Würfel zu finden, so dass ich hier auch einfach den Shader drauf ansetzen kann. Mal schauen. Auch so gibt es noch ein paar kleinere unschöne Stellen. Die Ecken der Arbeitsflächen überlappen (warum auch immer) und die reklektierende Ebene ist nun zu weit oben für runde caps.

Ach bis das ganze im SVN ist, wird es auch noch ein paar Tage dauern. Ich hab ein bißchen was angeschaut und muss dass nun langsam aber sicher einspielen. Die Kugel benötigt aber zwingend einige der Änderungen.

KDE 4.1 veröffentlicht

Heute wurde ganz planmäßig KDE 4.1 veröffentlicht. Dies ist – besonders für mich – ein sehr wichtiges Release. Zum ersten Mal habe ich aktiv an einem freien Software Projekt mitgearbeitet und was mich dabei besonders freut, ist dass ich richtig tolles Feedback bekommen habe. So wird mein Effekt in der Release Note mit einenm Screenshot erwähnt und auch Aaron Seigo erwähnt es in seinem Interview über KDE 4. So was ist doch richtig tolles Feedback für einen neuen Contributor. 😀

KDE 4.1 hat natürlich sehr viele tolle neue Funktionen. Wer tatsächlich noch KDE 4.0 benutzt, sollte über einen Wechsel nachdenken. Vor allem Plasma hat sich richtig stark verbessert. Ich nutze 4.1 bereits seit etwa März/April produktiv, weil es einfach eine enorme Verbesserung ist. Ich habe übrigens nicht vor so früh im kommenden Release Zyklus auf 4.2 umzusteigen.

Mein persönliches Highlight ist – obwohl ich es nicht wirklich oft verwende – die OpenStreetMap Integration in Marble. Da freue ich mich schon richtig auf die Zukunft. Ansonsten Plasma und natürlich CoverSwitch (3D-Fenstergalerie). Eigentlich geschrieben um gut auszusehen, hat er sich bei mir zu einem der wichtigsten Werkzeuge entwickelt. Eben schnell was in einem anderen Fenster lesen -> alt+tab und direkt wieder zurück ohne Fokus-Wechsel.

Und für Windows und Mac Nutzer gibt es nun fast keine Ausrede mehr: KDE ist portiert und unterstützt die Platformen. Leider gibt es den Desktop nicht, dafür aber bereits viele Anwendungen. Die Portierung ist zwar noch nicht abgeschlossen und einiges funktioniert wohl noch nicht so richtig, dennoch ist es schon was zum ausprobieren 😉

So ich mach mich jetzt daran einen weiteren Effekt für 4.2 zu schreiben 😉

Hello Planet

Vegeta war so freundlich meinen Blog im ubuntuusers Planet hinzuzufügen, da dachte ich mir, ich stelle mich hier mal kurz vor.

Also ich heiße Martin Gräßlin, im Forum habe ich den Usernamen martingr. Ich bin Mitglied des Ubuntuusers Wiki-Teams und treibe mich daher im Forum Rund ums Wiki und im KDE Forum herum.

Seit Anfang des Jahres entwickel ich auch aktiv an KDE mit und im 4.1 Release wird nun auch ein bißchen Code von mir enthalten sein. Aktuell darf ich auch an einem Google Summer of Code Projekt für die KDE arbeiten. Meine meisten Artikel zur Zeit sind zu diesem kleinen Projekt 😉

Dual Screen

Auch wenn ich es für absoluten Quatsch halte: der Würfel kann jetzt teilweise mit zwei Bildschirmen umgehen. Dabei werden zwei Arbeitsflächen so skaliert, dass sie auf einen Bildschirm passen. Ist nicht wirklich schön, aber anders geht es fast nicht. So sieht das ganze dann aus:

Die unangenehmen Sachen bei Dual Screen ist, dass es den Code richtig verunstaltet. Hatte ich mit einer größeren Änderung es endlich geschafft die perspektivische Projektion nicht mehr im Würfel zu definieren, musste ich es jetzt wieder reinnehmen, da alles perspektivisch verzerrt war. Auch die Animationen etc. funktionieren nicht mehr korrekt, bzw. müssen nun angepasst werden. Tja da muss ich durch 😉

git

Ja es ist passiert. Ich habe auf git umgestellt. Ich hatte zuletzt einige noch nicht ins SVN eingespielte Änderungen und habe an verschiedenen Sachen gleichzeitig gearbeitet. Ohne Versionsverwaltung ein echtes Problem. Einen eigenen Branch im SVN wollte ich auch nicht mehr. Die Lösung des Problems: git

Nun kann ich auf meiner Festplatte commits vornehmen ohne auf einen externen Server angewiesen sein. Kann also weiterentwickeln an noch nicht eingespielten Bereichen und habe dennoch eine Versionierung.

Natürlich ist git noch etwas gewöhnungsbedürftig. Aber ich denke mal, dass ich mich so langsam aber sicher eh einarbeiten muss, da ich davon ausgehe, dass die KDE langfristig auch ein git verwenden wird. Mal abwarten.

Texturierte Cube Caps

So heute morgen hab ich mal wieder ein bißchen an meinem Würfel gearbeitet. Es ist nun möglich auf die Cube caps ein Bild abzubilden. Um eins klarzustellen: es wird nicht einfach möglich sein, das Bild zu wechseln. Ich werde keine Konfiguration dazu anbieten. Die Caps sind als Branding Bereich gedacht. Also für das KDE-Logo oder Kubuntu Logo oder OpenSuSE Logo. Für die Distributionen wird es einfach das Bild auszutauschen – für den Nutzer jedoch nicht. Wird aber dennoch möglich sein. Mit einem Blick in den Code wird es sofort ersichtlich.

So hier der obligatorische Screenshot (bitte entschuldigt die schlechte Qualität des Logos – ich bin zu dumm Inkscape zu bedienen):
Texturierte Cube caps