Wenn DHL das macht, sieht es so aus: webm Video
Say hola to the future - der Slogan von Geeksphone.
Seit rund 2 Wochen bin ich besitzer eines Geeksphone Keon. Die erste Woche hab ich es ausschließlich benutzt,
danach hab ich jedoch wieder zum Android Handy gegriffen.
Das Keon wird von Geeksphone mit der aktuellen stable Version 1.0.1.0-prerelease ausgeliefert.
Die Version kann ausschließlich Kontakte von Facebook und von der SIM Card importieren. Erst die in der Entwicklung befindlichen
1.1.0.0 Version unterstützt Google Contacts und anderes was mich nicht interessiert.
Die 1.0.1.0 Version fühlt sich auch noch sehr hakelig an und ist noch mit bugs durchsiebt - so fühlt sich nun mal ein System an, was
sich noch in der Entwicklung befindet.
Die 1.1.0.0 Version fühlt sich hingegen wesentlich flüssiger und vollständiger an - aber noch lange nicht fertig.
Apps gibt es noch nicht so viele, um nicht zu sagen - gar nicht. War damals zu Androids Anfangszeiten auch nicht anders.
Was gut funktioniert ist Twitter und Facebook - was aber weniger die Leistungs von Mozilla/Firefox OS ist, sondern von den Entwicklern
von Facebook und Twitter. Das ist einfach vorzeige-HTML5-Technologie mit angepasstem Mobile-Template.
Mit loqui gibt es bereits einen sehr guten XMPP Client inkl notification. Beeindruckend was sich mittels HTML5, JS und CSS alles machen lässt.
Und, ist es die Zukunft? - Ja und nein.
Bei uns, in der “westlichen Welt”, wird es ohne Whatsapp keinen Fuß fassen. Ist einfach so. Jeder der anderes denkt ist dumm. Whatsapp ist
in der jungen Generation dermaßen weit verbreitet, dass man es sich nicht mehr wegdenken kann. Neulich im Zug hörte ich ein Telefonat:
“Mein Handy ist kaputt, jetzt hab ich ein Samsung Wave von einem Kollegen, da ist Bada drauf. Und da gibt es kein Whatsapp. Das find ich schon
scheiße”. Oder die Reaktion meiner Verwandtschaft: “Und da gibt es kein Whatsapp für? Das ist dann doch scheiße”.
Das ist fakt, in Europa brauch sich kein System mehr ohne Whatsapp auf dem Markt blicken lassen.
In anderen ländern, wo man enormes Wachstum vermutet (Brasilien, Afrika…), ist das Whatsapp irrelevant.
Und Mozillas Alleinstellungsmerkmal, dass es auf günstiger, schwächerer Hardware läuft zieht auch nicht so richtig, da man schon Android
Geräte für unter 100 Euro bekommt - welche aber vermutlich nur eine veraltete Android Version besitzen, keine Updates bekommen,
und nicht so performant laufen wie Firefox OS (Vorausgesetzt, die Performance steigert sich weiterhin mit jedem Nightly build).
Ausserdem besteht die Gefahr, das die ganzen Provider es verbocken, die alle so geil auf Firefox OS sind (war früher ja schon eine Katastrophe mit
der Branding-Gülle).
Schlecht ist es nicht, spaß macht es auch. Ob es Fuß fassen wird, hängt von vielen Faktoren ab!
Meine Nightly Images für das Keon bekommt ihr unter http://b2g.osuv.de
Es gibt kein Package, um direkt in Octave mit redis zu kommunizieren. Für Matlab gibt es offiziell auch nichts, nur von einem User etwas zusammengehacktes. - github.com/dantswain/redis-matlab
Also, DIY or die! github.com/markuman/redis-octave
Ich hab es versucht weitesgehens Syntaxkompatibel zur dem Matlabkram zu halten, aber prinzipiell ist mein redisSet funktionieller. Es kann nämlich nicht nur Strings speichern, sondern auch numerische Werte und ganze Matrizen! Allerdings performt es bei großen Matrizen äusserst schlecht! Das liegt ausschließlich an der for Schleife mit der die Werte zu redis gedrückt werden. Ich hab es zwar auch vesucht zu vektorisieren, aber das schlug fehl. Nunja, es funktioniert ja ;)
Cheers!
Markku
Seit fast 48h benutze ich das Keon von Geeksphone, ein Firefox OS Developers Preview Smartphone.
Gleich nach dem einschalten kam ein Systemupdate over the air - 1.0.1.0-prerelease.
Ein ausführlicher Review-Bericht wird die Tage folgen, nach nichtmals 48h wäre das 100% Sinnfrei. Ich will hier nur einmal festhalten, wie man
das Keon selber mit Nightly-Builds flashen kann, wenn man nicht auf die OTA Updates von Geeksphone warten möchte (die sind nach wie
vor aufgrund der Bestellungen noch Überlastet).
Firefox OS nutzt die Infrastrukur von Android, was bedeutet, dass ihr für diesen Spaß die Android-SDK benötigt, mit einem funktionierenden
adb, welches eure Keon Smartphone nach einem $ adb devices als full_keon listet.
# adb devices List of devices attached full_keon device
Dafür benutze ich unter Arch Linux folgende /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"
SUBSYSTEM=="usb",ATTR{idVendor}=="05c6",ATTR{idProduct}=="8012",SYMLINK+="android_adb"
SUBSYSTEM=="usb",ATTR{idVendor}=="05c6",ATTR{idProduct}=="8012",SYMLINK+="android_fastboot"
Die Information über die idVendor und die idProduct sollte jeder seinem lsusb output entnehmen und kontrollieren!
Nach anlegen der Regel und dem einstecken des Keons (Unter Settings → More Information → Developer Settings → Deveolper - auf Remote Debugging
stellen) habe ich ein udevadm trigger ausgeführt, damit die Regeln nach dem aktuellen Kerneloutput ausgeführt werden. Dann sollte das Keon auch
korrekt im adb auftauchen.
Wenn dem so ist, gehts los:
adb reboot bootloader - Jetzt wir das Keon neugestartet, bleibt aber mit Geeksphone Bootscreen stehen. Welcome to your bootloader!fastboot erase userdata - Es werden alle User Daten gelöscht!fastboot flash userdata userdata.img - Hier sind die Apps drinfastboot flash system system.img - Das System wird geflashed (Gaia & Gecko)fastboot flash boot boot.img - Das ist der Kernel+ramdiskfastboot reboot - Wir sind fertigDa kostenlose DynDNS Services definitiv Mangelware sind, bleibt nur der geliebte DIY weg. Und das geht auch ohne Bind/NSD/Namerserver, in dem man von lighttpd mod_proxy dafür missbraucht…allerdings ist es quick & dirty!
Ich verwende hierfür lighttpd mit mod_proxy und eine Config, z.b. dyndns.conf, die ich einfach in die lighttpd.conf inkludiere.
$HTTP["host"] == "subomain.domain.tld" {
proxy.server = (
"" => ( (
"host" => "1.2.3.4",
"port" => 80
) )
)
}
Diese config lässt man vom Client schreiben, und nur bei sich ändernder IP Adresse, auf den Server übertragen. Zusätzlich übertrage ich noch der einfachheithalber die neue IP separat in einer Datei (Diese dubliziere ich dann auch noch einmalig in die Datei oldip).
Auf dem Server braucht es dann einen Cronjob, der regelmäßig überprüft, ob sich die IP in der Konfigdatei geändert hat, und ggf. lighttpd reloaded. Das ist etwas tricky, da man in jedem Fall die Syntax vor dem Reload überprüfen muss, weil man sonst Gefahr läuft, lighttpd abzuschießen.
#!/bin/bash
oldip=$(cat oldip)
ip=$(cat ip)
if [[ "$oldip" != "$ip" ]]; then
$(echo $ip > oldip)
fine=$(lighttpd -t -f /etc/lighttpd/lighttpd.conf)
if [[ "$fine" = "Syntax OK" ]]; then
$(systemctl reload lighttpd)
fi
fi
Mein Client hat an seinem eth0 device direkt die Internet IP Adresse. Diese hole ich mir wie folgt
ip a show dev eth0|awk 'BEGIN { FS="[ /]+" } /inet/ {print $3}
Jetzt muss man lediglich ein kleines Bash Script zaubern, welches die aktuell verwendete IP Adresse von lighttpd zwischenspeichert und in einem 10 Minuten-Intervall diese mit der aktuell verwendeten IP Adresse von eth0 abgleicht. Wenn diese unterschiedlich sind, schreibt man sich einfach eine neue dyndns.conf in der man die aktuelle IP von eth0 rein parst und läd diese zu seinem Server hoch.
#!/bin/bash
oldip=$(cat oldip)
newip=$(/usr/sbin/ip a show dev eth0|awk 'BEGIN { FS="[ /]+" } /inet/ {print $3}')
if [[ "$oldip" != "$newip" ]]; then
$(sed -i -e s/"$oldip"/"$newip"/g dyndns.conf)
$(echo $newip > oldip)
$(scp {dyndns.conf,ip} user@domain.tld:~/)
fi
Ja, es ist quick & dirty - funktioniert aber. Je nach Cronjobintervall hat man ein entsprechendes delay was die Erreichbarkeit bei einem IP Wechsel anbelangt. Ausserdem ist das ganze Bash-gescripte durchaus noch verbesserungsfähig.
so long
Markku