Quickie: SSH-Loginprobleme mit neuem Key

18 07 2013

Vor Kurzem erreichte mich mal wieder ein “akuter” Notfall. Ein Bekannter hat sich unter Linux ein Schlüsselpaar erzeugt. Ein echter Fortschritt, es wurde ausnahmsweise Mal erst Google gefragt, dann ich.

Doch mit dem Schlüssel war kein Login möglich. Der Key war korrekt auf dem entfernten System eingetragen worden. Jeder Versuch wurde jedoch nur mit der Fehlermeldung “Agent admitted failure to sign” quittiert.

Die Lösung für dieses Problem ist mit einem Befehl abgehandelt. Einfach “ssh-add” auf der Konsole ausführen und das neu angelegte Schlüsselpaar wird dauerhaft an den “authentication agent” übergeben, der vorher nicht wusste, mit was er sich authentifizieren sollte.





(Scheinbar) defekten Lipo-Akku retten.

7 04 2013

Als Modellbauer habe ich einige Akkus in meinem Haushalt. Ein Teil der Akkus sind NiMH-Akkus, ein anderer Teil sind Lipo-Akkus.

Diese sind noch anfälliger, was Tiefentladung angeht. Man sollte sehr darauf achten, den Akku nicht durch Tiefentladung zu zerstören. Dies geht leider schneller als man denkt. Ich habe in einen unachtsamen Moment in einem meiner Fahrzeuge vergessen den Fahrregler von NiMH auf Lipo umzuschalten. Nach der Benutzung hatte der Akku mit zwei Zellen nur noch 5.8 Volt Spannung – mein Ladegerät sondert den Akku beim Laden sofort als defekt aus und möchte den Akku nicht laden.

Versuch macht aber bekanntlich klug und mehr als kaputtmachen kann man den Akku ja auch nicht (außer ihn brennen zu lassen).
Also habe ich das Ladegerät auf NiMH umgestellt, dann wird auch geladen. Als maximalen Ladestrom habe ich ein Zehntel der Akkukapazität (0.1 C) eingestellt und den Akku so ganz langsam wieder auf die 6 Volt Spannung gebracht, die das Ladegerät im Lipo-Modus akzeptiert.

Im Lipo-Modus wieder mit 0.1C weiter geladen und siehe da: Der Akku wurde problemlos aufgeladen und hatte auch keinen Kapazitätsverlust erlitten.

Solltet ihr also auch mal einen scheinbar defekten Lipo-Akku haben, versucht es einfach mal. Lasst den Akku aber nicht unbeaufsichtigt laden. Lipos können sehr schnell Feuer fangen und explodieren. Wie immer gilt: Nachmachen auf eigene Gefahr!





Whatsapp-Verlängerung mit Paypal zahlen.

10 02 2013

Es haben sich ja genug Leute darüber aufgeregt, dass Whatsapp ab jetzt kostenpflichtig ist und man wahnsinnige 0,99 USD bzw. 0,78 Euro pro Jahr dafür zahlen muss. Rechnet man das einmal auf meine versendeten Nachrichten um, kostet mich eine Nachricht nicht einmal 0.003 Cent. Wie auch immer. Ich zahle freiwillig die 78 Cent um dafür ein Jahr lang Whatsapp nutzen zu können. Im Google Playstore hat man die Möglichkeit mit Kreditkarte zu zahlen oder direkt über seinen Mobilfunkanbieter. Dies funktioniert bei den deutschen Anbietern, außer bei E-Plus. Dort bleibt einem nur Kreditkartenzahlung. Aber auch bei anderen Anbietern gibt es Fallstricke. Wenn man sich die Liste von Vodafone ansieht, steht dort, dass man eine Vodafone Client ID benötigt. Doch die ist bei Smartphones ohne Branding nicht gegeben. Wenn man sein Vodafone Branding auf einem Smartphone entfernt, ist auch die Client ID eine andere.

Wer keine Kreditkarte besitzt und auch keine haben will, kann sich zumindest noch überlegen, ob er sich evtl. eine Prepaid-Kreditkarte besorgt.

Eine dritte Bezahlmöglichkeit ist Paypal – dies ist leider nicht sofort ersichtlich und auch nicht ganz so bequem gelöst wie die anderen beiden Zahlungsmethoden.

Nach einer Änderung des Google Playstores müssen alle Anbieter die Käufe aus einer App heraus ermöglichen, diese über den Playstore abwickeln. Davor gab es innerhalb von Whatsapp die Möglichkeit sich einen Paypal-Link zuschicken zu lassen.

Dies geht auch weiterhin, allerdings nur mit der App, die direkt von der Whatsapp-Homepage kommt. Wie dies funktioniert, beschreibe ich hier.

Wie es sich gehört, legt zu Beginn ein Backup eurer Whatsapp-Nachrichten an. Geht dazu innerhalb von Whatsapp auf Einstellungen -> Chat Einstellungen -> Backup Chatverlauf. Nach einigen Sekunden ist das Backup angelegt und wir können weiter machen.

Android lässt im Normallfall nur Apps zu, die direkt aus dem Playstore kommen. Um auch andere Apps zuzulassen, müsst ihr die “unbekannten Quellen” aktivieren.
Dieses Feld findet sich in den Androideinstellungen unter Anwendungen. Der nächste Schritt wird am Computer durchgeführt. Besorgt euch die Android-App von Whatsapp und kopiert sie auf euer Handy. Dort öffnet ihr die APK-Datei. Android wird euch fragen, ob ihr die Anwendung ersetzen wollt, dies bestätigt ihr mit einem Klick auf OK. Die Anwendung wird installiert.

Nach der Installation startet ihr Whatsapp wie gewöhnt und ihr bekommt die Möglichkeit eurer Backup wiederherzustellen. Später habt ihr keine Möglichkeit mehr dazu.

Nun geht es an’s Bezahlen. Gebt zu, darauf habt ihr schon sehnsüchtig gewartet ;)
Ruft die Whatsapp-Einstellungen auf, Account -> Bezahlinformationen. Dort gibt es nun den Button “URL zum Zahlen senden”. Diese URL sendet ihr euch zu, ruft sie auf und bezahlt wie gewohnt via Paypal. Nach der erfolgreichen Bezahlung kann es bis zu einer Stunde dauern, dann ist euer Account verlängert.





Tweetnest, Hovercards und SSL.

3 02 2013

Wie meine treuen Leser ja wissen, nutze ich Tweetnest. Nun läuft es bei mir aber auf einer Seite mit SSL-Verschlüsselung.
Soweit kein Problem. Das Einzige, was nicht mehr funktionierte nach der Umstellung auf SSL waren die Hovercards von Twitter (für die man den Anywhere-API-Key benötigt).

Nachdem ich mir in meinem Browser mal genauer angeschaut habe, was passiert habe ich schon das Problem gefunden. Es werden Javascript-Dateien nachgeladen, die nicht über eine sichere Verbindung kommen. Da wäre zum einen jQuery und zum anderen die Anywhere-API.

Die Lösung dafür ist absolut einfach – es müssen nur die URLs der beiden Dateien von http auf https umgeschrieben zu werden. Versteckt sind diese in der Datei “header.php” im Tweetnest-Unterverzeichnis “inc”.

Als Erstes sucht ihr nach: http://ajax.googleapis.com/ajax/libs/jquery/ Ändert dies zu: "https://ajax.googleapis.com/ajax/libs/jquery/"Die zweite URL, die ersetzt werden muss, lautet: http://platform.twitter.com/anywhere.js?id= Ändert sie auf: https://platform.twitter.com/anywhere.js?id=

Nun funktionieren die Hovercards auch mit SSL.





Tweetnest Installationsanleitung.

23 01 2013

Nachdem mich einige gefragt haben, wie man denn Tweetnest überhaupt installiert und auch die Heldenstadt meiner Anleitung nicht ganz folgen konnte, schreibe ich hier mal eine ausführlichere Anleitung.

Ich muss zugeben, die vorherige Anleitung zum Import seines Twitter-Archiv-Downloads setzte einiges an Wissen voraus und Tools wie z.B. git sind nicht auf jedem Rechner vorhanden und auch einen Shell-Zugang zu seiner Webseite hat nicht jeder.

Daher nun eine Anleitung für Leute mit Webspace auf dem PHP und MySQL verfügbar sind und sonst nichts weiter benötigt wird.

Besorgt euch als Erstes den aktuellen Stand von Tweetnest. Wenn ihr den Link zum Fork des Users tralafiti anklickt, seht ihr einen Button mit der Aufschrift “Zip”, dort wird die aktuelle Version auf euren Rechner herunter geladen.

Entpackt das Archiv, ihr erhaltet einen Ordner “tweetnest-master”. Diesen einfach in “tweetnest” umbenennen und auf euren Webspace hochladen.
Nun öffnet im Browser die Adresse eurer Webseite und fügt “/tweetnest” am Ende hinzu. Es sollte sich nun die Installationsseite von Tweetnest öffnen. Hier müsst ihr das Formular mit euren Daten ausfüllen.

Das Feld “TWITTER SCREEN NAME:” ist selbst erklärend, hier tragt ihr euren Twitternamen ein. Auch die Zeitzoneneinstellung ist keine Hexerei. Für Deutschland wählt ihr bei “YOUR TIME ZONE:” einfach “Europe/Berlin” in dem Feld aus.

Die nächste Textbox ist mit “TWEET NEST PATH:” benannt, diese wird automatisch gefüllt und sollte nur geändert werden, wenn ihr wirklich wisst, was ihr da macht. Also so stehen lassen.
Der nächste Abschnitt ist für die Datenbank-Konfiguration zuständig.
Tragt dort eure MySQL-Zugangsdaten ein, solltet ihr sie nicht wissen, schaut in der Doku eures Anbieters nach oder fragt diesen. Die Datenbank, die Tweetnest nutzen soll, muss schon vorhanden sein. Das Feld “TABLE NAME PREFIX:” müsst ihr nicht ändern, im Normalfall ist die Einstellung in Ordnung.

Die nächsten zwei Felder drehen sich um das Admin-Passwort. Da ich ja davon ausgehe, dass ihr keinen Shell-Zugang zu eurem Webspace habt, setzt hier bitte ein Passwort. Dies sollte natürlich nicht identisch mit eurem Passwort bei Twitter sein.

Die Haken bei ““FOLLOW ME” BUTTON” und “SMARTYPANTS” können einfach gesetzt bleiben.

Das Feld “@ANYWHERE API KEY” lasst ihr leer, dies ist für den Betrieb von Tweetnest nicht zwingen notwendig.

Ein Klick auf “Submit and Setup” schließt die Einrichtung ab. Löscht im Anschluss die Datei “setup.php” von eurem Webspace.

Der erste Schritt nach dem Setup ist das Aufrufen der Load User Seite. Diese erreicht ihr, indem ihr an die Domain eures Webspace “tweetnest/maintenance/loaduser.php” anfügt.

Wenn ihr also “www.twitterarchiv.tld” besitzt, so müsst ihr nun “www.twitterarchiv.tld/tweetnest/maintenance/loaduser.php” aufrufen. Ihr werdet nach einem Benutzernamen und einem Passwort gefragt. Der Nutzername ist euer Twittername und das Passwort ist das bei der Installation vergebene Admin-Passwort.

Die nächsten Schritte kümmern sich um den Import des Twitter-Archivs. Die Zip-Datei, die ihr bei Twitter herunter laden könnt, enthält mehrere Dateien und Ordner. Uns interessieren nur die Dateien im Ordner “data\js\tweets”. Für jeden Monat gibt es dort eine Datei, der Dateiname ist immer wie folgt aufgebaut: “jjjj_mm.js”. So heißt beispielsweise die Datei für den Januar 2013 “2013_01.js”. Alle Javascript-Dateien aus dem tweets-Ordner nehmt ihr nun und ladet sie in den schon vorhandenen Ordner “tweetnest/archive” auf eurem Webspace.

Nun wird die Seite “maintenance/loadarchive.php” im Browser aufgerufen, die komplette URL müsst ihr euch wieder wie im oben beschriebenen Beispiel zusammenbauen.
Normalerweise startet man den Import über den Shell-Zugang, dort gibt es dann auch keine Probleme. Über den Browser hat eine PHP-Datei nur eine beschränkte Ausführungszeit, dann wird der Import abgebrochen und ihr seht eine Fehlermeldung eures Browsers (“Zeitüberschreitung”).
Keine Sorge, dies ist nicht weiter problematisch und der Entwickler des Skripts hat dies berücksichtigt. Ladet einfach die Seite neu, nachdem der Fehler aufgetreten ist. Dies wiederholt ihr nach jeder Fehlermeldung. Je nach Server, auf dem ihr euren Webspace habt, kann mit einem Mal laden zwischen 2500 und 5000 Tweets importiert werden. So könnt ihr grob überschlagen, wie oft ihr die Seite aufrufen müsst.
Versucht aber nicht wie im Wahn die Seite neu zu laden, dass beschleunigt nichts. Also immer erst die Fehlermeldung abwarten und schauen, dass der Browser nicht noch versucht die Seite zu laden. Bei den meisten Anbietern ist das Timeout auf 60 Sekunden gesetzt, d.h., nach 60 Sekunden wird der Import abgebrochen und erst dann ladet ihr die Seite neu.

Wenn ihr dann die Seite “Tweet Nest: Loading tweets from archive” seht, dann ist der Import komplett abgeschlossen.

Nun könnt ihr Tweetnest benutzen.
Damit Tweetnest auch eure zukünftigen Tweets empfangen kann, müsst ihr regelmäßig die Seite “maintenance/loadtweets.php” aufrufen. Bei diesem Aufruf werden maximal 3200 Tweets der Vergangenheit geladen, wer also extrem häufig twittert, muss die Aktualisierung häufiger laufen lassen als der wenig-Twitterer.





Das eigene Tweetarchiv.

19 01 2013

Viele von uns sind bei Twitter anzutreffen. Wir pusten unsere Gedanken ins Netz und dort verschwinden sie nach ein paar Tagen im Nirvana. Keiner erinnert sich mehr daran, die Chance nachzulesen ist bei Twitter auch nicht gerade einfach. Wenn ich einen meiner ersten Tweets lesen will, klappt das nicht.

Nun gibt es seit einiger Zeit Tools wie Tweetnest und Thinkup. Beide archivieren eure Tweets. Tweetnest ist spartanisch gehalten, ihr seht eure Tweets, könnt auf einer Zeitleiste einzelne Tage auszählen oder eine Textsuche bemühen.
Thinkup sichert nicht nur Tweets, ihr könnt dort auch Facebook, Google+ und Foursquare einbinden und eure Statusupdates sichern. Außerdem gibt es einige Auswertungsmöglichkeiten und mehr oder weniger sinnvolle Grafiken, neudeutsch Charts.
Beide Tools haben aber einen Nachteil, sie können durch eine Beschränkung der Twitter-API nicht besonders weit in die Vergangenheit schauen. Diese Twitter-API ist die Verbindung der Programme zu euren Tweets. Twitter erlaubt es nur 3200 Tweets der Vergangenheit zu laden. Wer also zum Installationszeitpunkt eines Tools mehr als 3200 Tweets hat, schaut in die Röhre. Eure Tweets, die ihr in Zukunft schreibt, werden alle erfasst – wenigstens da seid ihr auf der sicheren Seite. Ich habe Tweetnest seit über einem Jahr laufen und habe dort etwas über 13.000 Tweets gesammelt. Somit fehlten mir aber über 23.000!

Twitter bietet nun seit einiger Zeit die Möglichkeit, seine Tweets herunter zu laden. Diese Funktionalität wird nach und nach für alle Nutzer freigeschaltet.
Der Punkt ist in den Account-Einstellungen im unteren Teil zu finden, wenn er für euch aktiviert ist.
Auch hier kommt ihr nicht sofort an eure Tweets, ihr müsst erst einen Download anfordern. Dies geht ganz einfach via Mausklick und dann heißt es warten. Bei mir betrug die Wartezeit nur 5 Minuten. Die Zeit variiert aber. Wenn der Download endgültig bereitsteht, bekommt ihr eine Mail mit dem Downloadlink.

Bei mir sind (nahezu) alle Tweets enthalten. Ca. 20 Stück sind trotzdem irgendwo im Datenorkus verschwunden.
Das Twitter-Archiv enthält alles, was man benötigt um seine alten Tweets anzuschauen – ihr benötigt lediglich einen Browser.
Wenn die Daten schon mal da sind, dann könnte man sie ja gleich weiter nutzen. Wie sind sie denn abgelegt? Jeder Monat wird in einer separaten Datei gespeichert. Einmal als CSV-Datei und einmal als JavaScript-Datei. Interessant an den JavaScript-Dateien ist die Tatsache, dass es nahezu sauberes JSON ist – lediglich die erste Zeile stört.
Ein “tail -n +2″ würde unter Linux in diesem Fall schon weiter helfen.

Da ich sicher nicht der Erste bin, der die Daten nutzen will, fragen wir doch mal unsere freundliche Datenkrake Google, wie es diesbezüglich aussieht. Siehe da, es gibt einen Fork des originalen Tweetnests auf GitHub. Dieser enthält nicht nur einen Import, sondern ist auch auf dem aktuellen Tweetnest-Stand.
Ein beherztes “git clone git://github.com/tralafiti/tweetnest.git” später und ich hatte die Version auf meiner Platte. Noch schnell die Tweetnest-Konfiguration (“inc/config.php”) und die dazugehörige Datenbank sichern, die geänderte Tweetnest-Version einspielen und die Konfiguration wieder zurückspielen.

Diese Tweetnest-Version benötigt noch eine Änderung der Datenbank, die ID jedes Tweets darf nur noch einmal vorkommen. Doch keine Sorge, ich müsst euch darüber keine Gedanken machen. Mittels “php upgrade.php” startet ihr ein mitgeliefertes Skript, welches euch die Arbeit abnimmt.
Das ging einfacher als gedacht. Nun die Javascript-Dateien aus dem Twitter-Export in das Verzeichnis “archive” kopierten und den Import mittels “php maintenance/loadarchive.php” anschmeißen. Etwas mehr als 15 Minuten später waren meine fast 36.000 Tweets importiert, es gab keine Dopplungen und ich kann sie wie von Tweetnest gewohnt durchsuchen und mir der Zeit nach geordnet ansehen.
Wie bereits erwähnt, fehlen 20 Tweets, dies kann ich persönlich aber verschmerzen. Die zukünftigen Tweets werden dann über den Tweetnest eigenen Mechanismus wie gewohnt abgerufen und gespeichert.





selbsttreibendes Mehl / self rising flour

30 12 2012

In letzter Zeit fragen mich immer mal wieder Leute, woraus denn selbsttreibendes Mehl besteht und auch hier im Blog wird immer mal wieder danach gesucht. Dieses spezielle Mehl findet man teilweise in Rezepten aus den USA, dort heißt es “self rising flour”. In Deutschland scheint es vereinzelt Händler zu geben, die dieses Mehl anbieten – jedoch findet man es mehr als nur selten im Supermarkt. “Selbermachen” lautet hier also die Devise. Selbsttreibendes Mehl geht von alleine auf, es muss also nichts weiter hinzugefügt werden. Wir müssen uns nun überlegen, was lässt Mehl gehen. Da gibt es zum einen Hefe und zum anderen Backpulver. In industriell hergestelltem selbsttreibenden Mehl ist Backpulver enthalten. Dazu noch Salz oder Natron. Da die US-Rezepte ihre Mengen in Cups angeben, liefere ich hier ein Rezept für 1 Cup – leicht gerundet:

  • 140 g Mehl
  • 1,5 TL Backpulver
  • eine Messerspitze Salz oder Natron




Zwei-Faktor-Authentifizierung.

28 11 2012

Jeder kennt sie, die Zwei-Faktor-Authentifizierung, teilweise ohne sich dessen bewusst zu sein. Selbst die Leute, die mit Technik nichts am Hut und am Rechner zwei linke Hände haben.
Wie kann man sich überhaupt authentifizieren? Es lassen sich drei Gruppen ausmachen: Besitz, Wissen und Biometrie.

Der Besitz:
Jemand besitzt etwas mit dem Er sich authentifizieren kann. Beispiele aus dem Alltag währen z.B. ein Schlüssel, die EC-Karte oder ein Personalausweis. Mit dem passenden Schlüssel authentifiziert man sich quasi gegenüber dem Schloss und kann dieses öffnen oder mit dem Personalausweis, kann man sich gegenüber der Polizei authentifizieren, wer man ist.

Das Wissen:
Jemand weiß etwas um sich zu authentifizieren. Dies kann das Passwort zum Twitter-Account sein oder die PIN-Nummer der SIM-Karte im Handy.

Die Biometrie:
Hierfür werden körperliche Merkmale verwendet, die absolut eindeutig eine Person authentifizieren. Zur Authentifizierung mittels biometrischen Merkmalen werden beispielsweise der Fingerabdruck oder ein Irisscan verwendet. Der Vorteil der Biometrie ist, dass man seine Merkmale immer dabei hat – vorausgesetzt, man schneidet sich nicht ausversehen den Finger ab. ;)

Die Zwei-Faktoren-Authentifizerung nutzt nun, wie der Name es schon vermuten lässt, zwei dieser Faktoren. Im Alltag wäre das beispielsweise die Authentifizierung am Geldautomaten. Ich besitze etwas, meine persönliche EC-Karte und ich weiß etwas, meine PIN-Nummer. Nur so komme ich an mein Geld.

Solche Authentifizierungsverfahren gibt es auch online. Damit erhöht man die Sicherheit im Vergleich zur Authentifizierung nur über ein Passwort. Selbst wenn das Passwort zu einem Account erraten oder abgefangen ist, es ist nur ein Teil der Authentifizierung. Ohne den zweiten Teil ist das Passwort nichts wert. Google bietet einem schon länger die Möglichkeit, seinen eigenen Account zu schützen, indem man außer dem Passwort auch noch einen Code eingeben muss. Dieser Code ist nur eine begrenzte Zeit gültig. Im Firmenumfeld realisiert man die Codeerzeugung meist über sogenannte Tokens. Diese kleinen Geräte werden einmalig initialisiert und erzeugen dann auf Knopfdruck einen mehrstelligen (Zahlen-)Code. Das Problem hier ist allerdings, dass man bei mehreren Zugängen auch mehrere dieser Geräte dabei haben muss.
Ich persönlich habe zwei dieser Tokens bei mir, mehr würde ich aber nicht haben wollen – irgendwann wird es einfach unpraktisch.
Damit Google nicht jedem Anwender solch einen Token zuschicken muss, was nicht nur ein ziemlicher Aufwand, sondern auch mit einigen Kosten verbunden wäre, nutzt der Anwender sein Handy. Entweder bekommt man jedes Mal eine SMS geschickt, ähnlich dem mTan-Verfahren, welches teilweise beim Onlinebanking eingesetzt wird oder aber man installiert eine Anwendung auf seinem Telefon und generiert den Code selbst.

Für die Neugierigen und Interessierten unter euch, der von Google verwendete Algorithmus für das “Time-Based One-Time Password (TOTP)” ist in dem RFC 6238 zu finden.

Auch andere Dienste und Unternehmen setzen auf das TOTP-Verfahren. So kann man bei Amazon AWS nicht nur einen Hardwaretoken nutzen, sondern auch eine App. Man muss nur das “virtual MFA device” auswählen. MFA steht bei Amazon für “Multi-Factor Authentication”. Auch Dropbox hat die Zwei-Faktor-Authentifzierung eingeführt, nach der Aktivierung in den Einstellungen muss man sich auf der Webseite mit Passwort und dem jeweils neu erzeugten Code einloggen.

Eine kleine (und nicht vollständige) Auswahl der Apps, die einem das TOTP erzeugen können sind der Google Authenticator, Amazon AWS MFA und Authenticator. Mit diesen drei Apps sind die gängigen Smartphones, Android, iPhone, BlackBerry und Windows 7, abgedeckt.

Da der Algorithmus hinter TOTP bekannt ist, gibt es die verschiedensten fertigen Implementierungen in Java, Javascript, Python, C# und anderen Sprachen.
Wie man die Zwei-Faktoren-Authentifizierung unter Linux zum Absichern seines SSH-Accounts nutzen kann, verrate ich euch im nächsten Blogeintrag.





Anleitung: Iron Blogger Skript (reloaded)

22 07 2012

Nach einigen Änderungen am Skript und dem Aufruf von Mako Hill, dass jemand mal das Iron Blogger Skript dokumentieren soll, wird es Zeit, endlich mal meine Anleitung auf den aktuellsten Stand zu bringen. Die alte Anleitung ist damit hinfällig. Wundert euch nicht, wenn euch einiges bekannt vorkommt – Dinge, die sich nicht geändert haben, habe ich aus der alten Anleitung übernommen.

The English version of this guide will be updated soon. Stay tuned.

In meiner Anleitung gehe ich wieder davon aus, dass ihr Debian nutzt. Solltet ihr ein anderes System verwenden, so müsst ihr die Befehle anpassen und evtl. heißen die Paketnamen dann ein wenig anders.

Was muss alles installiert sein?

  • git
  • python
  • python-yaml
  • python-dateutil
  • python-mako
  • python-lxml
  • python-feedparser
  • ledger
  • mutt

Wie installiere ich die Pakete?

Gebt auf der Konsole folgende Zeile ein – auch wenn hier ein Zeilenumbruch angezeigt werden sollte, es ist eine einzige Zeile!:

sudo apt-get install git python python-yaml python-dateutil python-mako python-lxml python-feedparser ledger mutt

Es werden die benötigten Pakete herunter geladen und installiert. Wenn eines der Pakete schon vorhanden ist, dann wird dieses automatisch übersprungen.

Woher bekomme ich das Iron Blogger Skript?

Wechselt auf der Konsole in das Verzeichnis, in dem ihr das Iron Blogger Skript später haben wollt, und führt folgende Zeile aus:

git clone https://github.com/chaosblog/iron-blogger.git

Es wird automatisch ein Verzeichnis “iron-blogger” angelegt, dieses beinhaltet das Skript.

Was muss ich bei meinem Blog vorbereiten?

Erstellt eine neue Seite (kein Artikel) für die Teilnehmerliste. Verpasst der Seite eine Überschrift nach belieben.

Macht euch keine Mühe Text auf die Seite zu schreiben – jeglicher
Inhalt der Seite wird bei einer Generierung der Teilnehmerliste überschrieben.

Navigiert in eurem WordPress-Admininterface zu “Seiten”, in der Auflistung der vorhanden Seite taucht die gerade erzeugte Teilnehmerliste auf. Fahrt mit der Maus über den Link und merkt euch die ID-Nummer der Seite, diese wird später gebraucht.

Wenn der Link zur Seite beispielsweise https://chaosblog.wordpress.com/wp-admin/post.php?post=2&action=edit lautet, dann wäre die ID die ihr euch merken müsst die 2.

Was muss ich anpassen?

Die zentrale Konfigurationsdatei.
Nach meinen Änderungen gibt es nun eine zentrale Konfigurationsdatei – es ist nicht mehr nötig, wie bisher, verschiedenste Dateien zu bearbeiten. Eine Beispiel-Konfigurationsdatei wird schon mitgeliefert. Diese heißt “settings.cfg.dist”. Kopiert die Datei und gebt ihr den Namen “settings.cfg”. Die Datei hat folgenden Inhalt:

[general]
mail=addyourmail@here
start_date=YYYY/MM/DD
 
[blogsettings]
username=john_doe
xmlrpc_endpoint=http://blog-URL.tld/xmlrpc.php
blog_id=0
participants_page_id=12

[general]
Im Abschnitt general sind Mailadresse und Startdatum zu definieren.
Tragt bei “mail=” die Mailadresse ein, die die Auswertungsmails am Ende einer Wertungswoche erhalten soll. Die Variable “start_date” muss das Datum enthalten, an dem euer Iron Blogger Projekt gestartet ist. Das Datumsformat ist hierbei wie folgt festgelegt: YYYY/MM/DD. Das Jahr also vierstellig, der Monat zweistellig und der Tag ebenfalls zweistellig.

[blogsettings]
Der Abschnitt blogsettings enthält die notwendigen Informationen um mittels des Skriptes auf einen WordPress-Blog zugreifen zu können. Der “username” muss den Nutzernamen eures WordPress-Zugangs enthalten. Die Variable “xmlrpc_endpoint” muss die URL eures Blogs gefolgt von “/xmlrpc.php” (ohne Anführungszeichen) enthalten.
Wenn eure Blog-URL z.B. http://chaosblog.wordpress.com heißt, dann wäre der einzutragende Wert http://chaosblog.wordpress.com/xmlrpc.php.
Sollte das Schema eurer XML-RPC-URL abweichen, dann schaut bitte direkt innerhalb der Administrationsoberfläche vorn WordPress nach, wie die URL lautet.
Die Variable “blog_id” lasst ihr auf 0 stehen. Theoretisch könnte hier auch ein anderer Wert stehen – dieser Fall ist mir aber bisher noch nie in der Praxis begegnet. Solltet ihr hier etwas anderes eintragen müssen, dann wisst ihr es auch ;)
Als Letztes fehlt noch die participants_page_id. Dies ist die ID der Teilnehmerseite, die wir uns vorhin gemerkt haben.

Die Liste der Blogger
Die Datei bloggers.yml enthält die Blogger, die an eurer Iron Blogger Aktion teilnehmen.

username:
links:
- [Blogname 01,'http://blog-URL.tld/']
- [Blogname 02,'http://blog-URL02.tld/']
name: Jon Doe
start: YYYY/MM/DD

Der username entspricht dem Nick des Bloggers auf Twitter. Solltet ihr auch Blogger ohne Twitteraccount haben, so schreibt hier einen Nutzernamen hin, den ihr euch ausdenkt und fügt den optionalen Eintrag twitter:no zu dem Nutzer hinzu.

Im Abschnitt links tragt ihr den oder die Blogs ein, die ein einzelner Blogger betreibt. Hier werden nur ein Name und ein Link eingetragen – eine Feed-URL wird später automatisch ermittelt und eingetragen.
Das Feld name erhält den Klarnamen, bzw. dass was als Klarname angezeigt werden soll.
Damit auch nach dem Start der Aktion neue Teilnehmer hinzustoßen können, gibt es das Feld start. Dort wird eingetragen, ab wann ein Nutzer in die Wertung einfließt.
Achtung:Wenn ihr einen Wert in der Vergangenheit eintragt, heißt es nicht, dass für den User auch rückwirkend die Gebühren berechnet werden!
Zum besseren Verständnis hier ein Beispiel:
chaosblog:
links:
-[Chaosblog, 'http://chaosblog.wordpress.com/']
name: Marcus S.
start: 2012/01/01
twitter: no

Wie führe ich das Skript aus?

In Wirklichkeit ist es nicht ein einzelnes Skript, sondern mehrere Skripte, die zusammenarbeiten. Daher gibt es eine bestimmte Reihenfolge, die ihr einhalten müsst.

      1. Tragt alle Teilnehmer wie oben beschrieben in die Datei bloggers.yml ein.
      2. Führt das Skript import-feeds.py durch Eingabe von
        ./import-feeds.py
        aus. Die Datei bloggers.yml wird gelesen und zu allen Blog die noch keine Feed-URL eingetragen haben, wird die Feed-URL erzeugt.
      3. Nun könnt ihr die Teilnehmerliste auf eurem Blog aktualisieren lassen. Dies geschieht wieder auf der Konsole, diesmal ist der Befehl:
        ./update-participants.py
        Ihr werdet nun aufgefordert, euer Passwort einzugeben – dies ist das Passwort mit dem ihr euch auch im WordPress einloggt.
        Nach einigen Sekunden erscheint wieder der Eingabeprompt und die Teilnehmerliste eures Blogs wurde aktualisiert.
      4. Die Ermittlung der neuen Beiträge der einzelnen Teilnehmer übernimmt scan-feeds.py. Dieses Skript lädt nacheinander alle Feeds der Blogs und speichert die Titel und die Adressen der neuen Beiträge. Dies geschieht via:
        ./scan-feeds.py
      5. Nun könnt ihr einen Probelauf des Auswertungsskripts weekly-update.py starten. Der Parameter -n sorgt für einen Probelauf – es wird keine Mail verschickt und kein Blogartikel erzeugt. Allerdings wird der Text, der Mail, die generiert wird, auf der Konsole ausgegeben. Als zweiten Parameter beim Probelauf erwartet das Skript ein Datum im Format YYYY-MM-DD (z.B. 2012-01-19)
        ./weekly-update.py -n 2012-01-19
        Das Datum definiert die Woche für die die Auswertung erzeugt wird. Basierend auf dem Parameter und dem weiter oben konfigurierten Start-Datum wird die Woche berechnet. Für das Skript muss eine Woche nicht zwingend mit Sonntag oder Montag beginnen.
        Wenn ihr den Parameter -n durch -q ersetzt, bekommt ihr noch eine kompaktere Ansicht des Probelaufs.
      6. Jetzt wird es ernst. Wir lassen nun den Blogbeitrag mit der Auswertung und die E-Mail dazu erzeugen. Wieder wird das Skript weekly-update.py ausgeführt, diesmal wird allerdings nur ein Parameter, das Datum, übergeben.
        ./weekly-update.py 2012-01-15
        Wie bei der Aktualisierung der Teilnehmerliste werdet ihr auch hier nach eurem WordPress-Passwort gefragt.
        Nach einigen Sekunden ist der Blogpost erstellt und ihr solltet eine neue E-Mail in eurem Postfach vorfinden.

Fertig. War doch auch diesmal gar nicht schwer und sogar leichter als bei der ersten Version, oder? ;)

Noch ein Tipp: Legt euch bei WordPress.com einfach einen neuen bzw. einen weiteren Blog an, den ihr auf privat schaltet. Diesen könnt ihr dann als Spielwiese zum Testen nutzen.





iPhone Home Button kalibrieren

11 07 2012

Die Apfeljünger da draußen argumentieren ja immer, dass so ein iPhone supereinfach, sehr robust und total anwenderfreundlich ist.

Doch auch der beste Apfel wird mal faulig. So scheinbar auch die iPhones – irgendwann tut der Home Knopf nicht mehr das, was er eigentlich tun sollte. In meiner Twitter-Timeline ist dieses Problem bei @maxheadroom, @kommandomutti und @Lady_Darkness69 aufgetreten, doch sie sind bei Weitem nicht die Einzigen. Ein Blick in das Apple Support Forum zeigt einen Beitrag auf, der sich inzwischen auf über 40 Seiten hinzieht.

Da fiel mir ein Artikel auf dem iDownloadBlog ein. Man könne ja seinen Home Button neu kalibrieren. Zuerst hab ich das als irgendwelchen Budenzauber abgetan. Für mich hörte sich es so an, wie die Vogelspinne in der Yucca-Palme.
Einen Knopf kalibrieren – da gibt es doch nur 1 und 0 – selbst wenn der Taster nicht entprellt wäre. Was will man da …? Egal. Nicht weiter drüber nachdenken. @maxheadroom hat das Ganze nach meinem Hinweis getestet und siehe da – es funktioniert. Muss also doch was dran sein.

Wenn ihr auch das Problem habt, geht wie folgt vor:

  1. Startet eine von Apple vorinstallierte App, welche das sind, kann ich in Ermangelung eines iOS-Geräts nicht sagen. Es scheint aber eine Aktien-App zu geben, mit der es funktioniert
  2. Drückt den Powerknopf und haltet ihn gedrückt, bis “Slide to Power off” bzw. im Deutschen “Auschalten” erscheint.
  3. Drückt den Home Button und haltet ihn gedrückt, bis “Slide to Power off” / “Ausschalten” verschwindet, die gestartete Anwendung geschlossen wird und ihr euren Home Screen seht.

Fertig.

Hier das Ganze noch als Video:

Viel Erfolg.

P.S. Es soll auch bei iPod touch und iPad funktionieren.








Follow

Erhalte jeden neuen Beitrag in deinen Posteingang.