• Barcode Scanner

    Screenshot: Programm auf Barcode-Suche

    Screenshot: Programm auf Barcode-Suche

    Mit diesem Programm beginne ich meine Serie der Android Software Vorstellungen.

    Der ZXing Barcode Scanner ist ein hilfreiches Tool, um (wie der Name schon sagt) Barcodes zu scannen.

    Er ist Teil des ZXing Project (“Zebra Crossing”), einer Java-Barcode-Library, die unter der Apache License vertrieben wird.

    Read more

  • T-Mobile G1 CheatSheet

    Hier ein paar nützliche Tastenkombinationen für’s HTC Dream:

    (inwieweit diese Anleitung auch für andere Android-Handys gilt, weiß ich nicht)

    Android-Shortcut

    • **Recent Apps

    ** Wenn man dne Home-Button für ein paar Sekunden hält, öffnet sich ein Fenster mit den kürzlich verwendeten Programmen

    System

    • Bootloader:

      Der HTC Dream Bootloader ermöglicht es, händisch Firmware Upgrades einzuspielen.

      Bei den europäischen G1 wird dafür aber eine speziell modifizierte SD-Karte (“GoldCard”) benötigt.

      Gerät ausschalten, Kamera-Knopf halten, Power (Auflegen) drücken

      (um wieder aus dem Bootloader herauszukommen, muss ein SoftReset durchgeführt werden).

    • Soft-Reset:

      Sollte sich das Telefon einmal wider erwarten aufhängen (oder will man aus einem anderen Grund neu starten, so bietet sich der folgende Shortcut an:

      Anrufen+Menü+Auflegen

    • Hard-Reset (alle Einstellungen zurücksetzen!)

      Vor dem Verkauf oder dem gebrauchten Kauf des Handys sollte man auf jeden Fall einen Hard-Reset durchführen. Alle Programme, Daten und Einstellungen werden so gelöscht und beim nächsten Einschalten startet wieder der Einrichtungsassistent!

      Gerät ausschalten, Home+Zurück halten und Power drücken

      Alternativ lässt sich der Hard Reset auch über die Einstellungen durchgeführt werden (Einstellungen/SD-Karte und Speicher/Auf Werkszustand zurück)

    Wenn ich noch andere Shortcuts finde, werde ich diese Liste natürlich ergänzen.

  • Mein neues T-Mobile G1

    Seit Samstag bin ich nun schon stolzer Besitzer eines HTC Dream (oder auch T-Mobile G1), das ich mir per eBay günstig ersteigert habe.

    Da auf diesem Handy ein Linux-Derivat (namens Android) installiert ist, war für mich von Anfang an klar, dass ich es irgendwann mal in meinen Händen halten würde ;).

    Leider hat das Handy (nicht mehr lange ;)) einen T-Mobile SimLock, wodurch ich mangels T-Mobile SIM mit Datenvertrag anfangs nicht gerade viel mit dem Handy anfangen konnte, da schon der Einrichtungsassistent einen Google-Account voraussetzte, zu dem er sich jedoch nicht verbinden konnte. Erst seit Android v1.5 kann die GMail-Einrichtung auf später verschoben werden (wodurch man vorher die WLAN-Verbindung einrichten kann…)

    Da ich nicht bis zum unlocken (geht erst nach dem Wochenende) warten wollte, um das Smartphone einzusetzen, entschloss ich mich dazu, das Handy mittels händischem Downgrade zu rooten und den Einrichtungsassistent so zu auszutricksen (Anleitung folgt…). Ein Upgrade auf (irgemd eine Form von) 1.5 sollte danach ja kein Problem mehr sein.

    Im Internet habe ich nach kurzer Suche eine Anleitung zur Erstellung einer so genannten Goldcard gefunden, mit der man dem Handy eine beliebige Firmwareversion unterjubeln kann (solange sie signiert ist, aber auch das kann umgangen werden, indem man nach dem rooten einen modifizierten Bootloader installiert).

    So fand dann die rc7-Firmware ihren Weg aufs Handy, die den Bug enthielt, dass alle Tastatureingaben im Hintergrund auch an ein root-Terminal gesendet werden. So kann z.b. durch die Eingabe von reboot in einem beliebigen Programm ein Soft-Reset durchgeführt werden (oder auch - wenn man weiß wie - schon im Einrichtungsassistenten die WLAN-Verbindung konfiguriert werden).

    Nachdem ich so das Handy endlich in einen verwendbaren Zustand gebracht habe, fing ich an, mich im Android Market nach sinnvollen Apps umzusehen (mehr dazu auch später in einem eigenen Post).

    Nach wenigen Minuten erschien eine Benachrichtigung, dass eine neue Softwareversion zur Verfügung stehe. Ich hab dem Update natürlich sofort zugestimmt, da ich so wieder ein quasi unmodifiziertes Handy hatte, bei dem ich trotzdem ohne Datenverbindung die Einrichtung durchführen und so das Telefon nutzen konnte. Nach dem Update hab ich noch einmal einen Hard Reset durchgeführt, um eine konsistente OS-Basis sicherzustellen.

    Wie erwartet ließ sich der Einrichtungsassistent ohne Internetverbindung abschließen und das Handy war (bis auf das vernachläßigbare Detail, dass ich damit noch nicht telefonieren kann…), einsatzbereit.

    Sobald das Geld fürs unlocken ins PayPal überwiesen ist, kann ich dann auch meine geliebte Bob-SIM damit verwenden.

    Auf jeden Fall gibts in diesem Blog in Zukunft den einen oder anderen Post zum Thema G1 bzw. Android.

    PS.: diesen Eintrag hab ich am G1 mit der Software PostBot verfasst.

  • Bash history tricks

    In addition to the possibility to view/edit your ~/.bash_history manually, I’ve collected some little tips for the bash history:

    • Hide single commands from the bash history
      If your command line begins with a space character, it won’t be logged.

    • Log a command for later execution
      If you’ve just typed a long command line and realized that there’s other stuff to do before executing it, jump to its beginning (with Home) and type #. The command will then be treated as comment and won’t be executed. As soon as you’ve finished running all the other instructions use the history to get back to your comment. Remove the # and execute it.

    • disable .bash_history file
      one simple way to disable the .bash_history file is to remove the write permission to it:
      chmod -w ~/.bash_history
      

      If you first edit your .bash_history file manually you can turn it into a permanent history list with all your favourite commands.

    • use the reverse search
      press Ctrl+R and then enter your search string. To edit the command (and exit the search mode) use tab or one of the position keys.

      The reverse-i-search always brings you the first match before the current history position

    • full history processing
      The history command lists the whole saved bash command history.

      You could use it e.g. to show the last 10 commands:

      history|tail -n 10
      

      or to show all lines containing the word ssh

      history|grep ssh
      
    • execute the last matching command
      If you want to run a command several times without scrolling through the history all the time you can use the ! at the start of the line to execute the last line that starts with your search string, e.g.:

      !ssh
      

      will re-run the last invocation of ssh

    • clear local history
      To clear the session history (not the one in .bash_history) call

      history -c
      
    • read/write history
      If you have multiple sessions running and want to get the local history of one session to another one, you can use
      history -a
      

      to append the local history to .bash_history in the first terminal and

      history -r
      

      in the second terminal to read .bash_history

      Those parameters can also be combined (read man bash for detailed information)

  • WordPress auf bplaced.net

    Wer einen einfachen und günstigen (um genauer zu sein: kostenlosen und werbefreien) Weg sucht, um an Webspace mit Blogging-System zu kommen, dem kann ich bplaced.net empfehlen.

    Für die, die bplaced noch nicht kennen: Der Wiener Anbieter bietet wahlweise 1 oder 2 GB Webspace mit PHP, MySQL & PostgreSQL. Lediglich URL-Zugriffsfunktionen im PHP sind eingeschränkt, um Missbrauch vorzubeugen.

    Für WordPress oder andere Blogging Systeme, CMS, … sind also (nahezu) perfekte Voraussetzungen geschaffen.

    Und das Beste ist: Man kann den bplaced-Account auf beliebige Domains aufschalten. (in meinem Fall z.B. http://manuel.reithuber.net).

    Die Installation ist ziemlich einfach:

    • bplaced-Konto erstellen
    • im bplaced-Konto MySQL-DB erstellen z.b. username_blog;
    • WordPress downloaden
    • entpacken (z.B.: mit 7Zip)
    • per ftp-client (z.B.: FileZilla) den entpackten Ordner auf den Server ftp://username.bplaced.net hochladen, z.b. in den ordner /blog
    • Wenn erwünscht, den hochgeladenen Ordner mit einer Domain verknüpfen (und dann evtl. beim Domainanbieter einen CNAME-Eintrag auf username.bplaced.net erstellen).
    • die URL im Browser eingeben (evtl. muss man vllt. ½h warten, bis die Nameserver & bplaced die neue Konfiguration übernommen haben
    • WordPress-Installationsanleitung durchführen und die MySQL-Zugangsdaten eingeben.
    • fertig

    Plugin- und Theme-Installation muss man händisch machen (Zip-File lokal herunterladen, entpacken und per FTP in den ordner wp-content/plugins bzw. wp-content/themes hochladen).

  • PG/Q Tutorial

    This article is meant to be a short tutorial on how to setup PG/Q for your databases.

    PG/Q is a PostgreSQL module providing a queuing system. It’s developed by Skype and published under the terms of the BSD license.

    It’s part of the SkyTools package.

    Notes

    • You need root privileges on your database server
    • PG/Q uses a ticker process to distribute the events to the consumers. That’s why you have be able to run a daemon process on the database server.
    • The pgqadm python script is called pgqadm.py if you’re not installing the .deb from the Debian Sid repositories
    • If you find errors in this howto, please contact me

    SkyTools Installation

    There are package in debian sid that’ll do the trick (called skytools and skytools-modules-8.3) but however, if your debian doesn’t provice packages or you just want a more recent version, here’s how to build the debian packages yourself:

    Download SkyTools

    Go to the download page and download the most recent source package.

    Unzip it either graphically or with the following command:

    tar xfz skytools-2.1.9.tar.gz
    

    Read more