Monthly Archives: April 2013

Twitterhymne

Ich hatte bereits ein paar Absätze geschrieben, in denen ich über Facebook und meinen gelöschten Account philosophiere. Doch auch diese Absätze habe ich gelöscht – darin scheine ich derzeit ganz gut zu sein –, denn ich will ja eigentlich nicht über FB schreiben, sondern vielmehr über Twitter.

Ich mach es überhaupt kurz: Was könnte ich in schnöden Artikelabsätzen schon mehr sagen, als ich es in den kommenden Zeilen tue?

Twitterhymne

Twitter, großartiges Twitter! Du ziehst Menschen an, die etwas zu sagen haben, und sich sogar überlegen, wie sie es sagen! Menschen, die nicht ihre Urlaubsfotos teilen oder wie sie gerade in der Unterhose auf der Veranda stehen.

Twitter, unglaubliches Twitter! Du lässt mir die Freiheit zu folgen, wem ich will, zu finden, wen ich will, zu lesen und zu staunen, worüber ich will.

Twitter, weltoffenes Twitter! Du hast die Hashtags! Du bist Plattform für Revolutionen!

Twitter, ehrenwertes Twitter! Du bist Poesie. Du gibst Raum für wahre Kunst, und zwar nicht zu viel und nicht zu wenig, genau 140 Zeichen, perfekt, was zur Hölle will man mehr, alles andere wäre Schwafelei.

Twitter, sch**ßgutes Twitter! Auch du lässt Schwachsinn zu. Und es ist gut so!

Twitter, liebes Twitter! Du müllst mich nicht mit Werbung zu, du entscheidest nicht für mich, was ich wann lesen möchte, und du kennst die Worte “edge” und “ranking” nur aus einer dunklen Sage.

Twitter, ewig währendes Twitter! Du bist ein Ort, an dem sich Menschen mit denselben Interessen tatsächlich finden und austauschen können. Du bist ein Ort, an dem Freundschaften entstehen, die nichts mit Zufall zu tun haben.

Twitter, teures Twitter! Du tust (noch) nichts Böses mit meinen Daten, nicht zuletzt, weil du kaum welche hast.

Twitter, beständiges Twitter! Bleib so, wie du warst und beschränk dein API nicht zu sehr.

Wir zwitschern uns!

Ihr Lapideus

Der nächste Artikel erscheint am Mittwoch, dem 7.5.2013 um 7:15

 

Wie sich Textversionen verwalten und sichern lassen

Umberto_Boccioni_-_A_strada_entra_nella_casa_k

Umberto BoccioniLa strada entra nella casa / Die Straße dringt in das Haus [Gemeinfrei], via Wikimedia Commons

Ich hatte Sie ja gewarnt: Dieses Mal steht ein Nerd-Thema auf dem Programm. Bevor ich aber ins Detail gehe, möchte ich in meiner Eigenschaft als Gelegenheitsfeigling feststellen, dass ich selbst noch beim Erproben dieser meiner Lösung bin, dass ich mich folglich von jeglicher Schuld freispreche, sollten Sie das hier Beschriebene ausprobieren und dabei auf die eine oder andere Weise scheitern.

Auch vorausschicken möchte ich, dass ich im Rahmen meines Ansatzes Dropbox verwende. Sollten Sie ebenfalls Dropbox benützen wollen, weise ich Sie darauf hin, dass Sie in diesem Fall einen Account anlegen müssen. Ich kann nicht dafür garantieren, was die Leute bei Dropbox mit den hochgeladenen Daten machen oder nicht, dazu lesen Sie bitte deren Datenschutzerklärung. Eine Möglichkeit, um Vorsicht walten zu lassen, wäre Verschlüsselung (z.B. über Truecrypt) – diese Variante werde ich hier aber nicht beschreiben, da zu aufwändig.

Und: Ich erhalte von niemandem Geld, weil ich hier verlinke. Sie können natürlich auf jeden beliebigen Anbieter für Online-Datensicherung zurückgreifen, der Ihnen einfällt. Zur Inspiration ein Link auf Wikipedia. Selbiges gilt auch für Texteditoren, Word-Derivate und Sonstiges. Getestet habe ich jedoch nur die Konfiguration, die ich im Folgenden beschreibe.

Dateiensalat

Nun, endlich, zur Sache. Es geht um die Versionierung von Dateien. Man kann, ob sie es glauben oder nicht, zu diesem Thema ganze Bücher füllen. Das werde ich hier nicht tun. Ich werde versuchen, mich kurz zu fassen.

Ich bin Purist. Um meine Texte zu erstellen, verwende ich am liebsten q10, einen Fullscreen-Editor von Joaquín Bernal (um weitere Programme dieser Art zu finden, geben Sie in Ihrer bevorzugten Suchmaschine einfach “full screen text editor” ein). Und ich speichere die dabei entstehenden Dateien im einfachsten aller Formate ab: als Textfile, Codierung UTF-8.

Nicht, dass Word und Co nicht fantastische Dinge könnten. Auch in Bezug auf die Nachvollziehbarkeit von Änderungen. Doch seien wir uns mal ehrlich: das kann man doch zum Schreiben von Prosa einfach nicht brauchen. Im Gegenteil, Programme wie Word mit all ihrem Schnickschnack lenken ab und beeinträchtigen den kreativen Prozess. Zumindest bei mir ist das so.

Zurück zum Thema. Wenn man viel schreibt (dabei ist es egal, ob man nun eine einzige Datei hat oder viele verschiedene) und wenn man darüber hinaus nicht der Meinung ist, dass gleich beim ersten Wurf alles passt und der Text so stehen gelassen werden kann, wie er ist, dann wird die entsprechende Datei einer großen Zahl von Veränderungen unterliegen. Sie werden mehrere Versionen der Datei haben und die Versionen werden sich unterscheiden.

Wenn es Ihnen geht wie mir, und Sie verwerfen die bisherigen Versionen Ihrer Dateien nicht, dann findet sich in einem Verzeichnis Ihres Computers vermutlich so etwas wie:

kapitel_1_v1.txt
kapitel_1_v2.txt

kapitel_5_v4.txt

szene_13_v1.doc
szene_13_v2.doc

Kommt Ihnen das bekannt vor?

Ich habe ja behauptet, ich würde mich kurz fassen. Daher: Es geht um zwei Dinge, nämlich um Versionierung und Sicherung. Ich zeige nun einen Weg, wie man Übersicht über die Versionen behält und wie man seine Dateien sichern kann.

Die Zauberworte: Versionierungstool und Online-Datensicherung

Der Witz dabei ist, dass Sie Ersteres benutzen, um die Kontrolle zu behalten, und Letzeres, um das Repository (also sozusagen die Datenbank, in der die verschiedenen Textversionen gespeichert sind) in einer sicheren Umgebung abzulegen.

Der zweite Witz dabei ist, dass Sie a) die Dateien lokal im Originalformat haben (und, dank Subversion, sogar in allen Versionen), b) dieselben Dateien in ihrem Repository gesichert haben, sodass Sie auch von anderen Rechnern darauf zugreifen können, wenn Sie wollen und c), dass Ihnen die Online-Sicherung ermöglicht, aus der ganzen Welt auf Ihre Daten zuzugreifen.

Genug der Theorie, nun zur Praxis. Ich erkläre in Kochrezeptformat:

1. Beschaffen Sie sich Subversion (im Folgenden SVN). Ist gratis im Sinne der Apache-Lizenz. Pakete finden Sie auf subversion.apache.org. Ich verwende eine Kommandozeilen-Variante für Windows (Vanilla SVN 1.7.8 von WANdisco), Sie können aber zum Beispiel auch auf Tortoise SVN zurückgreifen, das über die Kontext-Menüs im Windows Explorer arbeitet.

2. Beschaffen Sie sich einen Account bei einem Online-Dienst zur Datensicherung. Ich benutze wie gesagt Dropbox.

3. Wichtig beim vorigen Punkt ist, dass Sie über Ihr Filesystem auf diesen Speicherort zugreifen können. Der Dropbox-Client etwa richtet ein Verzeichnis ein, das in einer Windows-Umgebung etwa “C:\Users\MyUser\Dropbox” heißt. Die Dateien in diesem Verzeichnis werden mit dem Online-Speicherort synchronisiert, sobald Sie online sind. Darüber hinaus stehen die Dateien auch im Offline-Modus zur Verfügung.

4. Erstellen Sie über svnadmin ein repository in Ihrem gesicherten Verzeichnis. Zum Beispiel:

svnadmin create c:\Users\MyUser\Dropbox\svn\MyArtRep

5. Erstellen Sie eine lokale Kopie Ihres Repositories. Zum Beispiel:

mkdir c:\Users\MyUser\MyArt

svn checkout file:///Users/MyUser/Dropbox/svn/MyArtRep c:\Users\MyUser\MyArt

Noch eleganter ist es natürlich, wenn auch die lokale Kopie im Dropbox-Ordner liegt. Also

mkdir c:\Users\MyUser\Dropbox\MyArt

svn checkout file:///Users/MyUser/Dropbox/svn/MyArtRep c:\Users\MyUser\Dropbox\MyArt

Sie tun sich damit nicht weh, denn alle Dropbox-Dateien sind ja lokal/offline verfügbar.

Als Antwort sollten Sie “Checked out revision 0.” erhalten. Beachten Sie bitte, dass Sie auf den (sozusagen entfernten) Speicherort als URL zugreifen müssen – also eben file:///…

Warnung: Ändern Sie nie etwas direkt im Repository (also “C:\Users\MyUser\Dropbox\svn\MyArtRep”), indem Sie Dateien dort antasten. Wenn Sie sich mal hinklicken (bitte ohne etwas zu verändern), werden Sie sehen, dass es dort vier Verzeichnisse gibt: conf, db, hooks und locks. Keine direkte Spur von Ihren Dateien. Ein guter Hinweis darauf, dass man manuell da nichts tun soll. Tun Sie es doch, könnten Sie Daten verlieren. Selbiges gilt für das versteckte Verzeichnis .svn in Ihrer lokalen Kopie. Auch dort bitte nichts anrühren. Änderungen sollten nur in der lokalen Kopie, und da auch nur über svn-Befehle passieren.

Auch zu erwähnen: Die Dateien in Ihrer lokalen Kopie (also z.B. “c:\Users\MyUser\MyArt”) sind nicht per se speziell. Es sind noch immer Textdateien oder doc-Files oder Bilder oder was immer. SVN passt nur auf sie auf. Sie können die Dateien beispielsweise jederzeit von dort in ein anderes Verzeichnis wegkopieren, um einen aktuellen “Abzug” zu erhalten.

6. Die Grundvoraussetzungen sind nun gegeben. Jetzt können Sie ans Arbeiten gehen. Erstellen eine Textdatei und speichern Sie sie in Ihrem lokalen Verzeichnis. Zum Beispiel:

c:\Users\MyUser\MyArt\Beste_Kurzgeschichte.txt

oder

c:\Users\MyUser\Dropbox\MyArt\Beste_Kurzgeschichte.txt

7. Merken Sie die Datei nun für die Versionierung vor. Das heißt soviel wie: Die Datei, die ich dir nun nenne, liebes SVN, soll bitte versioniert werden und beim nächsten Check-in dem Repository hinzugefügt werden. Zum Beispiel:

svn add Beste_Kurzgeschichte.txt

Die Antwort von svn:

A         Beste_Kurzgeschichte.txt

Das “A” bedeutet, die Datei ist vorgemerkt. Würde dort, wenn Sie “svn status -v” ausführen, ein “?” stehen, dann wäre svn die Datei unbekannt, also sozusagen ein Fremdling, der es nichts angeht.

8. Wenn Sie für heute fertig mit der Datei sind, checken Sie sie ein:

svn commit Beste_Kurzgeschichte.txt -m “Erster Check-in”

Der Kommentar, den Sie über den Schalter -m eingeben, lässt sich (leider oder zum Glück, wie man es nimmt) nicht verhindern. SVN ist da recht streng.

9. Glückwunsch, Sie haben nun eine versionierte Datei. Über

svn status -v

sehen Sie die aktuelle Version der Datei, über

svn log Beste_Kurzgeschichte.txt

sehen Sie, was Sie bis jetzt mit ihr angestellt haben.

10. Neuer Tag, neue Ideen. Sie öffnen die lokale Datei, ändern was in den ersten drei Sätzen, nehmen etwas raus, was eine Ihrer Figuren gestern noch gesagt hat, Ihnen aber heute zu blöd erscheint, und setzen den Text weiter fort. Sie speichern ab.

Nun hat sich Ihre Datei natürlich verändert.

svn status

oder

svn status -v

zeigt Ihnen bei der betreffenden Datei nun ein großes “M” für “Modified”.

11. Machen Sie wieder ein check-in:

svn ci -m “Beste Kurzgeschichte geändert, Susanne ist nun zurückhaltender”

“ci” ist das Kürzel für den Langbefehl “commit”.

12. Der Befehl

svn status -v

zeigt nun kein “M” mehr, dafür eine um höhere Versionsnummer.

13. Der Befehl

svn log Beste_Kurzgeschichte.txt

zeigt Ihnen wieder, was Sie mit der Datei bis jetzt getan haben.

14. Und

svn diff -r 1 Beste_Kurzgeschichte

gibt an, was Sie im Vergleich zur ersten Version tatsächlich geändert haben. Das funktioniert natürlich nur mit Dateien, die SVN auch lesen kann. Bei Word-Dateien, die zwar auch von SVN versioniert werden können, funktioniert das nicht ganz so – hier kann Tortoise SVN helfen, das bei diff Word öffnet, in dem die zu vergleichenden Versionen im Compare-Modus angezeigt werden.

15. Die Kommandos

svn help

bzw.

svn help [Befehl]

bringen die eine oder andere Erleuchtung.

An dieser Stelle breche ich das Rezept ab, es würde sonst zu weit führen.

Ein paar Dinge möchte ich Ihnen noch nahelegen: Auch wenn es vielleicht nicht so aussehen mag, so habe ich Ihnen in dieser Beschreibung doch nur auf rudimentärer Basis gezeigt, was man mit SVN alles tun kann. SVN ist eigentlich dazu da, die Arbeit von mehreren Menschen an ein und demselben Ding/Projekt zu ermöglichen.

Sollten Sie diese Funktionalität nutzen, indem Sie zum Beispiel mehrere lokale Kopien auf verschiedenen Rechnern haben (die dann wohl nicht im Dropbox-Ordner liegen), dann wird die Sache komplizierter. Dann müssen Sie “svn update” benutzen, um die Dateien in der einen lokalen Kopie auf den (neuesten) Stand zu bringen, den sie in der anderen erzeugt und via “commit” hochgeladen haben. Sollten sich Schiefstände ergeben, weil Sie sowohl hier als auch dort geändert haben, entweder der Vergesslichkeit wegen, oder weil Sie vielleicht zu zweit arbeiten, so können Sie über “svn diff” herausfinden, wie sich die Versionen unterscheiden. Über “svn merge” lassen sich diese Schiefstände dann beheben.

Zusammenfassung

In diesem Artikel habe ich Ihnen eine Möglichkeit gezeigt, Dateien gleichzeitig zu versionieren und online zu sichern. Und das auf recht elegante Weise, wie ich finde. (Der Ehrlichkeit halber sei gesagt: Ich bin nicht der erste, der diese Idee hatte. Suchen Sie im Netz nach “svn dropbox”, um weitere Artikel zu dem Thema zu finden.)

Sollten Sie sich intensiver für SVN interessieren, so lesen Sie bitte das sehr ausführliche SVN-Buch.

Und jetzt mach ich Schluss. Trotz des Sichkurzfassens ist der Artikel ja doch ziemlich lang geraten. Sollten Sie Fragen haben, so schreiben Sie mir bitte – ich werde mich bemühen, sie zu beantworten.

Ihr Lapideus

ps: Wenn Sie sich daran stoßen, dass ich in meinen Artikeln Bilder benutze, die nicht immer etwas mit dem Text zu tun haben, dann bitte ich um Verzeihung. Es ist nur einfach so: Ich liebe expressionistische Malerei und vergöttere die Künstler, die sie erschaffen / erschaffen haben. Punkt.

Der nächste (kürzere, versprochen) Artikel erscheint am Mittwoch, dem 24.4.2013 um 7:15 und beschäftigt sich mit [Vorschläge bitte eintragen].