Projects
Publications
About









    Permalink
    Jan
    30
    Sa

    10
  1. Offtopic | Reaktion Teeworlds-Setup

    Am Freitag erreichte mich eine Mail.

    Hallo flo (oder noqqe oder wie?)
    auch ich möchte mehrere teeworlds server auf einem Rechner laufen lassen.
    Ich komme mit Linux ganz gut klar, habe aber von teeworlds bisher keine Ahnung.

    Kannst du mir deinen Verzeichnisbaum mit den verschiedenen Configfiles als tarball
    zusammenpacken und zuschicken?

    Unter http://noqqe.de/?p=800 hast du eine Kurzanleitung geschrieben, aus der ich bestimmt schlau würde,
    wenn ich mich mit teeworlds auskennen würde. Hast du das noch etwas kleinschrittiger?

    Ich wäre dir sehr dankbar (und rund 200 Oberstufenschüler auch, da die Server innerhalb einer Schule laufen werden !!!)

    Gruß aus

    Haan (Rheinland)
    R. S.

    Fand ich nett. Fand ich aber auch wunderlich. G8 Schüler haben anscheinend doch noch zu viel Zeit ;) Wenn ich weiss wie es geworden ist werd ichs hier verlauten lassen.

    7

  2. Permalink
    Jan
    26
    Di

    10
  3. Web | Paste-Service via CommandLine (Sprunge.us)

    Sprunge.us ist ein Paste-Service den ich heute von Chris gezeigt bekommen habe. Sprunge ist aber außerdem noch _awesome_, weil er ohne Registrierung oder Umstände alles annimmt was man ihm via curl -F übergibt. Von den Entwicklern ist das wie folgt vorgesehen:

    <command> | curl -F 'sprunge=<-' http://sprunge.us
    INFO: Code: gJIJ
    INFO: URL: http://sprunge.us/gJIJ

    Und man kann unter der ausgespuckten URL den SourceCode begutachten. Den curl-Aufruf finde ich persöhnlich ziemlich lang und nicht wirklich eingängig. Das fanden anscheinend auch die Entwickler von “sprang“. Usage ungefähr so:

    cat /usr/local/scripts/script.sh | sprang
    INFO: Code: gJIJ
    INFO: URL: http://sprunge.us/gJIJ

    sprang ist ein Python-Script das mit dem sprunge.us Pastebin-Dienst interagieren kann. Man kann ihm zum Bleistift auch mit sprang -f ein Fileübergeben, mit -L Logfiles definieren oder ähnliches bewerkstelligen (genaueres mit sprang –help). Durch die Installation des python-setuptools bzw dem Kommando

    aptitude install python-setuptools; easy_install sprang

    wird der Helfer für den Dienst nutzbar. Ich muss ehrlich gestehen ich bin kein Fan von Fremdpaketsystemen. Aber diesbezüglich muss es eben sein. Alternative ist natürlich ein Bash-alias

    alias sprang="curl -F 'sprunge=<-' http://sprunge.us"

    Wobei somit die Restfunktionalität des sprang-scripts verloren geht. Besonders schön ist auch das Syntax Highlightning. Je nach Eingespeisten Source kann man der URL beispielsweise ein ?bash oder ?py mitgeben

    http://sprunge.us/gJIJ?bash
    http://sprunge.us/gJIJ?py

    und erhält schön bunt und leserlich ge-Highlightete Versionen des gesendeten.

  4. Permalink
    Jan
    15
    Fr

    10
  5. Offtopic | Das verlorene Kind…ahm, Passwort

    Mich verwunderte heute die Konnektierung zu meinem ICQ Account. Anstatt einer Hand voll Kontakten begrüsste mich in Adium eine unschöne Fehlermeldung (ohne jetzt das Layout oder die Forumlierung der Fehlkonnektion Adiums in Frage stellen zu wollen). Mit der üblichen Protokollumstellung hatte ich gerechnet. <yoda> Einspielen, ich tat, das Update</yoda>. Erst nach erneutem Versuch fiel mir der Inhalt der Fehlermeldung auf. Die Flüssigkeitskristalle des LCD-Displays meines Macbooks bildeten mit Tausenden von Pixel die beiden Wörter “Falsches Passwort”.

    Das war sonst anders. Etwas perplex startete ich Xubuntu, Pidgin und die aktuelle libpurple geprüft. Funktioniert nicht. Aus den hintersten Ecken meiner Wohnung kramte ich einen PC hervor von dem ich wusste er würde ein kommerzielles OS aus Redmond enthalten. Als ich ihn einschaltete wusste ich wieder warum er dort stand woher ich ihn geborgen hatte.

    Gefühlte 3 Stunden und 5 BlueScreens später beantwortete ich die Huhn oder Ei Frage am Ende der Installation von ICQ souverän. Die Antwort die ich gab ist mir gerade entfallen. Auch der orginale ICQ Client sollte mich wieder enttäuschen. Aber mir fiel ein Feld mit der Beschriftung “Lost your Password?” auf. Nachdem ich also erneut einige Zeit abwartete (um zu viele fehlerhafte Loginversuche ausschliessen zu können) überschrieb ich mein mittlerweile 6 Jahre altes ICQ Passwort. Ich gebe in aller Schande zu, dass das Passwort mein erstes war. Ich hatte es einfach nie geändert, vergessen, verdrängt. Zusätzlich war es aus meiner Profilbeschreibung abzuleiten, aber mit 14 Jahren hatte ich noch anderes im Kopf als Brute-Force-Attacken, Passwort-Algorythmen (wie ich sie mittlerweile habe) und Sicherheit.

    Es wunderte mich extrem wie sich das Passwort ändern konnte. Ich saß an 3 verschiedenen PCs / Clients  über einen Zeitraum von 3 Stunden um in mein ICQ einloggen zu können. Die Maschinen in denen ich mein Passwort für den besagten Messaging-Dienst anvertraute werden es doch wohl nicht vergessen haben? War das wirklich “gehacked” oder “geBrute-Forced”?

    Ich wüsste nicht warum.  Jedenfalls, liess sich das ICQ-Passwort über Eingabe der damals hinterlegten Emailadresse resetten. Ich gab einer Hand voll Archäologen den Auftrag dieses Postfach für mich ausfindig zu machen. So in etwa.

    Dies ist eine wahre Geschichte und ich bin (wieder) online.

  6. Permalink
    Jan
    13
    Mi

    10
  7. Offtopic | Eigentlich,

    möchte ich hier nichtssagend einen Blogpost verfassen. Werde einfach einen nonsense Screenshot meines Macbooks anhängen und sehen ob was passiert.

    Bildschirmfoto 2010-01-05 um 14.04.04

    Genauso sinnig wie der Berufsschulbesuch den ich diese Woche wieder tätige.

  8. Permalink
    Jan
    09
    Sa

    10
  9. Mail | Postfix-Aliases mit MySQL-Backend erstellen

    Ich registrierte mich vor kurzem wiedermal bei einem etwas zwielichtigem Portal. Keine begründete Behauptung, es schien mir aber trotz allem so vorzukommen. Wie üblich loggte ich mich in meinen PHPMyAdmin ein und erstellte (um SpamEmails vorzubeugen) mithilfe meines MySQL-Backends von Postfix einen Alias. In einer Tabelle gesammelt liegen sämtliche aliase und deren Empfänger-Postfach.

    address | goto
    ubuntu@zwetschge.org | mail@zwetschge.org
    spam2@zwetschge.org
    | mail@zwetschge.org
    spam3@zwetschge.org
    | mail@zwetschge.org
    spam4@zwetschge.org
    | mail@zwetschge.org

    Es mag jetzt mit Sicherheit User geben die MySQL mit Postfix für unnötig halten, da die Steuerung über ConfigFiles ausreicht. Auf kurz oder lang gefällt mir die MySQL einfach besser. Einfach zuhandhaben. Flexibel. Schön. Das ständige eingelogge in HTpasswd, phpmyadmin-login und herumgeklicke war mir grad nur etwas zu blöd. Ich wollte ein kleines Skript basteln das mir das adden von Aliasen per CLI ermöglicht. In etwa so:

    aliasadd <alias> <recepient>

    Via echo lässt sich mysql (nach Authentifizierung) einen Befehl übergeben:

    echo "use maildb; insert into aliases values ('$1', '$2');" | mysql -u <user> --password=<pass>

    Damit wäre auch schon das gröbste geschafft. Zumindest das Einfügen. Ein Skript zeichnet allerdings mehr aus als nur die Aufgabe die es erledigen soll. Ein Skript muss zuverlässlich sicherstellen das die Aufgabe ausgeführt wurde und dies dem Benutzer nach Möglichkeit auch noch mitteilen.

    echo "use maildb; select * from aliases where address = '$1';" | mysql -u <user> --password=<pass>

    Die vorherige Zeile sieht eigentlich nur nach ob der eingegeben Alias wirklich in der Datenbank vorkommt. Freilich(wer findet ‘freilich’ eigentlich noch seltsam in Sätzen?) könnte ich jetzt noch nach Rückgabewerten mit $? Abfragen und ähnliche if-Vorraussetzungen einbauen. Aber für die 4-5 mal im Monat in denen ich es benutze wäre das übertrieben.

    Fertig sieht das ganze dann wie folgt aus:

    #!/bin/bash
    echo "use maildb; insert into aliases values ('$1', '$2');" | mysql -u <user> --password=<pass>
    echo "use maildb; select * from aliases where address = '$1';" | mysql -u <user> --password=<pass>

    Bildschirmfoto 2010-01-09 um 12.12.35

    nochmal als Plaintext:
    http://zwetschge.org/paste/6

  10. Permalink
    Dez
    27
    So

    09
  11. Ubuntu | Twitter Logfile mit Twidge

    Ich laß meine TimeLine eine Zeit lang über die Konsole. Twidge hieß der textbasierte Twitterclient meiner Wahl. Die Ausgabe der letzten 10 Tweets erfolgt über den Befehl

    twidge lsrecent

    Die Syntax ist für jeden etwas erfahrenen Linux-Benutzer leicht verständlich und einleuchtend. Weitere Infos über die ManPage. Jedenfalls verfügt Twidge über eine wunderbare Funktion die (ich nehme an über die Tweet-ID) nur ungelesene Tweets anzeigt. Mit

    twidge lsrecent -s
    (oder --saveid)

    werden gelesene Tweets gespeichert und mit -u (--unseen) nur Tweets angezeigt die neuer sind als der letzte Abruf via --saveid. Das ist sehr schön da ich mir beim erstellen eines LogFiles keine eigene Programmlogik ausdenken musste die die oben genannte Arbeit übernimmt. Das Skript ist durch die Funktionen von Twidge sehr kurz.

    LeserLog:

    #!/bin/bash
    echo " `date +%d-%m-%Y-%H:%M:%S`" >> /var/log/twidge.log
    twidge lsrecent -u >> /var/log/twidge.log
    twidge lsrecent -s >> /dev/null

    Die Ausgabe sieht ziemlich leserlich wie folgt aus:
    Bildschirmfoto

    Detail-greppable-Log

    Nach einiger Zeit stieg ich aber auf TweetDeck um. Das Logfile tat aber gute Dienste und ich beschloss es als durchsuchbare Bibliothek für mich weiterzuführen. Um mir das greppen nach Tweets zu erleichtern (Zeilenumbrüche sind da unvorteilhaft) benutze ich allerdings die -l (–long) Ausgabe von Twidge. Einzeilig. Detailiert. TimeStamped.

    #!/bin/bash
    twidge lsrecent -l -u >> /var/log/twidge.log
    twidge lsrecent -s >> /dev/null

    Sieht zwar zum lesen nicht ganz so schön aus aber mir gefällt es besser.

    Bildschirmfoto-1

    Ein CronJob führt das Skript alle 5 oder 10 Minuten aus und so füllt sich das Logfile ;)

    Eintrag in der Crontab
    */10 * * * * bash /usr/local/scripts/twidgerotate &> /dev/null

    Alle Code-Schnippsel nochmal als Plaintext: http://zwetschge.org/paste/5

  12. Permalink
    Dez
    25
    Fr

    09
  13. Ubuntu | CIFS mounten

    Während meine Filme und Musik gerade auf die neue Netzwerk-Festplatte wandeln, nutze ich die Zeit um einen kleinen Guide zu tippen wie man CIFS Freigaben mountet.

    Laut Wikipedia beschreibt CIFS eine Art erweiterte SMB Freigabe. Nach der Installation des Pakets “smbfs” lässt sich mount den Parameter cifs mitgeben und nach Angabe der Pfade, Usernamen, Passwörtern, Charsets und Rechten (in dieser Reihenfolge) das Laufwerk einhängen.

    sudo mount -t cifs //IP/Share_Name /media/sharename -o username=user,password=pw,iocharset=utf8, file_mode=0777,dir_mode=0777

    Ist zwar meistens nicht gewünscht aber auch mit Gast-Account ist die Einbindung ins System möglich:

    sudo mount -t cifs //Name_oder_IP/Share_Name /media/sharename -o guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777

    Um die Freigaben automatisch einzuhängen bestünde auch die Möglichkeit die Datei /etc/fstab zu editieren, welche beim Start des Systems Partitionen an bestimmten Mount-Punkten einklinkt. Je nach Laune werde ich dazu aber gesondert einen Post verfassen.

    Ein klein wenig Offtopic noch: Mein Umstieg von einer Western Digital 500GB USB Festplatte zum Western Digital MyBook World Edition liegt in der Anzahl meiner PCs begründet die mittlerweile genutzt werden ;) Von iTunes Server bis zum TimeMachine Backup-Volume kann das Gerät so ziemlich alles was ich mir vorstelle.

    IMG_0132

    Greez,Flo

  14. Permalink
    Dez
    24
    Do

    09
  15. Offtopic | Frohe

    Weihnachten.

    Ich wollt nich so lang drum rum reden.

    xmas_tux

  16. Permalink
    Dez
    21
    Mo

    09
  17. Twitter | Filterkaffee

    twitter_logo_header

    Gerade machte ich mir Gedanken, bzw wurde dazu gezwungen Schrägstrich verleitet mir Gedanken zu machen über Twitter. Vielleicht liegt das an den mehr oder minder folgenswerten Leuten denen ich folge bzw jetzt nichtmehr folge, dass ich Twitter manchmal nervend finde. Warum setz ich mich noch gleich vor den PC ? Achja stimmt, ich wollte _nicht_ wissen was gerade im Fernsehen läuft. Oder so.

    Na gut ich schweife ab. In meiner Twitter-Timeline fand ich jedenfalls so einige Tags die da hiessen #sdr, #bsf oder ähnliches, die mich in erster Linie an Rundfunksender oder Viehkrankheiten erinnerten. Wie sich kurzerhand herrausstellte sollte das garnicht so weit von dem entfernt sein was ich dachte. Kommentare zu Bauer sucht Frau oder Schlag den All-in-One-Moderator von Prosieben.

    Ich fragte mich ob ich meine Timeline auch ohne diese Tweets lesen könnte. Ein grep -v $HASHTAG sozusagen. Dies schrob ich (ja schrob ist auch ein schönes Wort, genauso wie fotofiert) dann in Twitter. Ich schweifte von hier nach da, von Automatisierungmöglichkeit zum Melitta Filter für Twitter. Über Interessen, Langeweile, Stumpfsinn, oder ob ich der einzige bin den sowas _nicht_ interessiert.

    Warum gäbe es keine automatisierte Filtermethode für TV-Serien die mich nicht intressieren? Warum gäbe es keine automatisierte Filtermethode für Tweets die mich allgemein nicht interessieren? Ein Melitta-Beutel an dem die ganzen Tags hängen bleiben die ich nicht lesen will. Andererseits. Warum sollte ich meine Timeline bei Twitter dann überhaupt noch aktualisieren? Alle 2 Wochen würden dann warscheinlich reichen… Auch auf die Gefahr hin das ich meine eigenen Tweets warschenlich nichtmehr lesen könnte…

    Bis Benne mir einen Tweet mit dem Inhalt:

    @noqqe man sollte die ganzen tags mal sammeln ;-)

    zusandte, welcher meine Denke dann in Richtung Adblockplus brachte.
    Es wäre doch awesome eine Art, naja. Eine Art ja Adblock zu haben. Ein Plugin für Twitter die automatisch Tweets je nach Hashtag blocken, man allerdings Abonnementen-Like den Filterlisten von Leuten subscriben könnte.

    Klar das wäre Aufwand für denjenigen der diese Liste pflegt. Aber Adblock Abos pflegt doch auch irgendjemand.

  18. Permalink
    Dez
    20
    So

    09
  19. Mac | Macbook aufklebermässig vergewaltigt

    Das Macbook das ich von einem Kollegen erstanden habe, musste ich rigednwie bisschen individualisieren. Sowas sieht dann so aus:

    IMG_0119IMG_0122

    Das schöne ist, wenn ich keine Lust mehr drauf habe, zieh ich das ganze wie einen Teppich wieder runter ;D Übrigens bin ich mir der Ironie bewusst auf ein nicht MacbookPro einen Aufkleber mit der Aufschrift “Trust in Aluminium” zu kleben.
    Wer mehr sehen will: Link zum FlickR Fotoalbum

Older »