Blackberry Playbook und Linux

Damit man auf die SMB Freigabe auf dem Playbook unter Linux zugreifen kann muss man ein bisschen was machen. Als erstes müssen wir auf dem Playbook die Datenfreigabe aktivieren:

Settings -> Storage & Sharing -> USB Connections -> Connect to Mac

Dann muss man noch “File Sharing” und “Password Protect” aktivieren und ein Passwort vergeben. Dann können wir auch schon das Playbook per USB verbinden. Mittels “ifconfig -a” sollten wir jetzt ein usb0 Gerät sehen:

usb0: flags=4098<BROADCAST,MULTICAST>  mtu 1500  metric 1
ether XX:XX:XX:XX:XX:XX  txqueuelen 1000  (Ethernet)
RX packets 0  bytes 0 (0.0 B)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 0  bytes 0 (0.0 B)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Ein Gerät ohne IP hilft uns nicht wirklich, also lassen wir dhcpd die Arbeit machen:

[root@host ~]# dhcpcd usb0
dhcpcd[9533]: version 5.2.12 starting
dhcpcd[9533]: usb0: rebinding lease of 169.254.91.114
dhcpcd[9533]: usb0: NAK: from 169.254.74.157
dhcpcd[9533]: usb0: broadcasting for a lease
dhcpcd[9533]: usb0: offered 169.254.74.158 from 169.254.74.157
dhcpcd[9533]: usb0: acknowledged 169.254.74.158 from 169.254.74.157
dhcpcd[9533]: usb0: checking for 169.254.74.158
dhcpcd[9533]: usb0: leased 169.254.74.158 for 43200 seconds
dhcpcd[9575]: usb0: usb0: MTU set to 1500
dhcpcd[9533]: forked to background, child pid 9590

usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
inet 169.254.74.158  netmask 255.255.255.252  broadcast 169.254.74.159
inet6 XXXX::XXXX:XXXX:XXXX:XXXX  prefixlen 64  scopeid 0x20<link>
ether XX:XX:XX:XX:XX:XX  txqueuelen 1000  (Ethernet)
RX packets 71  bytes 12014 (11.7 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 16  bytes 1880 (1.8 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Das “mini subnet” das wir bekommen ändert sich jedes mal. Das muss man beachten wenn man ein Script schreibt. Nachdem wir jetzt eine IP haben können wir die Freigabe mounten:

mount -t cifs -o username=playbook,password=XXX,rw //169.254.74.157/media /mnt/playbook

XXX spiegelt das Passwort wieder welches wir auf dem Playbook festgelegt haben. Und vola wir können Daten kopieren.

Ich habe mir ein kleines Script geschrieben das mir die Arbeit abnimmt. Download: playbook

Blackberry Playbook Review

Den Ausfall von RIMs Netzwerk im Oktober hat mit Sicherheit jeder mitbekommen und hatte was zu Lachen. Jedenfalls wenn er nicht einen Blackberry benutzt. Knapp vier Tage ging nichts auf dem Blackberry und ich habe so viel wie im ganzen Monat Telefoniert und SMS verschickt. Wäre das Netzwerk ein paar Tage vorher ausgefallen wäre ich Orientierungslos in den Wäldern von Schweden unterwegs und hätte ein ernsthaftes Problem. Ein tolles Beispiel wie abhängig wir doch von der Technik sind.

Zur gleichen Zeit gab es ein Angebot in UK von digigood um ein Playbook 16GB günstig zu erwerben. Da musste ich einfach zuschlagen. Hatte ja nichts anderes zu tun ;) Das Gerät war auch nach vier Tagen in meinen Händen und ich war überrascht wie schwer es ist. Man fühlt das man etwas hochwertiges in der Hand hat. Wohl eher in den Händen, denn lange kann ich es nicht in einer Hand halten. Das geht nur wenn ich es auf den Fingern liegen habe. Die größe macht es aber auch nicht zu einem Einhandgerät sondern kann super mit zwei Händen gehalten und bedient werden. Ich finde das 7″ eine super Größe für ein Tablet ist dass man gerne mit nimmt. Das iPad fühlt sich jetzt wie ein Schlachtschiff an und ist viel zu groß. Fürs Sofa reicht es aber immer noch.

Nach dem ersten Einschalten ging es direkt zur Einrichtung von dem W-Lan und anmelden mit der Blackberry ID. Danach gab es eine kleine Einführung in die Bedienung und die Installation der letzten Firmware. Alles in allem keine 15 Minuten. Gefolgt von der Kopplung mit meinem Bold war alles sehr schnell gemacht.

Ich bin immer noch in der Erkundungsphase aber wollte schon ein paar Eindrücke loswerden und versuche nicht zu voreingenommen zu sein. Gekauft habe ich es aus einer Laune heraus und wollte eigentlich warten bis es ein Gerät mit 3G gibt. Ich bereue es aber auf keinen Fall. Das Playbook fühlt sich sehr gut in der Hand an und die Größe ist Fantastisch für ein Tablet auf Reisen. Es könnte sogar mein Kindle 3G als Reisebegleiter ablösen, aber das wird sich noch zeigen. Das Betriebssystem QNX läuft ohne ruckler oder hacken. Ich musste noch nie neu starten und die Bedienung ist sehr Intuitive. Die GUI macht echt Spass und sieht gut aus.

Die Installierten Apps wie Facebook, Docs to Go, NFS, Wetter, Music, Video und so weiter machen wofür sie geschrieben wurden. Der Browser hat mich sehr überrascht. Ich bin den RIM OS7 Browser gewöhnt und der ist nicht wirklich der beste. Die Seiten werden schnell aufgebaut, gutes scrollen und Flash funktioniert gut. Der sollte so schnell wie möglich auf meinen Bold… Der andere teil der Welt der Applikationen auf dem Playbook sieht eher nichtig aus. Es gibt nicht wirklich viele Apps und von einer guten Twitter App ist keine in Sicht. Die einzige einigermaßen gute und funktionierende ist TweetBook und kostet ein halbes Vermögen. Dafür gibt es aber auch Apps wie einen rss reader “glimps” den ich fantastisch finde oder auch InstaPhoto. Es besteht Nachholbedarf und ich denke RIM weiss das.

Wie ich schon schrieb ist die Hardware sehr gut verarbeitet und fühlt sich nach etwas an. Das Display ist sehr Hell und die Farben sehen ordentlich aus. Die Batterie hingegen hat mich bis jetzt noch nicht überzeugt. Ich schätze das es maximal 5 Stunden mit W-Lan und Bridge überlebt. Das Laden der Batterie über USB am Computer ist so langsam da kann man die Prozente mitlesen und mit frischen Strom aus der Steckdose dauert es auch ein bisschen. Das ist eigentlich ein “Killerargument” und RIM muss da unbedingt was ändern. Hoffentlich wird das noch besser. Ich werde es weiter beobachten. Die Kamera habe ich noch nicht wirklich getestet und den Video Chat auch noch nicht.

Die Blackberry Bridge bringt Email, BBM und PIM auf das Playbook. Das funktioniert und wenn man das Playbook hochkant hält kann man mit der Daumentechnik sogar recht fix tippen. Als Blackberry Besitzer finde ich die Lösung nicht schlecht, aber für alle ohne Blackberry sollten warten bis RIM eine Firmware veröffentlicht das auch native Email und PIM beinhaltet. Ich Spiele jetzt weiter Samurai 2 und mal schauen wie sich das Playbook im Alltag schlägt…

UPDATE:

Das Playbook besitze ich nun ein paar Tage und es war schon mit mir unterwegs. Ich bin absolut begeistert von der Größe des Gerätes. Genau wie das Kindle kann man das Playbook überall mit hinnehmen und es ist nicht schwer. Das iPad war nur ein Sofa-Gerät und es verlässt mich in ein paar Stunden. Die Bedienung ist genial, Apps gibt es auch genug, Flash funktioniert und das Display ist super. In einer Hand kann man es auch halten und zum Spielen ist es gut mit zwei Händen zu bedienen. Ich kann das Gerät einfach nur empfehlen. Top!

WebWorks XML Parser

XML Parser in Javascript sind schnell geschrieben. Gehen wir von folgender Struktur aus:

<xml>
<name>Nadine</name>
<id>15</id>
</xml>

Je nachdem wie man die Datei einließt muss man das vor dem Parsen machen. Im Beispiel ist das “data”:

var parser = new DOMParser();
var doc = parser.parseFromString(blackberry.utils.blobToString(data, ‘UTF-8’), ‘text/xml’);

var name = doc.getElementsByTagName(“name”)[0].childNodes[0].nodeValue;
var id = doc.getElementsByTagName(“id”)[0].childNodes[0].nodeValue;

Das war es. Pures Javascript.

Mein Blackberry 9900 Review

Nach einer gefühlten Ewigkeit kann ich endlich sagen das es ein Blackberry Bold 9900 zu mir geschafft hat. Es hat sich aber dennoch gelohnt zu warten. Das Gerät ist der Wahnsinn. Es hat wieder fast die Größe des ursprünglichen Bolds 9000er und somit eine größere Tastatur als der 9700er. Der Bold ist glaube ich knapp einen halben Zentimeter dünner und somit der dünnste Blackberry den es bis jetzt gibt. Das Display ist auch gewachsen und kann mit einer super Grafik glänzen. Auch wenn wieder alles größer geworden ist so liegt das Gerät gut in der Hand. Um aber auf dem Touchpad ordentlich was zu treffen sollte man das Gerät schon in beide Hände nehmen, weil man sonst einen Fingerspagat machen muss. Das “neue” Blackberry OS7 ist nur ein kleines Update von dem OS6 und wie ich finde hat es keine eigene Versionsnummer verdient.

Wenn man das Gerät aber erst etwas später bekommt, kann man sicher sein das es schon ein, zwei neue Firmwares gibt. Der Upgrade Prozess war diesmal aber ungemein schwieriger bzw. nervtötender weil es irgendwelche Treiber Probleme mit Windows 7 gibt. Um das zu Beheben habe ich den Desktop Manager installiert und danach konnte ich die Firmware upgraden wie gewohnt. Ein andere Tipp (Danke @DerBastiS4) ist das Blackberry anzuschließen, Treiber im Device Manager zu entfernen und dann mittels dem Windowsupdate nachinstallieren.

Es gibt auch schon eine Firmware mit Unterstützung zur Japanischen Eingabe. Das IME hat sich ein bisschen geändert und ähnelt jetzt ein bisschen mehr dem von einem Computer. Die Felder sind auch größer zum auswählen. Ich bin mir noch nicht sicher ob man das wirklich nötig war.

Das Gerät habe ich erst seit Freitag und somit kann ich nicht wirklich sagen wie schlecht der Akku ist. Ich werde in den nächsten Tagen mehr dazu sagen können.

UPDATE:

Nach einer Woche mit dem neuen Blackberry kann ich sagen, dass es der beste Blackberry ist den ich je in der Hand hatte. Es ist eine super Weiterentwicklung vom ursprünglichen Bold. Erstmals kann ich sagen dass der 9900er richtig schnell ist. Der Browser und Apps sind normal zu benutzen und machen Spaß. Die Interaktion mit Touchscreen und Tastatur ist perfekt. Man navigiert mit Touch und kann wie gewohnt über die Tastatur schnell Tippen. Ich will es nicht mehr missen. Der Akku ist mit der .353 Firmware absolut in Ordnung. Einen Tag hält er bei regelmäßiger Benutzung aus und Abends sind noch zwischen 50 und 35 Prozent verfügbar. Mit jeder Firmware wird das sicherlich noch besser. RIM OS7 ist jetzt nicht wirklich viel anders als OS6, aber viele kleine nervende Sachen kann man selber einstellen.

Wer auf der Suche nach einem ultimativen Kommunikationsgerät ist, dann ist der Bold 9900 genau richtig. Dank Push Technologie sind Email,Twitter,Facebook,BBM und was es nicht noch alles gibt super schnell auf dem Blackberry.

WordPress und mod_status

Wenn man WordPress mit einer schönen .htaccess benutzt, dann hat man vermutlich so etwas:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Dabei wird dank der RewriteBase alles umgeschrieben (was man in dem Fall will) und es gibt keine Möglichkeit auf /server-status zuzugreifen. Damit dies möglich ist muss man eine weitere Bedingung einbauen:

RewriteCond %{REQUEST_URI} !=/server-status

Sobald dies eingetragen ist, kann man auf /server-status zugreifen. Auf das Problem kommt man wenn man ein 404 bekommt, wenn man auf den Status zugreifen will (obwohl Modul und Zugriffsrechte gegeben sind).

Amazon KDP Reporting Script

Das Amazon KDP Portal bietet leider keine Möglichkeit Reports per Email zu bekommen. Das ist ein bisschen Umständlich und manchmal will man die Umsätze per Email bekommen. Amazon berechnet die “Royalities” immer erst am Sonntag und so braucht man sich unter der Woche keine Sorgen zu machen. Ich habe mir ein kleines Perl script geschrieben das mir jeden Sonntag eine Email schickt mit meinen neu errechneten Umsätzen aus dem US Geschäft. Leider habe ich noch keinen Weg gefunden um auf die Umsätze für den Britischen und Deutschen Shop zuzugreifen, aber vielleicht findet jemand anderes einen Weg.

#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;
use HTML::TokeParser;
use HTTP::Cookies;

# KDP credentials
my $email = “myemail\@example.org”;
my $password = “awesomepassword”;

# Mail Settings
my $from = “\”KDP Report\” <kdp\@example.org>”;
my $to = “$email”;
my $subject = “KDP Royalities Report (US)”;

my $agent = WWW::Mechanize->new();
$agent->agent_alias( ‘Linux Mozilla’ );
$agent->get(“https://kdp.amazon.com/self-publishing/signin/ap”);
$agent->field(“email”, $email);
$agent->field(“password”, $password);
$agent->click();
$agent->follow_link( text => ‘Reports’ );

$agent->get(‘https://kdp.amazon.com/self-publishing/reports/transactionSummary’);
my $response =  $agent->{content};

if ($response =~ m{.*Total: (.*)<\\\/div>.*}g) {

my $grandtotal = “$1”;
my $message = “Your revenue for the past six weeks of the Amazon KDP US store is $grandtotal.\n”;

# sending email
my $sendmail = ‘/usr/lib/sendmail’;
open(MAIL, “|$sendmail -oi -t”);
print MAIL “From: $from\n”;
print MAIL “To: $to\n”;
print MAIL “Subject: $subject\n\n”;
print MAIL “$message\n”;
close(MAIL);

}

Es ist gleichermaßen ein kleines Beispiel wie man WWW::Mechanize benutzen kann. Das Script kann man sich nun auf einen sicheren Server packen und mittels Cron am Sonntag früh ausführen lassen. Ich hoffe natürlich das Amazon sein Reporting demnächst ausbaut, damit man nicht so eklige Scripte braucht.

Blackberry WebWorks Umgebung

So langsam läuft der Support für das Eclipse Plugin bei RIM aus und ich sollte auf WebWorks umsteigen. Leider geht das nicht einfach so, weil RIM momentan in ihrer “transition” ist. Das heist es gibt kein wirkliches IDE. Die Entwicklerumgebung baut sich aus WebWorks SDK, Blackberry Simulator (oder Ripple) und einem Editor zusammen. Nachdem wir nun wissen was wir brauchen fangen wir erst einmal mit dem herunterladen aller benötigten Dateien:

  1. Java JDK
  2. WebWorks SDK
  3. Blackberry Emulator
  4. Editor

Das Java SDK und WebWorks SDK gibt es auf der Widget Seite und auf einer anderen den  Emulator. Alles heruntergeladen und Installiert kann es schon losgehen. Als Editor probiere ich Notepad++ aus.

Um erst einmal mit den neuen Tools ein bisschen zu Spielen will ich eine vorhandene App neu verpacken. Nach gefühlten 13 Stunden habe ich dann eine Anleitung im Forum gefunden. Zunächst wollte ich aber erst noch meine Keys auf dem neuen Computer aktivieren. Sollte eigentlich recht einfach sein wie man es hier nachlesen kann, aber leider bekomme ich einen Fehler das ich keine weiteren Benutzer mehr einrichten kann.

Unable to register client ‘BLA’ because  there are no more registration attempts.

Darum werde ich mich später kümmern, aber wenn das heißen sollte das ich für einen neuen Computer neue Keys brauche dann finde ich das schon Fies. Die Keys gibt es jetzt kostenlos. Wohoo!

Versuchen wir also eine Widget App die ich in Eclipse (+ Plugin) erstellt habe unter WebWorks zu erstellen ohne eine kleinste Änderung vorgenommen zu haben. Der Prozess hat sich auf die CMD verlagert.

  1. Zip datei mit dem Code erstellen (Dateien müssen in Root sein).
  2. App erstellen (Beispiel stammt aus der Anleitung weiter oben)
cd "C:\Program Files\Research In Motion\BlackBerry WebWorks Packager"
bbwp "c:\WebWorks\AppFolder\MeineZipDatei.zip"

Und es hat ohne Probleme funktioniert meinen alten code mit WebWorks neu zu Compilieren. Danach konnte ich das Programm in dem Emulator starten und funktionierte wie es geschrieben war :) Leider nach wie vor nur unter Windows. Mehr später…

 

JLPT Kanji Reference Buch (Kindle)

Am morgigen Sonntag werden zum ersten mal auch in Deutschland im Sommer die Möglichkeit gegeben eine JLPT (Japanese-Language Proficiency Test) Prüfung abzulegen. Leider habe ich die Anmeldefrist verpasst und werde so meine zweite Prüfung erst im Winter ablegen können. Ich war aber nicht untätig und habe vier Bücher geschrieben um die Bedeutung der abzufragenden Kanji zu wiederholen bzw. zu vertiefen. Die Bücher gibt es als Ebook für den Kindle und die Kindle Apps. Die Bücher gibt es jeweils für die Level N5, N4, N3 und N2.

Wie auf dem Bild zu sehen ist erscheint zu jedem Kanji (hier N5) die Kun-. On-yomi, die Bedeutung und mit wie viel Strichen das Kanji geschrieben wird. Dazu gibt es Beispiele von Wörtern die mit dem Kanji gebildet werden. So lässt sich ein Kanji sehr schnell erlernen und erinnern.

Als kleine Besonderheit gibt es ein kleines “Jump Index” auf dem alle Kanji abgebildet sind, die in der Stufe behandelt werden. Wenn ein bestimmtes Kanji gesucht wird, kann man bequem auf dieser Seite das Kanji anklicken und wird direkt zur passenden Referenz geleitet. So muss keiner mühselig durch das Buch klicken um ein bestimmtes Kanji zu suchen. Das hilft vor allem bei späteren Levels!

 

Ich hoffe es macht euch genau so viel Spaß mit den Büchern die Kanjis zu büffeln als mir. Wer Anregungen hat kann sich gerne bei mir melden. Freue mich auf Feedback. Die Ebooks gibt es auf amazon.de, amazon.com und amazon.co.uk.

 

Versteck mich – Eine VM im RAM

Ich möchte für meinen Mitbewohner ein Geburtstagsgeschenk kaufen, aber leider hackt er immer meinen Computer und würde so erfahren was er bekommt. Wie gehen wir also sicher das er nichts erfährt? Wir kaufen das Geschenk in einem Laden oder wir starten eine VMWare in unserem Arbeitsspeicher. Dafür brauchen wir nur /dev/shm/ und eine unschuldige virtuelle Maschine. Diese kopieren wir nach /dev/shm/ , starten sie, bestellen das Geschenk und danach überschreiben wir wieder die benutzte VM mit der unschuldigen VMware in /dev/shm/. Jetzt sollte es außerordentlich schwer sein an die Daten zu gelangen und falls ein Teil der VMWare auf die SWAP geschrieben wurde  – wird es nicht leichter.

vimeo integration in wordpress

Ich musste eben in einem Blog ein vimeo Video einbinden und wusste nicht wie das funktioniert und ob ich ein plugin dafür brauche oder nicht. Man braucht kein plugin. Das Theme muss es nur unterstützen. Wenn das Theme diese Funktion nicht standardmäßig konfiguriert hat kann man das leicht nachholen. Dabei muss man nur die functions.php im Theme Ordner bearbeiten und  folgenden Code hinzufügen:

function vimeo($atts, $content) {
return ‘<iframe src=”http://player.vimeo.com/video/’.$content.'” width=”612″ height=”344″ frameborder=”0″>
<a href=”http://vimeo.com/’.$content.'” target=”_blank” title=”Video bei Vimeo ansehen”><img src=”[ABSOLUTE_URL]/vimeo.png” border=”0″ alt=”Video bei Vimeo ansehen” /></a>
</iframe><br />
<small><a href=”http://www.vimeo.com/’.$content.'” target=”_blank” title=”Video bei Vimeo ansehen”>Video bei Vimeo ansehen</a></small><br />’;
}

add_shortcode(“vimeo”, “vimeo”);
add_filter(‘the_excerpt’, ‘do_shortcode’);

Wenn man nun ein Vimeo Video einbauen möchte, dann muss man nur noch folgenden Code benutzen:

[vimeo]23410166[vimeo]

Die Nummer zwischen den beiden Tags ist die des Videos.