Ich wollte nur [...] und dann ist das Universum explodiert.

Projects
Books
Archive
About









    Permalink
  1. Offtopic | Deskshot.

    Früher oder später zeigt ja doch jeder mal seinen Desktop her. Hier ist meiner.

    Von oben nach unten:

    Bei Deskshots vorher aufräumen ist ja langweilig. Dieser Post darf (nach belieben) auch als Blogstöckchen verstanden werden.


  2. Permalink
  3. Mac | Fraise App für LaTeX konfigurieren

    Nachdem meine 30 Tage von TextMate App ausgelaufen sind, habe ich mich irgendwie an das Apfel+R für LaTeX setzen, durchbauen und PDF anzeigen gewohnt.

    Allerdings hab ich keine 50$ auf der hohen Kante um dir TextMate zu kaufen. Aber es geht ja auch anders. Was früher Smultron hieß und mittlerweile vom eigentlichen Entwickler eingestellt wurde, gibt es heute als Fork unter dem Namen Fraise.

    Fraise ist OpenSource und eigentlich ein schöner schmaler Editor für Mac OS X. Meine vermisste Funktion des Apfel+R lässt sich auch hier “nachbilden”. Mit Apfel+B werden alle Kommandos angezeigt die mit Apfel+R verfügbar sind. Standardmäßig gibt es dort auch einen Satz von Dummies und sonstigem Nützlichem.

    Neue Collection namens LaTeX angelegt und das Command-Set “Build LaTeX” eingerichtet. Alles weitere ist im Endeffekt nur ein Shell-Skript, welches das PDF erstellt, die überflüssigen Dateien aufräumt und das generierte pdf mittels “open” öffnet.

    Extrem hilfreich und billiger als TextMate. Das Skript habe ich bei github gepasted.


  4. Permalink
  5. Offtopic | Hackerbrause

    Beim K4CG den ich Letztens das zweite Mal besucht hatte, kam ich in Berührung mit Club-Mate. Ich suchte nach dem Bier nach etwas unalkoholischem, griff zu Club-Mate und wusste bis dahin nicht wirklich was es damit auf sich hatte. Amateurhaft sprach ich es auch Mate (dt. Kumpel) aus. Das leicht säuerlich schmeckende Eistee Getränk, welches ich eher als Kräuterlimonade zugeordnet hätte, enthält anscheinend eine beträchtliche Menge an Koffein. Was jetzt aus Gründen [...] nicht umbedingt negativ sein muss.

    Vor ein paar Tagen hab ich wieder an Club-Mate gedacht und die Suchmaschine meiner Wahl angeschmissen. Über die Homepage fand ich dann auch den nächstbesten in Frage kommenden Getränkemarkt (Keils in Bayreuth). Anscheinend ist Club-Mate auch ein in Hackerkreisen beliebteres Kultgetränk.

    Wie dem auch sei, nun sitz ich hier, mit meinem ersten eigens erstandenen Kasten Club-Mate.

    Nebenbei kann ich auch jedem den Hackerspace in Nürnberg K4CG ans Herz legen. Sehr nette und freundliche Hacker oder anderweitig Technik-Interessierte die auch Neulinge gut aufnehmen und betreuen ;)


  6. Permalink
  7. Bash | Backup eines Files mit Zeitstempel in unkompliziert.

    Auf eine besondere kleine Funktion möchte ich kurz aufmerksam machen, weil sie viele Administratoren oder Sonst-Wie-Konfigurationen-vornehmende-Benutzer wahrscheinlich auch brauchen könnten:

    buf () { filename=$1; filetime=$(date +%Y%m%d_%H%M%S); cp ${filename} ${filename}_${filetime}; }

    Man spielt an der main.cf des Postfix herum oder bastelt an der xorg.conf. Und wie man das eben von dem erfahrenen Linux-Benutzer seines Vertrauens (oder dem UbuntuUsersWiki) gelernt hat, sichert man vorher die Konfigurationsdatei mit dem obligatorischen:

    cp xorg.conf xorg.conf.bak

    Je nach Intensität der Anpassungen häufen sich auch Backupfiles a la “xorg.conf.bak.bak” oder “.bak2 bis .bak5000″

    Fügt man die obige Funktion in seine .bashrc hinzu, erledigt sich das Thema relativ schnell.

    buf xorg.conf

    Erstellt automatisch ein File mit dem aktuellen Zeitstempel im aktuellen Verzeichnis. Nochmal im formatierten Zustand:

    buf () {
    filename=$1
    filetime=$(date +%Y%m%d_%H%M%S)
    cp ${filename} ${filename}_${filetime}
    }

    Dass commandlinefu.com eine großartige Site ist, ist wahrscheinlich für die meisten nichts Neues. Teileweise regnet es dort wunderschöne kleine Kommandozeilen für den Alltag.


  8. Permalink
  9. github | Mitarbeit an bash-it

    Mehr brauche ich wohl nicht zu sagen. Statt endlose Pull-Requests zu stellen darf ich nun direkt in das bash-it Repo committen und dort als Mitglied wirken.


  10. Permalink
  11. hcht | Handmade Commandline History Tool

    Mit dem Namen habe ich mich natürlich mal wieder selbst übertroffen. NICHT. Ehe man sich versieht wird aus einem kleinen Fetzen Code ein ausgewachsenes Plugin für bash-it, in dem der Name des Code-Schnippsels schon so tief sitzt, das sich der Aufwand nicht mehr lohnt ihn zu ändern. Aber mal weg von Oberflächlichkeiten hin zum Code.

    Creative Commons by Iwan Gabovitch “Notizen”

    Es war Dienstag und ich war auf der Suche nach einem kleinen Tool oder einer Idee, wie ich am Besten kleine einzeilige “Hacks”, gebastelte Regular Expressions, MicroNotizen, ToDo’s, Logfile Schnippsel oder sonstige Informationen in Textform speichern und aufheben kann. Nachdem ich nichts fand fing ich an mir selber so ein kleines Tool zu schreiben. Als Plugin für bash-it.

    Funktionen

    Idee ist einfach. Alles wird in einem zentralen Ordner abgespeichert und dieser wird mit tollen Features durch hcht befüllt.

    Editor
    Die Basis sozusagen. Eine Notiz oder ein Kommando per Hand einfügen
    $ hcht das-ist-eine-Notiz.hch

    List-Funktion
    Anzeigen aller abgespeicherten Files
    $ hcht

    Einzeilige Notiz
    Den ganzen Spaß gibts auch einzeilig.
    $ hcht Hallo, das ist eine kleine Notiz

    Pipeable
    Natürlich hat mein Lesen von Stdin Post auch einen Sinn gehabt.
    $ cat mail.log | hcht maillog

    Wiederholbar
    Die bashinterne Funktion ist zum Beispiel auch hilfreich. Angenommen man hat grade einen total coolen Hack gebastelt und will diesen aufheben:
    $ find . -iname '*.png' -exec echo '<br><img src="{}">' \; > gallery.html
    $ hcht !!

    Für mehr und vor allem genauere Beschreibung siehe den Source und das Readme auf github:

    Dabei heraus kam: https://github.com/revans/bash-it/blob/master/plugins/hcht.plugin.bash


  12. Permalink
  13. Bash | Lesen von /dev/stdin

    Gestern hat mich eine Idee für ein Skript beschäftigt. Im Detail wollte ich die Syntax:

    $ cat any_file.txt | script.sh

    abbilden. Lesen von File Descriptor 0. Also Standard-Input. Mich beschäftigte das Thema aber länger, als ich es erwartet hatte. Auf Sinn und Unsinn des Skripts möchte zumindest in diesem Blogpost nicht weiter eingehen ;)

    Versuche

    Nach kurzem bemühen einer Suchmaschine fand ich heraus, dass /dev/stdin das magische Schlüsselwort der Sache ist. Wie also von Standard Input lesen?

    cat /dev/stdin
    cat /dev/stdin > /tmp/foobar

    War in etwa mein erster Ansatz. Mich wunderte extrem, dass der übergebene Inhalt zwar ausgegeben wird, aber nicht in dem File steht. Erkenntnis daraus: File Descriptor 0 lässt sich anscheinend nur einmal auslesen. Zweiter Versuch:

    INPUT=$(cat /dev/stdin)

    Schliesslich wollte ich den Input auch im Script weiter verarbeiten. Erwies sich aber auch als ungünstig, da Zeilenumbrüche in Variablen irgendwie verschluckt werden.

    Lösung

    Anstatt hier weiterhin mit erfolglosen Lösungsansätzen herum zu schmeissen:
    cat < /dev/stdin >> /tmp/foobar

    Sieht unlogisch aus, funktioniert aber besser als alle Anderen.

    /dev/stdin und read

    Ich habe es nicht geschafft, nach dem einlesen von /dev/stdin eine bedienbare

    read irgendeinevariable

    Operation durchzuführen. Alle Eingaben werden automatisch mit dem Inhalt von /dev/stdin gefüllt. Ich konnte dafür leider noch keine Lösung finden.