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.

Macht es inkompatibel!

Nicht ganz tagesaktuell, aber kürzlich habe ich gelesen, dass Apple angeblich vor hat, sich weiter von (mehr oder weniger) etablierten Standards entfernen will. Ist das klug?

Aber nochmal einen Schritt zurück: Macbooks. Irgendwann wurden die Gehäuse mit Pentalob-Schrauben ausgestattet. Es gibt keinen offensichtlichen technischen Grund dafür – außer User auszusperren. Die Repair-Szene und findige Geschäftsleute haben aber eine Marktlücke entdeckt und bedienen diese. Ist beim neuen Macbook Pro aber gar nicht mehr nötig, neben dem RAM ist nun auch die SSD aufgelötet*. Akkus sind seit Jahren schon verklebt. Dementsprechend schlecht ist der Repairability Score. Wir haben ein Wegwerfprodukt.

Aber das ist noch nicht alles. Seit einigen Jahren gibt es durchaus sinnvolle Vorhaben, Geräte untereinander zu vernetzen und kompatibel zu machen. Siehe DLNA und UPnP. Apple hat Airplay. Alle möglichen Player außerhalb des Apple-Universums können (bzw. dürfen) es entweder nicht oder die Hersteller müssen Lizenzen erwerben und ihr Zeug verdongeln.

Irgendwann gab es dann den Thunderbolt-Stecker – Die schnelle und leistungsfährigere Antwort auf USB. Ich meine einmal ein Host-Gerät außer halb des Apple-Universums gesehen zu haben. Ein paar Festplatten gab es noch, ansonsten hat sich aber USB gehalten.

Die später folgenden Lightning-Kabel sind auch sehr „nett“. Wo früher bei den i-Geräten Dock-Connectoren für Dritthersteller noch ein mehr oder weniger leichtes Zubrot waren, wurde bei den neuen Steckern Verdongelung mit Krypto eingeführt. Ich frage mich, wie gestört man sein muss, sich so hartnäckig gegen etablierte Standards zu stellen. Oder ist es reine Profitoptimierung? Nein, natürlich muss der Kunde die perfekte „Experience“ und „Performance“ mit seinem aus dem Ei gepellten Gerät haben. Kundenzufriedenheit ist das höchste Ziel – das bezahlt man schließlich auch.

Wie auch immer, für das nächste Telefon hat das Designhaus aus Cupertino angeblich weitere Schritte vor: Weg mit der 3,5 mm-Klinke! Klar, die ist klobig und groß. Und vor allem verdient man nichts am Zubehör! Nachdem das mit den frequenzmodulierten inkompatibel gemachten Fernbedienungstasten an Headsets schon nicht funktioniert hat, muss das eigentliche Problem weg. Es ist natürlich nicht dumm, den digitalen Signalpfad so lange wie möglich zu machen – sprich: Audiocodecs im Kopfhörer sind nicht kategorisch dumm. Denn dann kann der Benutzer entscheiden, wie gut die Wandlung sein soll. Auch die Möglichkeit, zum Beispiel Noise Cancelling-Funktionen direkt vom Mobilgerät aus mit Strom zu versorgen, hätte einigermaßen viel Charme. Aber: Das könnte man über USB (On-The-Go) genauso. macht nur keiner. Warum? Die meisten wollen ihre Kopfhörer auch woanders einstecken können. Ohne Adapter. So kann ich mir gut vorstellen, dass es einen Adapter von Lightning auf Klinke geben wird. Blöd nur, wenn man ihn verliert oder er die Anordnung Telefon <> Kopfhörer unnötig klobig macht.

Ok, das nächste Thema: Wireless Charging. Momentan gibt es zwei größere Player: WPC mit dem Qi-Standard und PMA (A4WP und Powermat). Qi ist meines Wissens in Europa „verbreitet“ (sofern man davon sprechen kann), in den USA wurden Powermat Ladestationen in den Tischen einer Kaffee-Kette eingelassen. Wie aktuell die Verbreitung aussieht: keine Ahnung. Kommen wir nun wieder zu Apple. Deren Smartwatch soll auf Qi basieren, ist damit aber nicht kompatibel. Es wird wirklich alles für den Ruf getan.

Angeblich soll auch an einem eigenen „Standard“ gearbeitet werden. Ob dieser nun für die nächsten Gadgets sein soll oder für das ominöse Autoprojekt – ich kann nur raten.

Eines kann ich aber mit großer Sicherheit Prophezeien: Es wird kompatibel sein. Zumindest mit den Geräten aus dem eigenen Haus. Mit allen anderen: Na, ratet mal 😉

Ich kann mir auch vorstellen, dass bald nach dem Wegfall der Klinke auch die dann letzte Buchse am i-Gerät fällt. Genauso dürften auch die Tage der SIM-Karte gezählt sein. Wir nähern uns dem vollständig geschlossenen System. Zumindest sind wir auf dem besten Weg dorthin.

*) was ich mich an dieser Stelle auch frage: was ist im Falle eines Systemcrashs? Datenrettungs-Dienstleister haben dort aufgrund der Proprietät sicher schlechte Karten. Ob an der „Genius-Bar“ Datenrettung gemacht wird, halte ich auch für fraglich. Aber nein, als gewissenhafter User macht man natürlich ein Backup auf die „Time Capsule“