Sonntag, 6. März 2016

Flinkster: erste Erfahrungen

Motivation

Bisher hatte ich keinen Grund gesehen, mich bei Flinkster, dem Carsharing der Deutschen Bahn, anzumelden. Ein Carsharing, bei dem man Autos nur an vorgegebenen Stationen ausleihen und abgeben kann, hat nur sehr begrenzte Anwendungsfälle.
Nun hatte ich jedoch einen: Ich habe einen kurzen Wochenendtrip gemacht, bei dem ich zwar zur nächsten Großstadt mit der Deutschen Bahn fahren konnte. Aber in dieses - seien wir offen - Kaff wäre ich mit nur sehr umständlich mit dem ÖPNV gelangt. Insbesondere wäre ich am Ende einer Party in der Nacht nicht von dort weggekommen.

Erste Nutzung

Die Reservierung des Autos hat nur über die Webseite richtig funktioniert. Die App ließ die Eingabe des gewünschten Zeitraumes nicht zu und sprang immer wieder auf eine Ausleihdauer von einer Stunde.
Verbesserungsvorschlag: In der App sollte dieser Fehler zur Einstellung des Buchungszeitraums korrigiert werden.

Gefunden habe ich die Autos über die Zusatzbeschreibung in der App dann recht schnell.
Dass Tanken bei einem Tankstand kleiner 25% Pflicht ist, hatte ich bei der Anmeldung wohl überlesen. Da ich den Wagen bereits mit einem zu niedrigen Tankstand übernommen hatte, war dann Tanken nach 40km Fahrt Pflicht. DIe Tankkarte im Handschuhfach ist leider nicht explizit als solche markiert. Den "DKV"-Tankstellenverbund und dessen Tankkarte habe ich auch erst an diesem Abend kennengelernt.
Verbesserungsvorschlag: Beschriftung des Kartenhalters im Handschuhfach sowie die Karte selbst mit "Tankkarte".

Bei der Abmeldung konnte ich das Fahrzeug über die Karte oder die App mit dem Button "Öffnen/Schließen". Wer jetzt glaubt, die Buchung sei beendet, irrt. Dies ist mir dann leider erst ca. eine halbe Stunde später aufgefallen. In der App lässt die Buchung dann über "Info/bearbeiten" und dann "Stornieren" wirklich beendet. Nicht sehr intuitiv, wie ich finde.
Schließlich weiss das Auto, dass ich den Schlüssel in die Halterung im Auto gelassen habe und somit eigentlich nicht nur "parken" will.
Verbesserungsvorschlag: Car2Go als Vorbild nehmen! Dort wird die Buchung sogar automatisch nach 15 Sekunden beendet, wenn man das Fahrzeug ohne Schlüssel verlässt.

Montag, 22. Februar 2016

Idee: dynamische Bootreihenfolge in grub2 für Dual Boot mit Windows Hibernation

Ein Dual-Boot-System mit Windows und Linux parallel ist wünschenswert. Mit Linux kann man den Alltag ganz gut meistern. Aber hin und wieder kommt man um proprietäre Lösungen halt nicht herum.
Blöde ist, dass Windows in den Versionen ab Windows 8 selbst beim Herunterfahren die Festplatten nicht mehr richtig abmeldet (Unmountet).
Damit lassen diese sich unter Linux nicht mehr mounten.

Aber auch mit abgeschaltetem "Hibernation on Shutdown" muss man bei Windowsnutzung immer daran denken, nicht einfach den Deckel zuzuklappen. Unter Linux passiert das Gleiche, falls man eine ebenfalls unter Windows genutzte (NTFS-)Partition gemountet hatte.

Lösung:

Wenn beim Booten von Linux die Bootreihenfolge auf "Linux als default" gesetzt würde und beim sauberen Herunterfahren auf "Windows als default", würde immer das System gebootet werden, das zuletzt im Hibernation Mode war.
Einziger Nachteil: Wenn man das Gerät aus dem Heruntergefahren-Zustand holt und Linux nutzen möchte, muss darf man die Anwahl im Boot-Menu nicht verpassen.

Umsetzung:

grub2 setzt die Bootreihenfolge über Script-Namen - analog zum Init-Bootsystem. Nun muss man nur ins Bootsystem eine Aufgabe hängen, die die oben genannten Aufgaben jeweils beim Booten und Herunterfahren durch Umbenennen der grub2-Dateien erledigt.

Kurzes Googlen hat zu keinem Ergebnis geführt.
Test steht noch aus....
Kommentare im Blog sind willkommen.

Sonntag, 14. Februar 2016

Baikal Server auf QNAP zur Synchronisation von Adressen/Kalender

  • Herunterladen von http://www.positiv-it.fr/QNAP/APP/QBaikal_0.2.7.0.3.qpkg.zip
  • Installation über WebGUI -> App Center -> manuell installieren
  • Starten über App Center -> Baikal öffnen
    => Fehlermeldung
  • SSH auf QNAP

    # /etc/init.d/QBaikal.sh stop
    # /etc/init.d/QBaikal.sh start
  • Baikal erneut aufrufen über https://qnapserver:31443/admin/
  • Admin-Password ausdenken und merken!
  • Bei Datenbank: MySQL statt SQLite ankreuzen
  • Datenbank anlegen:
    https://qnapserver:8081/phpMyAdmin
  • Unter "Benutzer": Neuen Benutzer "baikal" anlegen, neue Datenbank mit demselben Namen automatisch mit allen Rechten dazu anlegen
  • Password ausdenken und merken!
  • In Baikal-Adminoberfläche eintragen:
    • MySQL host "localhost",
    • MySQL database name: "baikal",
    • MySQL username "baikal"
  • Als Web Admin einloggen unter https://qnapserver:31443/admin.
  • Nutzer anlegen unter "user and resources", je ein Kalender und Adressbuch ist bereits als "default" vorhanden

Android CALdav und CARDdav

  • OpenTasks von Marten Gajda installieren, damit auch Tasks via DAVDroid synchroniert werden können. Muss VOR DAVdroid installieren werden
  • DAVdroid von bitfire installieren (gibt es auch auf f-droid.org)
  • LAN Zugriff für DAVDroid in AFWall+ freischalten
  • DAVdroid Konfiguration:
    • Schlüssel mit + klicken
    • "Mit URL und Benutzername"
    • https://qnapserver:31443/cal.php/calendars/Nutzername/ (Kalendernamen weglassen, wird hinterher abgefragt. Für jeden Kalendernamen je User ein eigenes Konto in Android anlegen!)
    • "Präemptive Anmeldung" deaktivieren

Thunderbird und CALDAV und CARDDAV

CALDAV

Das Lightning-Plugin hat bereit CALDAV-Unterstützung. Über "Neuer Kalender..."->"Im Netzwerk" lässt sich die CALDAV-URL eingeben.

CARDDAV

Der überall angepriesene SOgo Connector ist in der Add-on-Suche und sonst im Netz falsch erlinkt. Man kann das (unsignierte) Plugin in Firefox als .xpi unter der neuen URL herunterladen. Darauf aufbauend gibt es dann noch den CategoryManager, der den einzelnen Kontakten Kategorien zuordnet.

Weiteres Fazit:

  • Damit unter Baikal mehrere Nutzer auf dieselben Daten zugreifen können, müssen die Rechte anders gesetzt werden. Dieses Ziel verfolgt: https://github.com/mrbaseman/calendar-tools . Leider klappt dies nicht ohne Weiteres mit QBaikal. Irgendein Berechtigungsthema.... tbd
  • Baikal 2 scheint NICHT der Nachfolger zu sein, sondern die Cloud-Variante.
  • CalDAV Sync free beta für Android (https://play.google.com/store/apps/details?id=org.gege.caldavsyncadapter) ist veraltet. Das Projekt hat auf Github mittlerweile einen Fork eines Forks, was es aber auch nicht besser macht
  • Ein cooler Hinweis, wie man den kompletten Server als ICS sichert, basiert darauf, dass Baikal aus Sabre entstand: Die Datei cal.php ist in der Plugin-Section um folgende Zeile zu ergänzen:$server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin());

Freitag, 25. Dezember 2015

QNAP-Backup mit rsnapshot

Da die internen BackUp-Mechanismen von QNAP nicht meine Anforderungen erfüllen, musste ich hier selbst Hand anlegen.

Die Anforderungen sind:
  1. Automatisiertes, zeitgesteuertes Backup
  2. Zielsystem: unterschiedliche,externe USB- und eSATA-Platten. Das System soll selbst erkennen, welche Platte aus dem Pool aktuell verbunden ist.
  3. Es soll der Stand eines jeden Tages rekonstruierbar sein. Dies beinhaltet das Wiederherstellen von versehentlich gelöschten oder überschriebenen Dateien.
  4. Das Datenvolumen soll nur ansteigen, wenn sich Änderungen ergeben haben.
Anforderung 4 wird durch Verwendung von Hard Links auf dem Zielsystem erreicht. Hier bietet sich rsnapshot als Lösung an.

Dienstag, 10. November 2015

QNAP internal backup function - reverse engineering

QNAP offers to connect an external USB or eSATA drive and start a pre-defined backup job immediately after automount. In addition, the device is umounted after the job has finished. The "eSata" LED shows if the devices is still mounted (and the job is still running).
Up to that point, the concept suits my requirements perfectly.
What I am missing is a versioning. And it this should be efficiently consuming the drive space. Technically speaking, I would like to see the usage of hardlinks for files that did not change and a versioning by directories named by date.

I could just install some rsnapshot script plus udev rule for automounting. But I would like to understand how the internal mechanism works.

When the device is plugged, it is mounted under
/share/external/...

If a backup process is configured via the QNAP backup manager,
ps xa shows
qsync -j:Job65 -c:/mnt/HDA_ROOT/.config/qsync/extdrv.conf

Furthermore,
/usr/bin/qsyncman
is running.

This service is started on boot-up via
/etc/init.d/qsyncman.sh start

Configuration files can be found in
/etc/config/qsync

/etc/config/qsync/extdrv.conf contains a list of all configured backup jobs (mapping of directories to an external medium).
/etc/config/qsync/qexthost.conf lists all the known external media (USB drives) incl. drive ID ("INetAddr"), file system ("FtpPassword"), volume name ("FtpAccount"), hardware vendor ("Password"). The field names ae misused here.
/etc/config/qsync/qsyncd.conf defines a port 8899.

Donnerstag, 6. August 2015

Fehler im tiptoi Globus

Der tiptoi Globus enthält eine der umfangreichsten Audio-Datenbanken unter den tiptoi-Spielen und -Büchern.
Leider enthält er aber auch einen Haufen Fehler. Einige davon fallen zunächst gar nicht auf.

Im Folgenden habe ich die Fehler nach Wissenkategorien des tiptoi-Globus-Spiels sortiert:
  • Geographie:
    • Kolumbien: Der Text nennt den Ländernamen gar nicht explizit. Bei anderen Ländern ist dies jedoch der Fall.
  • Zeitzone:
    • Hawaii: aktuell: "Hawaii ist der 50.Bundestaat der USA.", sollte sein: "Hier ist es x Stunden früher als in Deutschland."
    • Franzöisch Polynesien: aktuell: "Franzöisch Polynesien ist ein Übersee-Department von Frankreich.", sollte sein: "Hier ist es x Stunden früher als in Deutschland."
    • Azoren: aktuell: "Die Azoren gehören zu Portugal.", sollte sein: "Hier ist es x Stunden früher als in Deutschland."
  • Höchster Berg:
    • Azoren: fehlt
    • Französisch Polynesien: fehlt
    • Hawaii: fehlt
  • Fläche:
    • Azoren: fehlt
    • Französisch Polynesien: fehlt
    • Hawaii: fehlt
  • Hauptstadt:
    • Chile: fehlt
  • Einwohner:
    • Chile: fehlt

Samstag, 2. Mai 2015

Freifunk auf Picostation M2

Es hat geklappt: Ich habe die Freifunk-Firmware auf meine Picostation M2 aufspielen.
  1. Firmware für Freifunk herunterladen! Dabei benötigt man die FACTORY-Version, nicht die SYSUPGRADE. Weiterhin gibt es keine, die explizit für Picostation ausgelegt ist. Man muss die "bullet"-Version verwenden, die "Nanostation"-Version funktioniert nicht.
  2. Flashen via TFTP. Hier hat die Anleitung von Ubiquity geholfen.

Samstag, 7. Februar 2015

Ozobot - Programmieren spielend gelernt?

Ich habe mir zwei Ozobots gekauft, in der Hoffnung, ein pädagogisches Instrument gefunden zu haben, Kindern Programmieren näher zu bringen.

Zunächst einmal war es schwierig, sich die Roboter nach Deutschland liefern zu lassen, ohne einen zu hohen Aufpreis zu zahlen.
Den Vorschlag von Ozobot auf Twitter, über den Ebay.com-Shop oder robotshop.com zu bestellen, habe ich dann doch nicht befolgt, sondern über einen Amazon-Händler einen besseren Deal erzielt.

Was kann Ozobot?

Er kann die Farbe von Linien auf einem Blatt Papier oder Tablet in schwarz, rot, grün und blau unterscheiden. Die erkannte Farbe zeigt er durch eine LED. Der Linie kann er folgen.
Auf einer schwarzen Linien können Farbcodes eingebettet sein, die durch eine Abfolge von zwei bis vier rote, grüne und blaue Felder ein Kommando kodieren.

Ist das alles?

Auf den ersten Blick ja. Installiert man sich dann jedoch auf seinem iOS oder Android device die App "Ozogroove", kann man weitere Features entdecken.
Mit der App kann man den Ozobot in einen Makro-Modus versetzen, in dem er mit einer Schrittfolge (einen "Tanz") vorab programmiert werden kann. Diese kann er dann wieder abspulen. Programmiert man denselben Tanz parallel in mehrere Ozobots und startet sie gleichzeitig, können sie synchron Formation tanzen.
In den Programmiermodus sowie ins Abspielen des Gespeicherten versetzt sie eine schnelle Farbblinkfolge auf dem Handy. Diese Codes sind offiziell nicht dokumentiert.

Kann man den Ozobot programmieren?

Die erste offensichtliche Variante ist die "Programmierung" durch Farbcodes auf einem Liniensystem. Leider lässt dieses keine "Wenn, dann"-Entscheidungen zu, sondern nur deterministisches Handeln. Hinzu kommt eine Zufallskomponente an Kreuzungen, sofern es vorher kein eindeutiges Abbiegekommando gab.

Die zweite Art der Programmierung funktioniert nur über Apps wie Ozogroove, da nur so der Ozobot in den entsprechenden Modus geschaltet werden kann. In diesem Fall ist das "Programm" noch linearer (Es gibt keine Kreuzungen). Es werden eine Folge an Tanzschritten auf der App aneinander gereiht. Der Ozobot spielt diese dann der Reihe nach ab.
Die Möglichkeiten der Schritte sind hier sehr variantenreich. Varianten im Ablauf lassen sich jedoch nicht einbauen.

Turing-Vollständigkeit erreicht der Ozobot also nach aller Wahrscheinlichkeit nach nicht (sofern es nicht noch weitere versteckte Features gibt). Wenn man unter Programmierung jedoch die serielle Aneinanderreihung von Befehlen versteht, kann man dies hiermit durchaus spielerisch lernen.

Was läuft nicht so gut?

Leider erkennt der Ozobot nicht immer alle Farbcodes. Dies trifft sowohl auf die selbstgezeichneten oder ausgedruckten Linien wie auch das Programmiergeflacker der Android-App zu.
Papiere sollte nicht geknickt sein. Das kann zum Hindernis werden.

Tipps:

Wenn auf einem großen Bogen auf einem Tisch mit dem Ozobot experimentiert, der könnte vielleicht als erstes das vorliegende DIN-A0-Blatt mit einem Rand aus (von außen nach innen) einer Roten, einer darinliegenden blauen und ganz innen einer schwarzen Linie.

Weitere Experimente folgen....

Kindern programmieren beibringen: Scratch, Ozobot, Mindstorms, Intellilok

Die Welt wird digital. Ein Knopf schaltet nicht mehr nur an und aus, sondern aktiviert an ganzes Programm. Dafür sollten unsere Kinder (diesen Jahrtausends) früh ein Gefühl entwickeln. Tun sie das nicht sowieso, indem sie Mamas und Papas Smartphone bespielen, die Spülmaschine einschalten, beim Fahrkartenkauf in der Straßenbahn helfen?
Teilweise, glaube ich. Doch als wir gemeinsam eine Spülmaschine selbstgebaut haben (Blogpost folgt), wurde mir klar, dass die Analyse ("Was passiert da drin, wenn ich den Knopf drücke?") nicht selbstverständlich ist.

Zunächst hatte ich bereits in eine Lego-DUPLO-Eisenbahn investiert. Aber nicht irgendeine, sondern die mit "Programmbausteinen": Eine IntelliLok. Hier gibt es neben dem ersten Standard-"Programmierbaustein" einer jeden Modelleisenbahn, der Weiche, noch Bausteine, die man auf die Schienen legen kann. Richtungswechsler, STOP-Bausteine, einen Tank-Baustein, bei dem die Lok erst nach dem Tanken weiterfährt, eine Hupe und drei weitere.
Leider hat LEGO die IntelliLok aus dem Programm genommen. Entsprechend haben sich die Preise auf Ebay entwickelt.

LEGO Mindstorms ist sicher cool. Aber doch etwas teuer. Zudem ist es wohl eher für Kinder ab 8 oder älter.

Ähnlich verhält es sich mit Scratch, welches durch den Raspberry PI bekannt geworden ist. Zudem handelt es sich um eine reine Software-Variante und haptische Aspekte.

So bin ich auf Ozobot gestoßen. Erste Erfahrungen berichtet ich im folgenden Blog-Post.

Superwallah - IT, Innovation, Indien

Globaler Cyber-Fortschritt ist heute

Suche

 

ich

Du bist nicht angemeldet.

Wer bist Du?

Sag es mir. Und hinterlass einen Kommentar nach Lesen eines Eintrag!

Aktuelle Beiträge

Methode zur Organisation...
Ich habe auf dem 34C3 eine interessante Methode kennengelernt,...
superwallah - 3. Jan, 22:11
Filofax Personal Abmessungen
Wer eigene Filofax-Einlagen basteln möchte, muss sich...
superwallah - 3. Jan, 15:01
Sicherheit in Android...
TLS ist nur so sicher wie die Gesamtheit der Root-CAs,...
superwallah - 13. Jun, 21:30
Den richtigen Co-Working-Space...
Die moderne Welt des Arbeitens liegt im Teilen der...
superwallah - 24. Mai, 18:16
Adressen und Kalender...
Wer meinem Blog folgt, weiss, dass ich mich konsequent...
superwallah - 23. Mai, 09:36

Meine Gadgets

Gesehene Filme

Zähler

Web Counter by www.webcounter.goweb.de
Web Counter by www.webcounter.goweb.de

Status

Online seit 6379 Tagen
Zuletzt aktualisiert: 3. Jan, 22:11