Irrationales Programmieren mit QML

Ich habe Qt5 auf dem Raspberry Pi 2 kompiliert und installiert. Das war zwar ein bisschen umständlich, lief bis jetzt eigentlich ohne unüberwindbare Probleme. Aber jetzt hol' ich gleich die Kettensäge und geb' dem Drecksteil den Rest! Den Code des Küchencomputers portiere ich derzeit auf Qt5 und QtQuick 2.4 und mache ihn unabhängig von Plattform und Auflösung. Er läuft inzwischen gleichermaßen problemlos auf Windows 7 wie auf Debian Wheezy mit LXDE. Nur auf dem Raspberry nicht. Da werden manche Texte nicht angezeigt und das Layout ist verschoben. Und QML wirft mir unzählige Fehlermeldungen entgegen - allen gemein ist, dass sie mit string-Properties zu tun haben. Also habe ich in den letzten Stunden ein Minimalprojekt angelegt um das Problem nachzustellen, einzukreisen und dann eine passende Lösung zu entwickeln. So was kostet Zeit, funktioniert aber immer. Nur hier nicht. Dieser Mistcode bringt mich noch um den Verstand: import QtQuick 2.4 import QtQuick.Window 2.2 Window { id: myWindow width: 400 height: 200 visible: true Text { id: myText text: "12" } Text { x: 30 text: myText.text Component.onCompleted: { myText.text = "99" } } } Das funktioniert genau so, wie es soll. Wenn man aber "99" durch "34" ersetzt, bleibt der zweite Text leer und QML meldet Unable to assign [undefined] to QString in der Zeile text: myText.text. Allerdings nur auf dem Raspberry. Unter Windows und einem x86-Linux macht es, was es soll. Was zur Hölle soll das? Warum gerade "34"?? Warum nicht z.B. "42"??? Nerv! Ich spiele schon mit dem Gedanken wieder zurück auf Qt4.8 zu portieren ...

SD-Karte aus virtueller Maschine auslesen

Ich hatte hier gerade das Problem, die Partitionen einer SD-Karte für den Raspberry Pi auslesen zu wollen, hatte aber kein natives Linux zur Hand, sondern nur ein Windows-Notebook. Windows erkennt die verschiedenen Linux-Partitionen leider nicht und zeigt bestenfalls die Boot-Partition der Raspberry-Karte an. Glücklicherweise hatte ich hier aber noch ein Debian in einer VirtualBox. Die Idee war also, aus der VM auf die SD-Karte des Windows-Hostsystems zuzugreifen. Allerdings wird der SD-Kartenleser bei diesem Notebook nicht über USB angebunden - die VirtualBox-Gasterweiterungen helfen hier also rein gar nix. Die Lösung war, eine virtuelle Festplatte zu erstellen, welche auf die SD-Karte verlinkt. Anleitung: VirtualBox direct access to SD Card in Windows Danach muss man nur noch die Partitionen der Karte irgendwohin mounten - z.B. mount /dev/sbd1 /tmp/sdb1 mount /dev/sdb2 /tmp/sdb2

Vortrag zur funktionalen Sicherheit

Chaostalk #19 PosterDiesen Donnerstag werde ich beim CCC-Freiburg einen Vortrag über funktionale Sicherheit halten. Themen:
  • Was funktionale Sicherheit ist
  • Warum das auch für Hobbyprojekte sinnvoll sein kann
  • Was es für Fehler in Systemen geben kann
  • Wie man Fehler erkennt / vermeidet
  • Wie man sein Projekt / seine Software sicher macht
Zielgruppe: Tüftler, Hobbyelektroniker, Programmierer, ... Vortrag: Donnerstag, 26.02.2015, 18:30, Dauer ca. 2h in der Sandbox im ArTiK (ehm. Fußgängerunterführung) Eintritt frei

Download der Vortragsfolien (1,4 MB, PDF)


K8200 - Druckbett

Auf der Spiegelunterseite zu drucken ist auf Dauer doch nicht das Gelbe vom Ei. Der Druck haftet zwar sehr gut, aber die Beschichtung der Spiegelrückseite löst sich im Lauf der Zeit ab und wird somit uneben. Nun habe ich die Glasseite wieder nach oben gedreht und probiere einen Tipp aus, den ich mir auf der Maker World habe geben lassen:
Klebestift
Mit einem Klebestick (z.B. von der Firma mit drei großen Buchstaben) das Druckbett bestreichen.
Der Druck haftet ziemlich gut, es lassen sich mehrere Drucke nacheinander auf dem Klebefilm machen und der Klebstoff lässt sich mit einem feuchten Schwamm leicht wieder abwischen. Es haftet sogar so gut, dass man besser den Kleber mit einem nassen Lappen auf dem Glas soweit verteilt, dass nur noch ein hauchdünner Beschlag bleibt - sonst besteht die Gefahr, das Glas bei Ablösen zu zerbrechen.