Boogie Board Sync: Einfaches Tablet mit viel Wow!

Bereits vor zwei Jahren wurde ich das erste Mal auf die Boogie Boards von Improv Electronics aufmerksam. Bei diesen Geräten handelt es sich im Grunde um ein kleines Tablet mit eInk-Display und Digitizer, auf dem man Notizen und Zeichnungen malen kann. Je nach Gerät werden die Notizen einfach nur angezeigt oder können sogar als Vektordatei gespeichert und exportiert werden.

Zu der damaligen Zeit war gerade das Boogie Board Rip das Maß aller Dinge - und zwar im negativen Sinne. Das Gerät speicherte mitunter die Dokumente nicht, es ließ die Dokumente nicht exportieren, die mitgelieferte Software funktionierte nicht, das Gespeicherte entsprach nicht dem, was gezeichnet wurde, etc. pp. Das Gerät war so schlecht, dass es heute nicht einmal mehr auf der Webseite des Unternehmens erwähnt wird. Damals ließ ich jedenfalls die Finger von dem Gerät.

Einige Zeit später fand ich auf Youtube ein Video, in dem ein Prototyp des Boogie Board Sync auf der CES 2013 vorgestellt wurde. Das Gerät sah sehr vielversprechend aus, also nahm ich mir vor, es mir anzusehen, wenn es auf dem Markt ist.

Am Samstag war es nun soweit. Ich ging meine ToDo-Liste durch und fand am unteren Ende die Aufgabe, dass ich mir das Boogie Board Sync ansehen wollte. Gesagt getan. Ich sah mir die Produktseite des Herstellers an, ich guckte mir Review-Videos auf Youtube an, ich las die Rezensionen auf Amazon.com und schließlich überwand ich mich und bestellte das Boogie Board Sync und zusätzlich die offizielle Hülle Boogie Board SyncFolio.

IMG_8404 Boogie Board Verpackungen

Boogie Board Verpackungen

Die Verpackung konnte mich jedenfalls schon mal nicht überzeugen. Sie besteht aus dünnem Plastik, das sich total leicht eindrücken lässt. Eine wertige Verpackung sieht anders aus. Diese hier erinnerte mich eher an Spielzeug. Viel enthalten ist ebenfalls nicht. Man findet das Boogie Board, ein einfaches Micro-USB-Ladekabel ohne Netzstecker und eine Kurzanleitung.

Das Tablet selbst ist erstaunlich leicht und dünn. Natürlich wollte ich erst einmal sehen, wie gut der Kontrast ist. In den Rezensionen auf Amazon.com hatte ich mehrfach gelesen, dass man je nach Lichtverhältnis und Blickwinkel gar nichts erkennen könnte. In meinen Tests konnte ich das nicht bestätigen. Egal aus welchem Winkel und mit wieviel Gegenlicht - es war alles gut zu erkenne.

Boogie Board Sync IMG_8412

Boogie Board Sync

Es gibt jedoch auch Dinge an dem Gerät, die mir nicht so gut gefallen:

  • Da wäre als erstes der Stifthalter. Im Grunde presst man den Stift in eine Halterung. Diese wird beim Reinpressen gedehnt, bis der Stift einrastet. Diese wiederkehrende Verformung des Gehäuses kann einfach nicht gesund für das Gerät sein.
  • Was mir auch nicht gefällt, ist, dass man auf dem Gerät zeichnen kann, obwohl es ausgeschaltet ist. So kann es passieren, dass selbst beim Transport die Ansicht auf dem Tablet verfälscht wird. Das kann selbst dann passieren, wenn man das Boogie Board in die Original-Tasche schiebt.
  • Damit einher geht das Problem, dass man auch mit anderen Gegenständen als dem Digitizer auf dem Tablet schreiben kann. Das mag im ersten Moment praktisch sein. Da jedoch nur Eingaben mit dem Digitizer aufgezeichnet und abgespeichert werden können, ist es sehr gefährlich, eine andere Eingabe zu ermöglichen.
  • Zeichnungen können entweder gelöscht oder gespeichert werden. Merkwürdigerweise werden selbst gelöschte Zeichnungen auf dem Gerät abgelegt - in einem Ordner für gelöschte Zeichnungen.
  • Es ist nicht möglich, vorherige Zeichnungen wieder auf dem Display anzuzeigen. Ist der Bildschirm gelöscht worden, kann man den vorherigen Inhalt nur über die Synchronisation wieder ansehen.
  • Man kann keine Aktionen rückgängig machen. Löscht man aus Versehen den Bildschirm, ohne fertig zu sein, muss man die Zeichnung komplett neu machen. Zeichnet man aus Versehen eine falsche Linie, kann man diese nicht rückgängig machen.
  • Das Löschen des Bildschirmes sieht merkwürdig kaputt aus. Dabei flackert der Bildschirm mehrfach auf. Ich denke nicht, dass das zur positiven User-Experience beiträgt.
  • Die Strichstärke lässt sich nicht über den Druck, den man auf das Display ausübt, beeinflussen. Es wird immer mit der gleichen Strichstärke gezeichnet.
  • Es gibt keine Anzeige, die den Batteriestatus oder den Speicherstatus des Boogie Boards anzeigt. Man weiß also weder, wie voll die Batterie ist, noch, wie voll der interne Dokumentenspeicher ist.
  • Achtung: Beim Arbeiten mit dem Gerät habe ich festgestellt, dass der Hardware-Button zum Speichern nicht geht, wenn das Boogie Board Sync zur selben Zeit mit der iOS-App verbunden ist. Das ist besonders ärgerlich, wenn man nicht im Live-Drawing-Modus ist, da dann alles Gezeichnete verloren geht, ohne, dass man davor gewarnt wird. Ob das auch bei allen anderen Apps (Windows, Mac OS X, etc.) der Fall ist, habe ich noch nicht überprüft - ich würde im ersten Schritt jedoch davon ausgehen.
IMG_8424 Live Drawing Modus

Live Drawing Modus

Doch es gibt auch jede Menge positive Dinge, die mir an dem Gerät aufgefallen sind:

  • Es macht einfach Spaß auf dem Gerät zu malen. Der Stift zeichnet fein genug, damit man problemlos schreiben kann, ohne, dass man sich dabei schwerfällig fühlt. Das Schriftbild ist sauber und klar und so, wie man es auch auf Papier erwarten würde.
  • Die erzeugten Vektor-Dateien sind unheimlich praktisch. Im PDF-Format kann man sie direkt drucken oder mit Tools zu einem Heft zusammenbinden.
  • Ich liebe den Live Drawing Modus. Dabei wird das, was man gerade auf dem Tablet zeichnet, direkt z.B. an die iPhone App übertragen und dort angezeigt. Via AirPlay Mirroring ist es dann wiederum möglich, den Inhalt auf einen Monitor oder Fernseher zu übertragen. So kann man in Konferenzen mit Hilfe des Tablets tolle Live-Visualisierungen machen. Ähnliche Systeme mit Digitizer und Speicherfunktion kosten mitunter mehrere tausend Euro und nutzen dann auch noch proprietäre Speicherformate.
  • Unterwegs und Zuhause digitale Notizen samt Grafiken zu machen, war noch nie so einfach. Bisher habe ich Zuhause zig verschiedene Blöcke, Notizbücher und lose Blätter, in/auf denen ich mir Dinge und Ideen notiere. Diese überführe ich dann - soweit möglich - in meine ToDo-Liste, in mein Jira oder in mein Etherpad, um daran weiterarbeiten zu können. Dabei geht jedoch immer die visuelle Komponente verloren. Die Skizzen, die viele Dinge so viel einfacher erklären können als lange Texte, kann ich nun endlich zusätzlich mit ablegen.
  • Der gesamte Zeichenbereich des Tablets kann genutzt werden. Bei anderen Geräten gibt es mitunter Probleme mit den Randbereichen, die z.B. weniger sensibel sind oder gar nicht auf Eingaben reagieren.
Zeichenbereich und Kommunikationsstrecke IMG_8428

Zeichenbereich und Kommunikationsstrecke

Ich werde in den nächsten Tagen noch ein wenig mit dem Gerät spielen, bin bisher jedoch ziemlich begeistert. Klar, es gibt negative Punkte, doch bei einem Gerät für 100€ kann man wohl auch keine perfekte Lösung erwarten. Solange sich jedoch keine funktionalen Probleme einstellen, bin ich mit meiner Investition jedenfalls sehr zufrieden. :)

Grafische Grüße, Kenny

PHP-FPM chroot + Zend OpCache = Problem

In letzter Zeit hatte ich wirklich merkwürdige Probleme. Ich habe testweise einmal den Zend OpCache ausprobiert, der seit PHP 5.5.0 direkt mit im Bundle enthalten ist und war eigentlich ziemlich zufrieden. Der Speicherverbrauch bei der Ausführung von WordPress war auf 1/5 geschrumpft.

Allerdings haben sich nun ein paar Probleme gezeigt, bei denen ich noch nicht genau weiß, wie ich sie beheben soll. Der Hintergrund ist, dass ich die Webseite von calc.pw nun auf Basis von WordPress neu aufgesetzt habe. Da nun sowohl WeizenSpr.eu als auch calc.pw auf WordPress basierten und die gleichen Pfade verwendeten, entstanden merkwürdige Seiteneffekte.

So kam es vor, dass ich im Adminbereich von calc.pw eine Einstellung tätigen wollte und plötzlich auf der Loginseite des WeizenSpr.eu Adminbereichs landete oder dass mir im Browserfenster von WeizenSpr.eu per Popup das Loginfenster angeboten wurde, weil angeblich meine Session abgelaufen war.

Anfangs ging ich davon aus, dass evtl. Safari Probleme mit der Verwaltung der Cookies haben könnte, deshalb verwendete ich anschließend verschiedene Browser für beide Seiten - einmal Safari und einmal Firefox. Doch auch dieses Vorgehen half nichts. Erschwerend kam hinzu, dass calc.pw sporadisch gar nicht laden wollte und stattdessen eine leere Seite anzeigte - ohne auffällige Einträge im Errorlog.

Erst langsam kam mir der Gedanke, dass es am Zend OpCache liegen könnte. Die grundlegenden Einstellungen von WordPress (z.B. Datenbank-Zugänge, Session-Cookie-Schlüssel, korrekte URL der Webseite, etc.) lagern in einer PHP-Konfigurationsdatei ("wp-config.php"). Offenbar verwendete der Zend OpCache mal die richtige Datei und mal die völlig falsche Datei, was die kaputten Sessions und auch die Redirects zur anderen Webseite erklären würde.

Allerdings war ich davon ausgegangen, dass der Cache so intelligent sein würde, die korrekte Datei anhand des vollen Pfades zu erkennen... wenn... ja wenn ich nicht die chroot-Funktion von PHP-FPM verwenden würde. Relativ vom chroot-Heimverzeichnis aus gesehen waren die WordPress-Pfade natürlich komplett identisch. Offenbar hat der Zend OpCache in dieser Konstellation Probleme damit, die Dateien zu unterscheiden - ein Fakt, der ihn für mich derzeit absolut unbrauchbar macht.

Nach dem Deaktivieren des Caches und dem Neustarten von PHP-FPM funktionierten beide Seiten problemlos - die Sessions gingen nicht kaputt, ich erhielt keine fehlerhaften Redirects mehr und auch die sporadischen Totalausfälle von calc.pw verschwanden.

Die Frage, die sich jetzt nur stellt, ist, wann wohl jemand von PHP dieses Problem beheben wird. Solange das Problem nicht gelöst ist, werde ich den Cache nicht weiter einsetzen können. :-(

Ungecachte Grüße, Kenny

Wikipad: Etherpad-Lite mit DokuWiki synchronisieren

Vor einiger Zeit habe ich mir ein Etherpad-Lite installiert, um verteilt und auch unterwegs Texte verfassen zu können, die ich anschließend veröffentliche oder anderweitig nutze. Das ist soweit toll, doch die Veröffentlichung war in meinen Augen unpraktischer, als sie sein müsste, da ich den Text kopieren, irgendwo anders einfügen und neu formatieren musste.

Meine Idee war es, die Veröffentlichung direkt aus dem Etherpad-Lite heraus erledigen zu können - zum Beispiel bei kleineren Texten, die ich anderen zur Verfügung stellen möchte. Die Frage war nur, über welche Plattform die Veröffentlichung stattfinden sollte.

Anfang dachte ich daran, eine eigene Oberfläche zu entwickeln, allerdings wäre die nicht sonderlich hübsch geworden. Vor kurzem bin ich nun auf DokuWiki gestoßen, das perfekt zu sein schien. Das besondere an DokuWiki ist, dass keine Datenbank verwendet wird, sondern alle Inhalte in einfachen *.txt-Dateien abgelegt werden. Ich könnte also einfach Pads exportieren, als Textdatei ablegen und wäre fertig: Die Idee zu Wikipad war geboren.

Formatierung in Etherpad-Lite

Formatierung in Etherpad-Lite

Implementiert habe ich die Synchronisation in PHP. Das Vorgehen ist relativ einfach. Es gibt einen Pad-Präfix und einen Wiki-Präfix. Alle Pads, die den Pad-Präfix ("<Pad-Präfix>!<Name>") beinhalten, werden in einen Namespace des Wikis überführt ("<Wiki-Präfix>:<Name>"). Man kann die Präfixe auch weglassen, dann werden diese ignoriert und ohne Präfixe gearbeitet. In meinem Fall verwende ich z.B. den Pad-Präfix "wiki!" und einen leeren Wiki-Präfix.

Als erstes lasse ich aus der Etherpad-Lite Datenbank auslesen, welche Pads es mit dem Pad-Präfix gibt. Anschließend wird geprüft, wieviele Revisionen es von diesem Pad gibt. Hat sich seit der letzten Synchronisation die Anzahl der Revisionen geändert, so wird das Pad exportiert und in den data-Ordner des DokuWikis geschrieben.

Formatierung in DokuWiki

Formatierung in DokuWiki

In meinem Fall befindet sich die Instanz des Etherpad-Lite unter pad.nix.li hinter einer Authentisierung. Die DokuWiki-Instanz hingegen befindet sich unter wiki.nix.li und ist ohne Authentisierung erreichbar.

Neben den Präfixen habe ich noch ein paar weitere Steuerungsmechanismen implementiert. So werden Pads nichts synchronisiert, wenn sie direkt nach dem Präfix einen Punkt im Namen haben (z.B. "wiki!.beispiel").

Zudem ist es möglich, inline (das heißt im Content des jeweiligen Pads) die Synchronisation eines Pads zu beeinflussen. Damit ein Pad aus dem Wiki gelöscht wird, muss der Padinhalt dazu mit dem Text [.remove] beginnen. Möchte man stattdessen ein Pad bearbeiten, ohne, dass die aktuell gültige Fassung im Wiki gleich mitbearbeitet wird, so muss der Padinhalt mit dem Text [.ignore] beginnen. In diesem Fall bleibt die aktuelle Seite im Wiki erhalten, wird jedoch nicht mit der neusten Revision des Pads überschrieben.

Den Quelltext von Wikipad findet ihr unter hg.nix.li/wikipad. Dabei handelt es sich um ein Mercurial-Repository. Ihr könnt es also einfach mit folgendem Befehl auf euren Computer kopieren, wenn ihr Mercurial installiert habt:

1
hg clone http://hg.nix.li/wikipad/

Ich hoffe, Wikipad kann euch von Nutzen sein. :)

Synchrone Grüße, Kenny

P.S.: Der umgekehrte Weg, Inhalte vom DokuWiki nach Etherpad-Lite zu synchronisieren, ist derzeit nicht implementiert.

Heartbleed – Problem oder Chance?

Der Heartbleed-Angriff, der letzte Woche veröffentlicht wurde, hat die Grundfeste der IT-Security erschüttert. Alle möglichen Technologiemedien haben sich auf das Thema gestürzt und auch in der Community ist neue Bewegung in das Thema Infrastrukturgrundlagen gekommen. Doch was ist überhaupt los?

Bei OpenSSL handelt es sich um eine OpenSource-Bibliothek, die grundlegende Funktionen für die verschlüsselte Kommunikation im Internet bereitstellt. Diese Bibliothek wird von vielen Anwendungen verwendet, die verschlüsselt über das Internet kommunizieren müssen. Genau in dieser Bibliothek wurde ein schwerwiegender Fehler gefunden.

Bei XKCD ist dazu ein einfach zu verstehender Comic erschienen. Im Grunde passiert folgendes: Damit ein normaler Nutzer herausfinden kann, ob die Verbindung zu einem Server noch besteht, kann man ihm einfach eine beliebige Nachricht schicken. Erhält man die gleiche Nachricht zurück, ist der Server offenbar noch erreichbar.

In der bisherigen Implementierung war jedoch eine riesige Lücke. In der Anfrage des Nutzers gibt der Nutzer selbst an, wie lang die Daten sind, die zurückgeschickt werden sollen. Der Server glaubte dieser Angabe und schickte genau so viele Daten aus seinem Speicher zurück - auch dann, wenn die Daten, die der Nutzer wirklich geschickt hat, viel kürzer waren. Das führte dazu, dass Daten an den Nutzer geschickt wurden, die ihn gar nicht betreffen, wie z.B. Zugangsdaten fremder Nutzer.

Seit dem Bekanntwerden haben alle möglichen Medien über das Thema berichtet - teils werden Horrorszenarien verbreitet. Doch auch in Kreisen, die sich mit der Materie auskennen, ist man beunruhigt. Wenn solch ein schlampiger Fehler in einer der wichtigsten Bibliotheken des WWW seit 2 Jahren unentdeckt vorhanden war, was mag dann noch alles im OpenSSL-Quelltext auf uns warten?

Inzwischen werden Rufe danach laut, dass man OpenSSL einmal vollständig auditieren sollte - sprich: dass jemand den gesamten Quelltext auf mögliche Fehler hin überprüfen sollte.

In meinen Augen ist das ein aussichtsloses Unterfangen. Wer sich schon einmal die Mühe gemacht hat, sich allein in die OpenSSL-API einzulesen, weiß, was ich meine. Die gesamte Bibliothek ist im Grunde ein riesiger, komplexer Bloat, mit zig internen Abhängigkeiten, später hinzugefügten Laschen und Ösen und ist nur schwer zu durchdringen.

Mitunter wird empfohlen, nicht direkt OpenSSL einzusetzen, sondern einen Wrapper zu nutzen, der die Komplexität verschleiert. In meinen Augen ist das ein Armutszeugnis. Es gibt Ecken, in denen das ganze besser funktioniert - zum Beispiel bei den Ciphersuits. Anstatt sich selbst zu überlegen, was funktionieren könnte und was wohl eine starke Kombination ist, kann man sich einfach eine sortierte Liste der möglichen Kombinationen ausgeben lassen und diese nutzen.

Meiner Meinung nach müsste OpenSSL generell diese Möglichkeit bieten. Es sollte einfach sein, mit wenig Aufwand einen sicheren Kanal zu erhalten. Man muss es hinkriegen, dass es schwieriger ist, es falsch zu machen, als es richtig zu machen. Das setzt jedoch voraus, dass man einige Teile grundlegend neu schreibt. Auch der Einsatz modernerer, sicherer Programmiersprachen wäre ein Schritt in die richtige Richtung.

Die Frage, wer nun Schuld an der Misere hat, stellt sich in meinen Augen hingegen nicht. Ja, der Entwickler, der den Code eingestellt hat, arbeitet inzwischen bei einer Telekom-Tochter. Ja, der Reviewer, der den Code akzeptiert hat, hätte den Fehler sehen müssen. Jedoch bleibt OpenSSL primär eines: eine frei verfügbare Implementierung, mit offen zugänglichem Quelltext, der jedem die Möglichkeit gibt, Fehler zu finden. Wir sollten zusehen, dass die Komponenten, die für unseren Alltag so wichtig sind, mehr engagierte Entwickler zur Verfügung haben.

Was nun zu tun bleibt:

  • Jeder, der eine verwundbare OpenSSL-Version einsetzt, muss diese patchen.
  • Jeder, der eine verwundbare OpenSSL-Version patchen musste, muss neue Schlüsselpaare erzeugen.
  • Jeder, der neue Schlüsselpaare erzeugen musste, muss sich für diese neue Zertifikate ausstellen lassen.
  • Jeder, der sich neue Zertifikate ausstellen lassen musste, muss seine alten Zertifikate revoken lassen.
  • Jeder, der seine alten Zertifikate revoken lassen musste, muss seine Nutzer informieren und zur Änderung ihrer Passwörter aufrufen.

Es bringt derzeit nichts, vorsorglich seine Passwörter zu ändern. Solange die Server noch verwundbar sind, können auch neu gesetzte Passwörter wieder gestohlen werden. Langfristig ist es zudem angebracht, für jeden Dienst ein eigenes Passwort zu verwenden. So sind Dienste, die nicht von der OpenSSL-Lücke betroffen sind, gar nicht erst in Gefahr. Helfen können dabei Lösungen wie z.B. calc.pw. ;)

Herzblutende Grüße, Kenny

P.S.: Für meine Server habe ich bereits alles erledigt. Gepatcht, Schlüssel erzeugt, neue Zertifikate erstellt, alte Zertifikate revoked und die Nutzer mit Logins informiert und zum Passwortwechsel aufgerufen.

The Micro: Kleiner 3D-Drucker mit großem Potential

Auf Kickstarter läuft derzeit eine Kampagne zum The Micro, einem kleinen 3D-Drucker der Firma M3D, der derzeit für Furore sorgt. Für derzeit $299 plus Versand soll man Ende des Jahres einen fertig zusammengebauten, stylischen, stromsparenden 3D-Drucker erhalten, der im Gegenzug kleiner ausfällt als seine 4 bis 5 Mal so teure Konkurrenz zum selber bauen.

meet the micro

meet the micro

Das ursprüngliche Finanzierungsziel von $50.000 war bereits nach sensationellen 11 Minuten erreicht, derzeit hat man eine Summe von über zwei Millionen Dollar eingenommen - das 40-fache des anvisierten Ziels. Grund für den Blitzstart war sicherlich auch, dass die Macher bereits vorher die Werbetrommel gerührt hatten. Bereits im Februar gab es die ersten Berichte und auch ich hatte mich vorzeitig zum Newsletter angemeldet, um zu erfahren, wann es genau losgehen würde. Leider hatte ich das Super Early Bird Special für $199 verpasst, da ich zum Startzeitpunkt auf Arbeit war. Zumindest habe ich mir einen Drucker für $299 ergattert können, der nun hoffentlich im November 2014 geliefert wird.

Häufig wird die Frage gestellt, was denn eine Privatperson mit einem 3D-Drucker anfangen soll, zumal die maximale Baugröße des The Micro durchaus eingeschränkt ist.

Tastenkopf

Tastenkopf

Ich jedenfalls habe bereits explizite Ideen. Für meine calc.pw Tastatur, an der ich derzeit arbeite, benötige ich Tastenköpfe für die Cherry-Tastaturschalter, die ich verbauen möchte. Derzeit behelfe ich mir mit den Tastaturköpfen von gekauften Tastaturen, zukünftig will ich sie hingegen selbst herstellen. Auch hoffe ich, mir damit Gehäuse für aktuelle und zukünftige Projekte basteln zu können.

Wer noch einen günstigen Einstieg in die Welt des 3D-Drucks sucht, sollte sich den Micro-Drucker einmal genau ansehen. Von den Geräten, die im Januar 2015 geliefert werden sollen, sind derzeit noch etwa 1300 Stück übrig. Die Kampagne bei Kickstarter läuft noch bis Anfang Mai.

Mit Zollproblemen wie bei der Pebble wird man hoffentlich nicht zu kämpfen haben. Die Macher des The Micro haben das Thema Versand bereits ausführlich in einem Update angesprochen. Man wird mit Importeuren zusammenarbeiten, die sich um Dinge wie Verzollung und Versteuerung kümmern sollen.

Auch die Themen Ersatzteile und Filament wurde bereits in einem Dokument angesprochen. Man plant, Ersatzteile zu akzeptablen Preisen anzubieten. Beim Filament hat man zwei Möglichkeiten: Entweder man verwendet Filament-Rollen in Standardgröße oder aber man bestellt direkt bei M3D kleinere Spulen, sich im Boden des Micro-Druckers verstauen lassen. Auch deren Preise liegen mit derzeit $12 je Rolle im normalen Bereich - zur Not lässt sich auf die kleineren Spulen einfach separat gekauftes Filament wieder neu aufrollen.

Ich jedenfalls freue mich bereits darauf, bald meinen The Micro 3D-Drucker mitsamt den von mir mitbestellten Filament-Spulen in Empfang nehmen zu können. :)

Dreidimensionale Grüße, Kenny

Seite 1 von 78123...Letzte »