Ranzbox

Ganz im ernst, wer benutzt die Sprachbox der Telekom freiwillig?

Wenn ich bei Kunden Telekom-Anschlüsse einrichte, ist es eine der ersten Fragen, ob sie sie benutzen wollen und die Antwort ist in aller Regel „Nein“.

Die Gründe sind meistens:

  • Kein Anrufbeantworter gewünscht
  • Es gibt bereits einen klassischen Anfrufbeantworter
  • Der Anrufbeantworter in der meist vorhandenen Fritz!Box soll genutzt werden
  • Der Anruf der Sprachbox um 23:00, dass um 18:00 jemand angerufen hat aber keine Nachricht hinterlassen hat, nervt.

Das Dumme: Sie ist Opt-out, also standardmäßig aktiv.

In der nächsten Zeit werde ich das Vergnügen vermutlich wieder öfter haben, da die Telekom nun begonnen hat, ihre letzten Kunden vor die Entscheidung gestellt hat, ob sie keinen Anschluss oder einen mit All-IP haben möchten. Dabei machen sie das, was vermutlich keiner will: sie schalten die Sprachbox an.

Warum können sie die Einstellung nicht einfach übernehmen? Und warum ist das Teil nicht einfach Opt-in und im Willkommensschreiben steht etwas, dass es sie gibt und wie man sie aktiviert?

Und warum ruft das Teil u. a. zu Unzeiten an? Ich weiß nicht, ob es mittlerweile gemacht wird, aber warum nicht WMI (Benachrichtigung ans Endgerät) nutzen und erst nach dem nächsten ausgehenden Anruf melden

Ok, eines kann sie, was der lokale Anrufbeantworter nicht kann: Benachrichtigung per SMS, wobei: eine entsprechende Fritz!Box kann per E-Mail benachrichtigen – inklusive der Aufzeichnung. Kann das auch die Sprachbox?

Ein Schritt weiter und oft ein echter Mehrwert wäre speech to text und als SMS/E-Mail an den Kunden – sofern das der Datenschutz erlaubt

Ein anderes Ärgernis: SMS ins Festnetz. Zum Glück ist SMS so gut wie tot. Die letzte, die ich bekommen hab kam auch kurz vor 23 Uhr. Die anrufende Nummer war etwas kryptisches und natürlich hat das Teil abgebrochen, als der AB angenommen hat. Also hieß es warten, bis der Anruf wiederholt wird. Schlussendlich war es ein Kunde, der seine Dateien gelöscht und nicht gecheckt hat, dass er meine Handynummer nicht hat. Gleichzeitig war meine Schwester im Ausland und dementsprechend machte ich mir (aufgrund der eigenwilligen Rufnummer) Sorgen, dass etwas passiert sei.

Warum kann die Telekom (oder jeder beliebige Anbieter) nicht einfach SMS, die auf den Hausanschluss gingen, aufs Handy weiterleite? Von den meisten Kunden haben sie ja die entsprechenden Nummern und technisch wäre es auch möglich. Zudem war die Sprachsynthese zumindest damals eher nicht so toll.

Genauso hat die Telekom mehrere Jahre gebraucht, um den automatischen Rückruf (ein Merkmal aus früheren Zeiten) im VoIP-Netz zurückzubringen, wobei er auch jetzt nur selten angeboten wird.

Übrigens: Wer die Sprachbox deaktivieren möchte: 08003302424 anrufen und im Hauptmenü die 4 drücken.

AI my ass

Rant.

Künstliche Intelligenz ist in aller Munde und wird trotzdem (oder gerade deshalb) meist missverstanden.

Viel zu oft kommt dann noch Marketing-Bullshit dazu, dann wird mit Begriffen um sich geworfen bis es einem die Haare aufstellt. Früher war etwas supergeil, wenn man „Laser“ dazuschrieb, heute muss es schon mehr sein. Artificial Intelligence, Machine Learning, Deep Learning, Neural Networks und wenn man alle haben will, muss noch Cloud und Blockchain und vielleicht noch Virtual und Augmented Reality dazu.

Und keiner weiß was überhaupt gemeint ist.

Das Von Leitner-Institut für verteiltes Echtzeit-Java titelte bereits:

Machine Learning bedeutet heute, was man früher unter Statistik führte. Wenn du Machine Learning im früheren Sinn meinst, sagst du heute Deep Learning.

Was bedeuten die Begriffe nun wirklich? Ich versuche es mal mit meinem gefährlichen Halbwissen:

Artificial Intelligence oder Künstliche Intelligenz ist einfach nur der Sammelbegriff. Wenn man an Gott Schöpfer glaubt hätte selbst der Mensch Künstliche Intelligenz, weil sie nicht auf natürliche Weise sondern eben durch Fremdeinwirkung geschaffen wurde. Der Begriff sagt nichts darüber aus, ob es sich um eine biologische (gibt es dazu Forschung?), mechanische oder elektronische Implementierung handelt. Auch nichts über Algorithmen und Verfahren.

Machine Learning ist da etwas konkreter: Es ist ein Verfahren auf dem Weg zur Artificial Intelligence. Kurz: man dreht Daten durch einen Algorithmus, der dadurch aus ihnen lernt. Daraus entsteht dann kein „Ich denke, also bin ich“ sondern eine üblicherweise undurchschaubare Datensuppe, mit denen ein weiterer/verwandter Algorithmus von Eingangsdaten, die nur noch Ähnlichkeiten zu den gelernten Daten aufweisen müssen auf die zugehörigen Ergebnisse schließen kann.

Wobei es auch hier verschiedene Möglichkeiten des Lernen gibt, z. B. kann man zu den Daten gewünschte Ergebnisse verknüpfen oder den Algo einfach nur blind lernen (und somit eigene Klassifikationen finden) lassen. Letzteres hat den Charme, dass zum Beispiel unerwartete Zusammenhänge gefunden werden können. Es gibt dazu interessante Vorlesungen IIRC der Caltech auf YouTube.

Deep Learning ist ein Verfahren des Machine Learning.

Neural Networks oder Neuronale Netze sind ein Modell für die Datenverarbeitung, grob kann man Neuronen mit Logikgattern vergleichen. Deren Netzwerke sind analog dazu ein „Gattergrab“.

Cloud ist eine größere Ansammlung von Wassertropfen. In der Informatik sind es die Computer, in aller Regel sehr viele, anderer Menschen von denen man nicht weiß, wo sie geografisch, politisch und in Sachen Datenschutz sowie -sicherheit stehen. ML kann darauf ausgeführt werden, im Endeffekt ist es aber „Sharks with lasers“.

Blockchain ist, soweit ich es verstanden habe, ein kryptographisches Verfahren zum Manipulationsschutz von Informationen, indem diese in Listen und Verschlüsselung verkettet werden. (ja, ich müsste für eine verständliche Definition bei Wikipedia spicken). Der ganze Fuzz um Blockchain in einer Formel: hash_neu = hashfunktion(hash_alt + daten). Hat nichts mit AI/ML/NN zu tun.

VR und AR hat so gut wie nichts mit alledem zu tun.

Man darf sich einfach nicht verarschen lassen, wenn mit Fachbegriffen um sich geworfen wird. Auch wenn man selbst keine Ahnung hat, ist es oft amüsant entlarvend, wenn man die einfache Frage stellt: „Was ist denn der Unterschied zwischen x und y?“

Dann kann man sich oft nur zurücklehnen und genießen.

Für mich ist künstliche Intelligenz übrigens, wenn man dem Computer ein Netzwerkkabel einsteckt und er im Nebenraum das Licht ausschaltet. Oh nein, das richtige Wort lautet Malware.

Trusted Recursive Resolver

Aus der Kategorie: wir ersetzen etwas kaputtes durch etwas noch viel kaputteres:

DNS soll gegen DNS over HTTPS (kurz DoH, oder eher d’oh) ersetzt werden, so zumindest der Plan von Mozilla. Einmal Fefe, einmal Heise.

Symbolbild:

Ich hab übrigens seit mehreren Monaten einen Blogpost „on hold“, bei dem ich etwas Angst habe ihn zu veröffentlichen, da ich sonst als paranoid dastehen könnte. Titel: „Ein paar unangenehme Prognosen“. Eine davon war (leider zu dem Zeitpunkt nicht aufgeschrieben): „DNS-Anbieter loggen und verwerten Anfragen, verkaufen sie u.a. an die Werbebranche“.

Ein anderer Punkt: „Es kommt das Zeitalter der Tivial-Bugs –
Die root-Lücken in macOS letztes Jahr werden ein Witz dagegen sein. Kategorie: Encryption von Drahtlosnetzen (WiFi/5G/…) und Protokollen wird durch Bug mit dem Niveau eines Bitflips weitestgehend ausgehebelt.“

Ach, übrigens: WPA2 ist so gut wie tot. (ok, war kein Bitflip)

Es muss ziemlich geregnet haben

Warum ist der Boden nass?

Nein, ich hab keine Haustiere, auch zeige ich noch keine Zeichen von Inkontinenz. Trotzdem waren der Basteltisch, Schreibtisch, ein paar Unterlagen und vor allem der Fußboden patschnass. Auch das Dachfenster war geschlossen.

Hilft aber nix, wenn das Dach bzw. der Rollo und dessen „Wartungsklappe“ undicht wird:

Das teurere Zeug hat zum Glück nichts abbekommen. Auch die Backup-Festplatte blieb – wenn auch knapp – trocken. Hier muss ich mir wohl einen etwas besseren Schutz vor Umwelteinflüssen einfallen lassen.

Der PC hatte nur an der Frontblende ein paar Wassertropfen. Trotzdem: Aufschrauben, nachschauen und dabei mal wieder den CPU-Kühler vom Staub befreien. Wenn tatsächlich etwas in die Kiste gelaufen wäre, hätte mein Prinzip „kein Standby-Stromverbrauch“ (der PC + Peripherie werden vom Strom getrennt, wenn ich ihn nicht verwende) vermutlich größere Schäden verhindert.

Wie dem auch sei, zu früh gefreut. Nach dem Einschalten bekomme ich ein Konzert mit Bühnenshow:

Mit usbview, der Knipse und Handyapp im Fernauslöser-Modus (Livebild auf dem Handy) mit Blick auf den Bildschirm hinter den PC gekrochen und probeweise USB-Geräte abgestöpselt. Keine Änderung.

Irgendwann komme ich drauf, dass das Gehäuse ganz unten noch zwei USB-Buchsen hat. An der einen funktioniert der USB-Stick, an der anderen nicht. die funktionierende ist in usbview direkt über der „spinnigen“. Mangels Druckluft in der Mietwohnung (sollte ich jemals bauen, gibt’s neben GbE auch Druckluftkupplungen – zumindest in der Werkstatt, Büro und Wohnzimmer) kommt die Lunge zum Einsatz. Nun macht der PC nur noch beim USB-Stick plüm-plim.

Wie viel es geregnet hat: keine Ahnung. Meine bevorzugte Wetterseite geht nicht weiter als ein paar Stunden zurück und die lokale Wetterstation liegt in unfertigen Einzelteilen auf dem Tisch. Ironischerweise blieb der Regenmesser trocken.

Reibung

Ohmannohmann, damit hätte ich nicht gerechnet.

Die Installation vom Wiki hat schon länger ein Update nötig, 1.25 liegt auch schon länger auf dem Server, aber unbenutzt. Nun habe ich mich mal wieder dran gewagt. Die absolute Minderheit gab es aktualisiert im Repository von Mediawiki, die Mehrheit nicht. Zwar würde die Seite auch ohne die anderen Erweiterungen halbwegs funktionieren, aber wenn man sich einmal an Komfort gewöhnt hat, will man ihn nicht wieder abgeben.

Die Anzeige der aktuellsten WordPress-Posts habe ich selber mal gehackt. Das gibt es in dieser Form nicht zum herunterladen. Den Code habe ich auf die neue Extension-API angehoben und noch ein paar mehr Funktionen eingebaut. Nun muss man nur noch den Ort der Config-Datei und den externen Basispfad angeben. Über Parameter im Pseudo-HTML-Tag lassen sich Optionen mitgeben. Die Auswahl von Kategorien muss ich noch implementieren. Wenn das funktioniert, wird der Code freigelassen.

MathJax – schöne Formeln! Nur leider ist das Sammelsurium aus über 30000 PNG-Dateien eine Seuche. Aufgrund der Clustergröße macht das aus Netto 10 MB stolze 150 MB. Durch den Overhead von FTP dauert der Upload gefühlt Stunden, dafür dass es im Endeffekt nur von einer Minderheit genutzt wird (standardmäßig spuckt es entweder HTML oder SVG aus) – absoluter Bullshit. Also die ganzen Dateien in eine Zip geworfen und ein PHP-Script geschrieben, das sie – aufgerufen mit dem Pfad als Parameter – wieder ausspuckt. Die Javascript-Datei, die auf die Bilder linkt angepasst und fertig ist der Lack. Ja, Zip ist dafür nicht ideal aber gut genug, bis mir etwas besseres einfällt.

Dann wäre da noch Highslide. Was für ein instabiles Flickwerk – nicht Highslide selbst, sondern die Integration. Die Bilder werden über reguläre Ausdrücke aus dem fertigen HTML extrahiert, anhand des Dateinamens (oder Links) die „Vollversion“ ermittelt und dann mit search & replace (genau genommen regex replace callback) ersetzt. Das ist so ziemlich das inkompatibelste was man machen kann. Dementsprechend habe ich das bei jedem kleinen Update patchen dürfen. Jetzt will ich es – wenn möglich – ein bisschen eleganter implementieren. Zur Not von Null weg.

GeSHi Syntax Highlight. Aktuell noch das größere Sorgenkind. MediaWiki hat 2015 auf Pygments umgestellt. Schön für sie und vermutlich die Performance aber hier gibt’s leider kein Python. Richtigen Ersatz habe ich noch nicht gefunden. Aber die Suche geht weiter.

Vielleicht schaffe ich das Update ja bis zum Geburtstag von der Homepage Anfang April.

Übrigens, als Randnotiz: die Homepage ist teurer geworden. Lt. Hetzner durch den starken Dollar – org-Domains werden durch die ICANN verwaltet und dadurch in USD gehandelt. Statt 12,90 Euro sind es jetzt 15,35 Euro im Jahr. Bringt einen nicht um aber immerhin eine Steigerung von 19 %. Dafür könnten sie ja zumindest Cronjobs und/oder Python in den kleineren Tarifen freischalten 😉

Strg+Z

Argh! Am liebsten würde ich jetzt so lange auf Strg+Z hämmern, bis ich die Kamera nicht zerlegt habe. In wieder mal jugendlichem Leichtsinn habe ich den Bildsensor vom Objektiv getrennt und den Reflektor vom Display gerissen. Mann, bin ich dumm!

Denn: Die Kamera lebt! Einzig der fehlende Blitz wird beim Einschalten bemängelt.

SX280_lebt

Es wäre die perfekte Opferkamera geworden, für nichtmal nen Zehner. Könnt ihr euch vorstellen, wie ich mir gerade in den Allerwertesten beiße? Keine Ahnung, warum das Teil vorher nicht komplett einschaltete (Doch, die 6. Stelle der SNR ist eine 4). Irgendein Dösbaddel hat die Flex zur Hintergrundbeleuchtung abgerissen – und ich möchte nicht ausschließen, dass ich dieser welcher war. *seufz*

Naja, zumindest kann man versuchen, das Beste aus der Situation zu machen – zum Beispiel den GNSS-Empfänger weiter erforschen. Es wäre interessant, ob, wann und wie die Almanach-Daten in den Empfänger kommen. Erster Versuch: Einfach mal die alte EED-Datei drauf und gucken was auf dem UART passiert. Kurz: Nix. Ok, vielleicht lädt die Kamera clevererweise nur die Daten, wenn sie auch gültig sind. Also einfach mal das Datum auf irgendwann 2014 (im gültigen Bereich) gesetzt und neu gestartet.

Here we go:

SX280_upload_almanach

Eine halbe Sekunde Upload. Bei einer Byte-Länge (mit Pause) von ca. 95 µs sind das ca. 7 KiB. Also wohl ein Auszug aus der Datei. Näher hab ich es mir noch nicht angeschaut.

Ok, nun ein völlig abstruses Experiment. Versuchen wir doch mal eine aktuelle EED-Datei, heute frisch vom Canon-Server geladen. SD-Karte rein, Datum umgestellt, Neustart. Der Logic Analyzer zeichnet wieder einen Transfer auf und die Kamera zeigt im A-GPS-Screen den Gültigkeitszeitraum richtig an. WTF!?

Canon, ich glaube, wir haben ein Problem! Ein persönliches sogar!

Als „Beweis“ habe ich ein Video gemacht. Die SD-Karte enthält bis auf die Bilder nichts, was GPS-Infos tragen würde. Meine richtige Kamera lädt keine Daten mehr. Sie ist in dieser Hinsicht also kaputt. Keine Ahnung warum, weil abgesehen von diesem Fehler funktioniert Geotagging ohne Probleme.

Jetzt wäre natürlich der Gedankengang nahe, eine Transplantation durchzuführen: Engine aus der Bastelkamera in die „Produktivkamera“. Nein. Nicht, weil ich fürchte, dass die Kamera dann im Einsatz nicht mehr so stabil läuft – ich vermute eher, dass der Flash neben dem Killflag für A-GPS auch Kalibrierdaten für den Autofokus (obwohl es der dumme mit Kontrastgrenze ist), Bildstabilisierung und ähnliche Korrekturdaten (Tote Pixel) der Kamera enthält. Es wäre ziemlich großer Mist, diese zu „verlieren“.

Jetzt muss Canon ran! Garantie ist vorbei, aber das ist ganz offensichtlich ein Fehler, für den ich nichts kann. Ich hätte gerne eine Erklärung!

Und es wäre nicht das erste Mal, dass sich eine PowerShot ohne meine Hilfe verabschiedet. Bei meiner A95 haben sich die Bond-Drähte vom Sensor gelöst und die A2100 bekam Alzheimer und wusste nicht mehr, wie sie hieß. Beide hat Canon auch nach der Garantie- bzw. Gewährleistungszeit kostenlos repariert, nervig ist es aber trotzdem. Die 300D von meinem Vater habe ich selbst wieder in Gang gesetzt. Mit einem Reißnagel. Vier von 6 Kameras sind somit im Eimer, wobei ich die 400D wegen Unzulänglichkeiten in der Software bzw. einem Objektivfehler auch nicht mehr wirklich nutze. Bleibt also nur die aktuell (noch) intakte 600D von meinem Paps. Vielleicht sollte ich doch mal über einen Systemwechsel nachdenken. Schade, denn ich mochte sie eigentlich ganz gern. Bis auf die Akkulaufzeit bei der SX280 im Videomodus und den nicht sauberen 60 fps-Aufnahmen…

Kann das nicht jemand anders machen?

Ich telefoniere gerne übers Festnetz. Vor allem, weil es recht günstig ist. Erst recht, wenn man auch ins Ausland sehr günstig telefonieren kann. Zum Beispiel mit Sipgate oder EinfachVoip. Von ersterem hat meine Mutter einen Account und 10 Euro als Starterli zu Weihnachten (neben den anderen Geschenken natürlich) bekommen, um eine Freundin in Indien anzurufen. Eine halbe Stunde kostet da so viel wie zwei Brezeln.

Ich selbst habe einen Account bei zweitem Anbieter – momentan noch aus Jux, aber falls doch mal ein Anruf ins Ausland sein muss…

Wie auch immer, eines Gemeinsam haben die beiden Accounts: Nomadische Nutzung ja, Mehrfachlogins nein. Wenn ich aber doch mal vom Handy aus anrufen will? Zweitaccount, daheim abmelden und am Handy anmelden? Nein. Zudem ist SIP reichlich unverschlüsselt und auch ansonsten habe ich in fremden WLANs eine halbwegs „sichere“ Verbindung zu meinem Mailserver oder ins WWW.

Zudem ist es auch im praktisch, vom Hotel-Netzwerk keine APKs untergeschoben zu bekommen (ja, das wurde versucht…) und ich will auch in restriktiveren Ländern Google-Dienste nutzen. Kurzum: VPN ist sehr praktisch.

Wenn es nach LG geht: War. Zumindest beim G2 bringt das Update auf das neuere Android 5.0.1 nicht nur ein neues Design, sondern auch regelmäßige Abstürze, wenn man versucht, sich in ein VPN einzuwählen. Das Problem existiert seit über einem Jahr und der Kundensupport sagt sinngemäß: wir wissen nicht, ob und wann der Praktikant, der das sonst immer gemacht hat, wieder da ist. Ihre Anfrage wurde ausgedruckt und dem Aktenvernichter verfüttert.

Ich frage mich ernsthaft und ein wenig rhetorisch, wie denn die Hersteller ihre Software überhaupt testen. Nein, nicht noch mehr Frustration. Das eigentliche Problem heißt: kein Vanilla-Android.

So viel zum Problem aber was ist die Lösung? Android ist zum Glück ein offenes System, auch wenn die meisten Hersteller Versuchen, dem einen Riegel vorzuschieben. Bis jetzt in den allermeisten Fällen (zum Glück) erfolglos. Denn offenbar bin ich mit dem Problem nicht allein.

Die ersten Versuche mit dem HTC Pyramid (Sensation) und Pico (Explorer) waren Anfangs mit sehr viel Zittern verbunden, Android kam jeweils nicht auf Anhieb hoch. Was, wenn das mit meinem G2 als „daily driver“ passiert? Ich hab aktuell kein funktionierendes Alternativ-Mobiltelefon (außer das Notfall-Nokia 1110i). Andersrum: Wer nicht wagt, der nicht gewinnt und: solche Fehler sind für mich wie ein Splitter im Kopf. Er tut im Moment nicht weh, aber er ist da – und du weißt es.

Also, Augen zu und durch. Mit dem SRKtool Root + TWRP installiert, den KitKat-Bootloader drauf und danach den dorimanx‘ Kernel installieren. Daumen drücken und mit einem verbleibenden Finger auf Reboot drücken. LG-Logo, PIN-Eingabe, aber auch Erfolg? Zumindest die Kernel-Tools mit sehr feinen Einstellungen melden sich.

Ob VPN auch funktioniert? Werde ich sobald wie möglich probieren. Im nächsten offenen WLAN.

Zu der Frage, ob und wie die Hersteller ihre Geräte und Software (nicht) testen gesellt sich nun die Frage, warum es schlussendlich doch wieder die jemand anders – in diesem Fall die Community – fixen muss?

Darf ich mal kurz…

…mich hier über die Praktiken mancher Hersteller aufregen?

Nachdem ich demnächst auf einer Hochzeit fotografieren soll, die diesjährige Urlaubsplanung größtenteils steht und ich bei der Musik von CloZee ziemliche Lust bekomme, ein Video zumindest von letzterem zu machen, liebäugel ich mit einer neuen Spiegelreflex.

Für Canon ist zumindest ein gutes Objektiv noch da (allerdings nicht ganz reisetauglich) und die 760D erfüllt, obwohl sie der Billigmöller unter den EOSen ist, meine Erwartungen nahezu komplett. Leider keine 60 fps-Videos und nix über 1080p. Wer schon einmal mit höherer Framerate aufgezeichnet hat, will es nicht mehr missen. Flüssigere Bewegungen sind das eine, der deutlich größere Vorteil ist allerdings, mit der Wiedergabegeschwindigkeit (ohne größere Artefakte) arbeiten zu können.

Auf der Suche nach einem Zweitakku, der mir im Original mit um die 50 Euro zu teuer ist (wenn man weiß, wie billig der Krempel in der Produktion ist, wird einem nachhaltig schlecht), wurde die Suche auf Drittanbieter ausgedehnt. 15 Euro. Teilcodiert? Keine Restlaufanzeige? Fehlermeldung in der Kamera? Lässt sich nicht im Originalladegerät laden?

Die Begeisterungskurve machte einen deutlichen Knick nach unten. Stimmt, das habe bei einem der aktuelleren G-Modelle auch schon gelesen.

„Früher“ gab es halt keine Garantie mehr, wenn ein Fremdakku die Kamera beschädigte.

Heute braucht man wie bei Tintenpatronen Dongel, weil sich die Hersteller mit dem zwangsläufig benötigten Zubehör subventioniert oder einfach nur den Gewinn maximieren will. Es gibt keine technische Gründe, einen Kryptographie-Chip in eine nicht sicherheitsrelevante oder anderweitige kritische Komponente einzusetzen. Zumal der Mist früher oder später eh überwunden wird. Ok, bis dahin hat der Originalhersteller Strecke gemacht, danach ist es nur noch Gängelung.

Der Vergleich hinkt zwar etwas, aber bei DVDs gibt/gab (gab, weil sie langsam aber sicher von der Blu-ray beerdigt wird – die sind in der Beziehung IMO ein bisschen besser) es auch eine für mich völlig unverständliche Gängelung: wie lange dauert es üblicherweise vom Einlegen der Disc bis man den Film starten kann? Zwar nicht so lange wie im Kino, aber bei den meisten läuft erst nichtüberspringbare Werbung. Bei einer Scheibe, die man früher für über 20 Euro gekauft hat. Besorgte man sich den Film auf andere Wege, war man sofort im Menü oder der Film lief direkt los (so die Erzählungen). Der ehrliche Verkäufer ist also der Dumme. Wegen damals noch schwacher Abmahnindustrie hat der Raubkopierer (bis auf dem moralischen Aspekt) doppelt „gewonnen“.

Was hilft bei den Kameraakkus? Boykott? Hateletter? Oder einfach mit dem wegklicken von „Fehler-„Meldungen leben und warten bis entweder die Zubehörindustrie die Crypto geknackt hat oder es einen Hack für die Kamera gibt (in Zeiten von Green Lantern und CHDK nicht unwahrscheinlich)?

Ich weiß noch nicht. Vielleicht bleibe ich beim Urlaub auch einfach bei der Point and Shoot. Die hat zwar ihre Schwächen, kann aber direkt geotaggen (warum das die Nachfolger auch nicht mehr können ist mir ebenfalls ein Rätsel) und hat einen etwas größeren immer-dabei-Faktor.

Mathe ist Terror!

Das wurde mir spätestens im Studium klar.

Doch vor kurzem hat das ganze einen Twist bekommen; eine Frau in Philadelphia ließ einen Flug aufhalten (via fefe, zweite Quelle), weil – und jetzt bitte tapfer sein – ihr Sitznachbar Differenzialgleichungen bearbeitete und sie es für „Terroristencode“ hielt.

Ob der Wissenschaftler weapons of math instructions (ja, der musste jetzt sein) mit sich führte, war aus den Pressemitteilungen leider nicht ersichtlich.

So lustig die Geschichte auf den ersten Blick sein mag, zeigt sie doch, wie klein der Horizont mancher Menschen ist und in welchen Schubladen sie denken.

Arghduino

An der ein oder anderen Stelle habe ich schon einmal erwähnt, dass ich kein besonderer Fan von Arduino bin. Vielleicht bin ich noch immer etwas voreingenommen und schätze die Annehmlichkeiten einfach nicht, vielleicht liegt es auch an den Erfahrungen, die ich damit hatte.

Die erste Berührung mit der Plattform hatte ich im Studium – mein erster HiWi-Job war, einen Aufbau aus einer Bachelor-Arbeit zu überarbeiten. Sowohl Hard- als auch Software basierte auf Arduino. Keine Ahnung, was sich der Absolvent dabei dachte, aber er versorgte den Mikrocontroller samt Bluetooth-Modul über eine 12 V-Batterie (die auch in Funksteckdosen-Fernbedienungen zu finden sind), der vermutliche Grund: auf dem Board war ein Spannungsregler verbaut und die Batterie schön klein. Dass die meisten Energie des Aufbaus in Wärme verwandelt wurde (selbst die Batterie wurde warm), war wohl egal. Laufzeit: 10 Minuten. Auch die Software war nicht wirklich der Kracher: Das Teil sollte u. a. kapazitive Messungen durchführen und per Bluetooth übertragen. Nur leider war die verwendete Lib so geschrieben, dass sie gerne Mal die anderen Aufgaben länger blockierte. So lange, dass wichtige Ereignisse versäumt wurden.

Was schlimmer war – die Implementierung auf Seiten von Arduino oder des damaligen Kommilitonen – keine Ahnung. Wahrscheinlich eine Mischung aus beidem.

Schlussendlich habe ich das Teil komplett neu gemacht. Die Hardware wurde von der Größe einer Zigarettenschachtel auf die einer Streichholzschachtel geschrumpft und die Betriebsdauer dank Akku auf knapp 8 Stunden erhöht. Dazu gab es noch ein paar Zusatzfeatures, wie eingebauter Laderegler und einen Taster zum Ein- und Ausschalten. Ok, dafür konnte man den Akku nicht mehr richtig herausnehmen.

Muss ich überhaupt über die Software reden? Das einzige was blieb, war die Grundidee. Der Rest wurde komplett neu in „damals“ noch AVR Studio geschrieben. Der Code war kleiner, flotter und zuverlässiger. Nur das Gesamtsystem krankte etwas, aber aus anderen Gründen.

Vor kurzem hatte ich wieder Kontakt mit der Plattform. Es sollten ein paar Motoren angesteuert werden. Arduino und Treiber waren deutlich günstiger als man es selber jemals machen könnte, also wurde es genommen. Ersterer war ein China-Klon mit CH340 statt zweitem Atmel-MCU. Irgendwann habe ich auch herausgefunden, dass das Protokoll doch nicht STK500-kompatibel (mit entsprechender Änderung kann immerhin avrdude damit umgehen) ist und wie in den Bootloader gesprungen wird. Letzteres ist auch gleich potenziell verhängnisvoll für Linux-User: Der Sprung findet statt, indem die DTR-Leitung geschaltet wird – diese ist mit dem Reset über einen Kondensator verbunden. Doof, dass Linux beim Öffnen eines seriellen Ports kurz DTR anschaltet. Noch dümmer, wenn man mit dem Mikrocontroller über Batchfiles kommunizieren will und er dadurch den Port immer wieder öffnet und schließt und man eigentlich Variablen im Chip halten will. Schlussendlich ist ein Schalter zum Auftrennen der entsprechenden Leitung in der Schaltung gelandet.

Für den schrecklichen Aufbau des Kommilitonen und die etwas eigenwillige Schaltung vom Klon kann Arduino bzw. Genuino (oder wie auch immer die Firma heißt) natürlich nichts. Trotzdem habe ich das Gefühl das eher zweifelhafte Aufbauten oft (nicht immer) gemeinsam mit diesen Kits daherkommen, was vermutlich mit der Zielgruppe zusammenhängt. Diese umfasst nach meiner persönlichen Einschätzung oft Leute, die kein tieferes Verständnis für Elektronik haben und denen dadurch die Hardware primär egal ist, Performance eine eher eine untergeordnete Rolle spielt, dafür aber der Einstieg sehr einfach ist und der Aufbau nach kurzer Zeit irgendwie funktioniert. Als Beispiel fällt mir hierfür der „Heimwerkerking Fynn Kliemann“ ein.

Das fehlende Verständnis und oft leider auch Lernresistenz oder gar Komplettverweigerung der Realität (Lesen und Anwenden von Informationen aus von Datenblättern, um nur eines zu nennen) merkt man dann oft in Elektronik-Foren.

Hate the player, don’t hate the game? Leider nicht ganz.

Habt ihr mal versucht eine vernünftige Dokumentation zu den Arduinos zu finden? Ich habe bis jetzt immer suchen und sammeln müssen. Wo sind die Hexfiles der Bootloader? Wie ist das Pinmapping abseits der Wiring-Bibliothek? Klar, einen „normalen“ Arduino-User kümmert/interessiert das nicht, aber was wenn man aus dieser wattierten Welt ausbrechen will? Da ziehen schnell dunkle Wolken auf.

Zugegeben, ich habe auch schon Arduinos (genaugenommen zwei Pro Micros) gekauft, weil die Boards von der Preis/Leistung unschlagbar waren. Abgesehen davon, dass die Hardware teilweise mistig war (HWB fest verdrahtet, obwohl das auch über Fuses geht, 5V-Regler trotz Versorgung über USB, grauenhaften Schaltplan mit falschem Symbol für den Mikrocontroller) und dieser unsägliche Bootloader, obwohl im Auslieferungszustand ein guter mit DFU-Protokoll installiert wäre.

Ein etwas an die Gegebenheiten angepasster DFU-Bootloader kam sehr schnell auf das Board. Nachdem ich Kontakt mit den Jungs in Norwegen aufgenommen habe, funktioniert sogar das Flashen direkt aus der Ende-Februar-2016-Version von Atmel Studio 7 (Rev 790).

Bei der Software – Entwicklungsumgebung möchte ich es nicht nennen – man ist ohne tiefere Eingriffe auf eine Datei beschränkt, was Spaghetti-Code fördert, man sieht nahezu nichts vom Compiler und die Libs sind – wie schon erwähnt – oftmals grausig.

Dabei ist Atmel Studio doch erstaunlich benutzerfreundlich oder zumindest deutlich Angenehmer für den Einsteiger als IAR, Eclipse oder eine bare-metal-Lösung (als Männer noch richtige Männer waren und ihre Makefiles selber geschrieben haben).

Und dann wären da noch Nicht-Innovationen wie der AAduino, der über über diverse Online-Medien (Hack A Day, Atmel Studio Blog, sogar Heise Online um nur drei zu nennen) lief, ohne dass da besonders hervorzuhebende Leistung der Macher zu sehen war – zumindest das Funkmodul hätte komplett auf der Leiterkarte implementiert werden können.

So sehr ich Arduino und viele (nicht alle) nur einen Facepalm vergönne, so hat die Plattform einen ganz großen Pluspunkt: Sie hat Mikrocontroller und DIY näher an die Leute gebracht. Mit allen vor und Nachteilen. Ich bleibe jedoch dabei, davon allerhöchstens die Hardware zu verwenden.