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

Projects
Books
Archive
About









    Permalink
  1. Twitter OAuth | Twidge reanimieren

    Da Twitter ja glorreicher Weise das Auth-Verfahren für Dritt-Software umgestellt hat, funktioniert mein Twitter-Logfile nun nicht mehr. Wie so manch anderer Client oder Schnittstelle. Die in Debian-Stable ausgelieferte Version 0.99.3 von Twidge unterstützt noch kein OAuth. Das mag jetzt niemandes Schuld sein. Denn warscheinlich liegt es weder am Author der Software, noch am Packaging. Wohl eher an der Zeit die ein Debian Paket braucht, um von Testing o. Unstable in Stable zu gelangen. Was auch gut so ist.

    Da ich Twidge aber auch außerhalb des Logfiles sehr gerne benutze, behob ich das Problem durch Installieren der Testing-Version. Zu finden unter http://packages.debian.org/squeeze/twidge

    $ twidge -v
    [...]
    This is Twidge, version 0.99.4. Copyright (c) 2008 John Goerzen

    $ wget http://ftp.de.debian.org/debian/pool/main/t/twidge/twidge_1.0.5_i386.deb

    $ dpkg -i twidge_1.0.5_i386.deb
    Vorbereiten zum Ersetzen von twidge 0.99.4 (durch twidge_1.0.5_i386.deb) ...
    Entpacke Ersatz für twidge ...
    dpkg: Abhängigkeitsprobleme verhindern Konfiguration von twidge:
    twidge hängt ab von libffi5 (>= 3.0.4); aber:
    Paket libffi5 ist nicht installiert.
    dpkg: Fehler beim Bearbeiten von twidge (--install):
    Fehler traten auf beim Bearbeiten von:
    twidge

    $ aptitude install libffi5
    Die folgenden NEUEN Pakete werden zusätzlich installiert:
    libffi5
    Die folgenden teilweise installierten Pakete werden konfiguriert:
    twidge
    Richte libffi5 ein (3.0.7-1) ...
    Richte twidge ein (1.0.5) ...
    Aktueller Status: 0 kaputt [-1].

    Die aktuelle Version von Twidge wäre also somit installiert. Zwar mit dpkg, aber wenigstens wird nachher bei neuereren Versionen geupdated :). Twidge stellt jetzt einen (wie ich finde) hervorragend gelösten Konfigurationsweg für die neue OAuth.

    $ twidge setup
    Please cut and paste this URL and open it in a web browser
    Click Allow when prompted. You will be given a numeric
    key in your browser window. Copy and paste it here.
    https://api.twitter.com/oauth/authorize?oauth_token=xxx
    Authorization key: 123456789
    Successfully authenticated!
    Twidge has now been configured for you and is ready to use.

    Hat irgendwie fast ein bisschen was von Wizard ;). Im Endeffekt sind es aber nur ein paar kleine Schritte:

    • Url öffnen
    • “App” autorisieren oder “Erlauben”
    • App-Authkey kopieren
    • Twidge vorwerfen

    Danach kann man das Internet wieder mit dem eigenen daily Nonsense füllen. Mit einem CLI-Client :). Was mich nebenbei noch fasziniert hat: http://packages.ubuntu.com/search?lang=de&searchon=names&keywords=twidge . Es gibt Twidge für Ubuntu also für Jaunty, Karmic und Maverick. Warum nicht für Lucid? Ich konnte es in meinen Quellen in Xubuntu (Lucid) auch nicht finden.


  2. Permalink
  3. Bash | Futurama Zitate aus slashdot.org HTTP-Header auslesen

    Bin heute morgen über ein Easter-Egg von Slashdot.org gestolpert. HTTP-Header:

    $ curl -Is slashdot.org
    HTTP/1.1 200 OK
    Server: Apache/1.3.41 (Unix) mod_perl/1.31-rc4
    SLASH_LOG_DATA: shtml
    X-Powered-By: Slash 2.005001
    X-Fry: You'll barely regret this.
    X-XRDS-Location: http://slashdot.org/slashdot.xrds
    Cache-Control: no-cache
    [...]

    Bei so ziemlich jeder Anfrage steht an der Stelle ein neues Zitat. Da ich sowieso total auf Futurama stehe, dachte ich mir ich baue die Zitate als Welcome-Message in meine Rechner ein:

    $ curl -Is slashdot.org | sed -n '5p' | sed 's/^X-//'
    Bender: OK, but I don't want anyone thinking we're robosexuals.
    $ curl -Is slashdot.org | sed -n '5p' | sed 's/^X-//'
    Fry: I can burp the alphabet. A, B, D ... no, wait ...

    Wenn ich aber bei allen meinen Rechnern die Zeile einbinde, hat das irgendwie ein bisschen was von DOS-Attacke. Muss ja nicht sein. Mit einem Einzeiler hab ich mir die Quotes erstmal alle besorgt:

    target="/path/to/file/018" ; while true ; do quote="$(curl -Is slashdot.org |sed -n '5p' |sed 's/^X-//')" ; if [ $(grep "$quote" $target |wc -l) -lt 1 ]; then echo $quote >> $target ; echo $quote ; sleep 1 ; fi ; done

    Hier gibt’s alle Quotes die der Einzeiler bis jetzt gesammelt hat: http://zwetschge.org/paste/018

    Futurama Quotes beim Login unter Ubuntu:

    $ wget http://zwetschge.org/paste/018 -O ~/.futurama
    $ vi ~/.bashrc
    quotes="$HOME/.futurama"
    if [[ $- == *i* ]]; then
    echo " "
    rnd=$((RANDOM % $(cat $quotes | wc -l)+3)) ; sed -n "${rnd}p" $quotes
    fi

    Einloggen oder Shell starten sieht dann wie folgt aus:

    $ ssh user@host
    user@host password:
    Linux host 2.6.32-22-generic #33-Ubuntu SMP Wed Apr 28 13:27:30 UTC 2010 i686 GNU/Linux
    Ubuntu 10.04 LTS
    [...]
    You have new mail.
    Bender: You can't count on God for jack! He pretty much told me so himself.
    user@host:~$


  4. Permalink
  5. tismc | This is static markdown content!

    Vorher noch nie gehört? Kann auch gar nicht sein. Obacht, Eigengewächs.

    Das sich gerade formierende Hobby-Eishockey-Team, dem ich angehöre, war bisher ohne großartige HomePage ausgekommen. Es bestanden kleine Basteleien unseren Captains, aber so wirklich vollständig war das dann auch nicht. Ich machte mich auf die Suche nach einem minimalen CMS. Irgendwas kleines Schönes, in dem wir unseren minimalen Content unterbringen können. Ausmaße wie etwa Mytinytodo für Todo-Listen (von dem ich sehr begeistert bin ;) ). Ich wurde nicht wirklich fündig. Alle Tipps die ich bekam waren zu umfangreich und somit einfach Overkill.

    Die Sache schlief irgendwie 1-2 Monate ein, bis ich von der Markdown-Language gehört habe. Diese Mischung aus .txt-File Syntax und HTML-Generator gefiel mir und ich dachte wieder an die Hockey-Page. Muss es immer PHP und SQL sein? Eigentlich nicht.

    Der Plan war: In einen Unterordner content/ für jede Seite ein *.markdown-File zu laden, aus welchem generisch die .html Files gebaut werden. Umgeben Natürlich von header.tmpl und footer.tmpl. Auf dem Filesystem sieht das in etwa so aus:

    |-- content
    |   |-- 001.impressum.markdown
    |   |-- 001.index.markdown
    |   `-- 002.index.markdown
    |-- css
    |   |-- readme.txt
    |   `-- style.css
    |-- impressum.html
    |-- index.html
    |-- tismc.bash
    `-- tmpl
          |-- footer.tmpl
          `-- header.tmpl

    Ein kleines Bashscript durchsucht den content/-Ordner und baut für jedes gefundene .markdown-File die HTML-Page.

    $ ./tismc.bash
    page-dir is now /path/to/homepage
    --- parsing impressum.html
    adding header
    parsing content/001.impressum.markdown
    adding footer
    --- parsing index.html
    adding header
    parsing content/002.index.markdown
    parsing content/001.index.markdown
    adding footer

    So kann auch mein Captain oder andere Dritte, neue Inhalte in die Page hochladen. Denn Markdown-Syntax ist nicht wirklich kompliziert. Allerdings gab es da noch ein Problem. Eigentlich drei. Die hießen header.tmpl, footer.tmpl und style.css. Ich bin in solchen Design-Dingen sehr schlecht, aber mein Berufsschulkollege Holger, der öfters mal wunderschöne Templates aus dem Ärmel schüttelt, sagte natürlich nicht nein und erstellte mir die nötigen Files <3. Unter http://ice-bullocks.zwetschge.org kann man das Ergebnis begutachten. Sind Leberkäse-Brötchen eigentlich anerkannte Währung unter Designern ?

    Den Source zum Anschauen gibts unter:
    bash-script
    Homepage-Dir


  6. Permalink
  7. Google | Dank der US-Army ist mir Street-View egal.

    Es gibt eigentlich zwei Gründe warum die ganze Google Streetview Diskussion regungslos an mir vorbei zieht. Der Erste ist wie bei den meisten üblich Gleichgültigkeit. Der Zweite (und wesentlich Interessantere) ist allerdings, dass ich nahe dem Truppenübungsplatz Grafenwöhr wohnhaft bin. Dieser Stützpunkt der United States Army Europe ist einer der größten in Europa auf deinen scharf geschossen wird und unter anderem auch einen Militärflughafen beherbergt.

    Wenn man dieses Gebiet via Google Maps nun genauer unter die Lupe nimmt stellt man fest, dass ziemlich rechteckig um diesen Übungsplatz herum eine deutlich weniger hohe Auflösung verfügbar ist als für die restliche Umgebung.

    Zur Veranschaulichung eine Map (vollständiger Link)


    Grafenwöhr Truppenübungsplatz auf einer größeren Karte anzeigen

    Wer kurz damit herumspielt erkennt, dass nicht mal ein Haus in nahe gelegenen Städten durch den Zoom auszumachen ist. Und wird Google hier wohl eines von ihren Street View-Autos durch schicken ? Eher nicht.

    Interessant finde ich aber, von wem diese regionale Zensur ausgeht und wieso. Aus Angst vor Terror?

    Wie dem auch sei. Google Street View ist für mich kein Thema.


  8. Permalink
  9. Bash | watch -n mal anders

    watch -n 1 "arp -a | grep 192.168.1.12"

    watch hat die blöde Angewohnheit, den aktuellen Screen immer zu leeren. Gerade beim oberen Beispiel ist das von Nachteil (IP-Konflikt nachvollziehen), da der Vergleichswert wegfällt. Quick&Dirty die Lösung:

    while true; do arp -a | grep 192.168.1.12 ; sleep 0.2 ; done
    \_________/ |  \____/  \________________/   \_______/  \____/
         |      |     |             |               |         |
         |      |     |             |               |         \- Schleifenen
         |      |     |             |               |            de
         |      |     |             |               |
         |      |     |             |               \- danach 0.2 Sekunden
         |      |     |             |                  pausieren
         |      |     |             |
         |      |     |             \- nach bestimmter Adresse suchen
         |      |     |
         |      |     \- arp-table ausgeben
         |      |
         |      \- fuehre aus
         |
         \- bis strg+c