Christoph's last Weblog entries

Entries from January 2009.

Nocheinmal TopGIT
31st January 2009

Nachdem ich bereits über TopGIT geschrieben habe wurde diese Seite ziel einiger Google-Suchen nach dem String 'topgit'.

Da dieses Thema scheinbar eine Menge Menschen interessiert und mein Weblog unter dem Top Hits in Google erscheint habe ich dann beschlossen mein Mini-Review aus dem Debian Games Team hierher zu übernehmen. Alle Angaben beruhen auf meinen Vermutungen und erheben weder den Anspruch komplett noch richtig zu sein.

Das Original war in Englisch verfasst daher gibt es hier jetzt eine Übersetzte und überarbeitete Version davon. Wer die Debian Spezifischen Teile lesen will sei auf das Original verwiesen.

Das erste Mini-Review entstand, da ich TopGIT beim Paketieren von XWelltris ausprobiert habe und dann von einigen Menschen im Debian Games Team darum gebeten wurde.

XWelltris selbst ist kein besonders komplexes Paket und hat in Debian aktuell nur 2 Patches die mit TopGIT verwendet werden sollten. Das mitlerweile ebenfalls umgestellte SFML ist da um einiges komplexer.

Wozu wird TopGIT dabei eingesetzt? TopGIT generell kann verwendet werden um verschiedene Modifikationen zu einem Originalen Source-Tree zu verwalten und dabei den vollen Funktionsumfang zur Verfügung zu haben. Dabei übernimmt die TopGIT Branch in etwa die Rolle eines traditionellen Patches wobei TopGIT in der Lage ist, abhängigkeiten zwischen den Patches darzustellen.

Funktionsweise

Während für git selbst die TopGIT Branches wie normale Branches aussehen «weiß» TopGIT für welche Branches es verantwortlich ist. Diese Branches kann TopGIT dann auch z.B. in eine QUILT Patchserie exportieren

Die Reihenfolge der Patches in der QUILT Serie wird dabei durch die in jeder TopGIT Branch vorhandenen .topdeps Datei festgelegt, während der Kommentar für den Patch aus der Datei .topmsg stammt. Damit es keine Probleme gibt sollte die in .topdeps angegebene Branch in die jeweilige aktive Branch gemerged sein, da der Patch aus einem diff zwischen der aktiven Branch und der in .topdeps angegebenen Branch entsteht.

Eine neue TopGIT Branch wird mit dem Befehl tg create $NAME erstellt. Als Grundlage für die neue TopGIT Branch dient dabei die gerade aktive Branch.

Wird in der Master Branch -- und natürlich jeder anderen Branch, von der tg Branches abhängen -- eine Änderung vollzogen, so werden in tg summary alle veralteten Branches mit einem 'D' markiert. Dies ist der Aufruf in dieser Branch ein tg update auszuführen, das die Branch dann auf den neuesten Stand bringt.

tg create erstellt die TopGIT Informationen nur lokal. Andere Benutzer des Git Repos werden nur «seltsame» Branches feststellen ohne weitere Verwendungsmöglichkeiten. Daher sollte möglichst Zeitig ein tg remote $ORIGIN aufgerufen werden, sodass der online Git Repos die TopGIT Branches ordentlich verfolgt.

Fazit

TopGIT ist der alternative von z.B. QUILT+Patches weit überlegen. Allein die Möglichkeit Patches direkt zu modifizieren ohne jedes Mal an quilt add denken zu müssen ist einiges Wert. Dazu kommt die Tatsache, dass TopGIT die Entwicklung der Patches verfolgen lässt.

Ganz besonders praktisch ist, dass der Wechsel von z.B. QUILT+Patches keine unidirektionale Aktion ist sondern sich problemlos wieder umkehren lässt, da TopGIT eine Patch Serie exportiert die dann ohne TopGIT verwendet werden kann.

Tags: debian, programmieren, vcs.
Auf der Suche nach freien Texturen
30th January 2009

Freite Texturen finden kann ja nicht so schwer sein oder? Blender Nation hat ja regelmäßig neue Blogeinträge mit neuen Quellen für freie Texturen, es gibt hunderte Seiten online, ...

Wirklich freie Texturen (frei wie in DFSG zu finden ist aber in wirklichkeit viel schwerer. Denn: Was mache ich mit Texturen, die frei für kommerzielle und nicht-kommerzielle Verwendung sind (ohne weitere Erklärung)? Viele texturseiten bieten die Textur an, schließen aber Weitergabe (mit außnahme von Druckwerken) aus.

Sollte tatsächlich ein OpenSource Künstler auf diese Seite stoßen, bitte gebt uns eure Links ;)

Tags: debian, foss, programmieren, web.
Brillen in der Physik
29th January 2009

Bei der letzten Versuchsserie im Leistungskurs Physik wurde ich von einem Mitschüler, der hier auf eigenen Wunsch «Hugo» genannt werden wird, auf ein Interessantes Phenomen aufmerksam gemacht.

Der betreffliche Versuch sollte die Spektrallinien des Wasserstoffes zeigen. Dazu wird normalerweise eine Wasserstoff-Gasentladungslampe durch ein optisches Gitter betrachtet. Allerdings reicht bereits eine starke Brille, so in etwa wie meine, um die verschiedenen Linien betrachten zu können. Dazu muss man einfach etwas schräg auf die Lampe schauen.

Tags: kurios, schule.
Spaceshooter
26th January 2009

Mein eigenes, kleines OpenSource Projekt, ein Spaceshooter, der -- unter Verwendung von SFML -- in C++ geschrieben ist, hat gestern eine neue Alpha Version veröffentlicht.

Wichtigstes Feature der neuen Version ist die Möglichkeit, das Spiel per Autotools ordnungsgemäß zu installieren. Bisher war leider nur ein Spielen im Source-Tree möglich. Dadurch wird es jetzt auch sinnvoll möglich ein Debian Paket zu bauen -- sollte dies Erfolg haben gibt es dieses demnächst als Download.

Mit diesem Release sind wir dann auch schon in einem Bereich an ein Final Release zu denken. Blockiert wird das ganze noch primär durch ein paar Timing Ungereimtheiten: Der ursprüngliche Code verließ sich zum Teil auf Frames, zum Teil auf normale Timer für die Zeitmessung. Die von der Framerate abhängigen Elemnte sind zwar mittlerweile umgestellt, aber alles läuft noch nicht korrekt.

Ist dies dann geklärt braucht der Content etwas Pflege -- danach ist ein Release auf jeden Fall denkbar.

Wohin geht die Zukunft?

Tags: coders-nemesis, programmieren, spaceshooter.
Common LISP
21st January 2009

Und es ward Zeit, etwas neues zu lernen. Diesmal LISP. Auf LISP kommt man zum Beispiel, wenn man in Python programmiert, die mächtigkeit der Python Listen erkennt und erfährt, dass es sich dabei um ein Feature handelt, das aus LISP stammt. Auf LISP kommt man auch unweigerlich, wenn man sich für Künstliche Intelligenzen interessiert.

Sogesehen hat LISP jedenfalls das Potentiel meine nächste Programmiersprache zu werden, nachdem Python schon immer mehr mein C++ verdrängt (nicht dass ich letzteres nicht mehr verwende ...). Und mit einem guten Buch kann's dann auch gleich losgehen.

Die installation der entsprechenden Umgebung ist natürlich auf Debian-Weg zügig erledigt. schwieriger ist dann schon der Umstieg von VIM auf EMACS, aber auch das ist machbar, gerade wenn man nicht gerade quasireligiös an einem der Editoren hängt. Setup: Emacs mit SLIME, cmucl.

Die ersten paar Kapitel habe ich jetzt ohne größere Schäden hinter mir, mal sehen was da noch kommt. LISP Makros scheinen mir trotz C(++) Geschichte jedenfalls keine besonderen Schwierigkeiten zu machen.

Tags: programmieren.
Versteckte Dateien
19th January 2009

Möchte ich eine Datei unter unix/Linux verstecken, so verwende ich den Punkt '.' als Prefix. Gewohnheit für den Anwender, einfach zu merken. Das geht mittlerweile ganz automatisch.

Aber irgendwann stellt man sich die Frage «Warum?». Jedenfalls habe ich mir diese Frage gestellt. Der Dateityp wird aus dem Inhalt ermittelt (jedenfalls meistens). Zugriffsrechte funktionieren über Filesystem Flags. Der Dateiname scheint ein frei zu vergebender Name zu sein. Bis es eben zum Verstecken geht.

Logisch? Intuitiv? Nicht wirklich. Eigentlich erweckt es eher den Eindruck eines Hacks. Irgendwann hinzugefügt, als das Filesystem bereits fertig und nicht mehr zu ändern war.

Tags: kurios, linux.
Openanno
6th January 2009

Seit gestern Abend habe ich jetzt einen SVN Zugang beim OpenANNO Projekt. OpenANNO ist (wenig verwunderlich) ein OpenSource Strategiespiel, das durch die ANNO Serie inspiriert wurde. Aktuell ist es Teil der vom Debian Games Team, in dem ich mitarbeite, beobachteten Spiele.

Während das Spiel noch in einem Zustand ist, in dem ein Upload ins Debian Archiv nur schwer denkbar ist habe ich mich bereit erklärt erste Pakete zu bauen (Bitte keine Kommentare über die Qualität, es ist mir durchaus bewusst, dass das noch weit von Debian-Standard entfernt ist).

Nachdem ich über die oben erwähnte Wikiseite auf das Projekt gestoßen bin bemühe ich mich auch innerhalb des Projektes die Paketierbarkeit zu fördern. Zusammen mit meinen -- zugegebenermaßen kleinen -- Beiträgen hat mir das jetzt SVN Zugang beschehrt, ich werde wohl jetzt so schnell nicht mehr von diesem Projekt loskommen

Tags: programmieren, unknown-horizons.

RSS Feed

Created by Chronicle v4.6