[Podcast] Kernel Panic - Board on Fire ~~> #006: Der Browser im Fahrkartenautomaten - Webtechnologie trifft Embedded-GUIs
In dieser Folge erzählt Bastian Krause uns warum man öfter als man vielleicht denkt Webbrowser auf Embeddedgeräten vorfindet und was die verwendeten Browser von normalen Desktopbrowsern unterscheidet. Außerdem reden wir über Browserengines im Allgemeinen und auch ein bisschen über automatisiertes Testing von Webapplikationen.
Über den Kernel Panic - Board on Fire Podcast
In wahrscheinlich jedem Berufsfeld gibt es Schauergeschichten, die man sich abends am Lagerfeuer mit einer Taschenlampe am Kinn erzählen kann. So auch in der Welt der Software. In diesem Podcast geben wir in unregelmäßigen Abständen Entwicklerinnen und Entwicklern die Möglichkeit ihre Schauergeschichten zu erzählen. Es geht um monatelange Fehlersuchen, deren Ergebnis nur eine Hand voll Zeilen falscher Code sind, um subtil fehlerhafte Hardware, die zu sporadisch auftretenden Geistern im System führt, um bröckelnde Software, deren Quellcode schon vor Jahren verloren gegangen ist, und manchmal auch um ganz was anderes.
Shownotes
Wer nicht die ganze Folge hören möchte kann sich an den folgenden Zeitmarken orientieren:
- 00:00
- Einleitende warme Worte. Bastian erzählt was er im Integrationsteam so macht und wie das Zusammenstellen von Board Support Packages (BSPs) und Images für Embeddedgeräte so funktioniert.
- 09:00
Übergang zum Thema Browser auf Embeddedgeräten und warum sie als Alternative zu klassischen GUI-Toolkits wie z.B. QT verwendet werden.
Ressourcenverbrauch ist kein so großes Problem mehr wie es einmal war und für Webentwicklung sind EntwicklerInnen leichter zu bekommen als für native Anwendungen mit QT.
- 12:30
Wenn Browser zum Anzeigen von Anwendungen auf Embeddedgeräten so verbreitet sind, warum sehe ich dann nirgendwo browsertypische Bedienelemente auf Automaten?
Weil der Browser in einem abgespecktem Kiosk-Modus läuft, in dem keine Bedienelemente angezeigt werden.
In manchen Fällen, wie z.B. Smart-TVs, kommen aber auch normale Browser mit Bedienelementen zum Einsatz.
- 15:00
Das Thema Browserengines.
Engines sind so komplex geworden, dass z.B. Microsoft und Opera die Entwicklung ihrer eigenen Engine aufgegeben haben. Stattdessen gibt es jetzt noch die großen Engines WebKit (Safari), Blink (Chrome, Chromium, Edge, Opera …) (ein WebKit Fork) und Gecko (Firefox).
- 26:00
Als Teil des WebKit-Projekts gibt es verschiedene Ports - Anpassungen der Engine und des Drumherums auf verschiedene Hardwareplatformen. Darunter ist z.B. eine für die Sony Playstation aber auch eine mit dem Namen "Web Platform for Embedded" (WPE).
WPE is auf typische Embedded-Usecases optimiert, also niedriger Ressourcenverbrauch, größtmögliches Auslagern von Berechnungen für z.B. Videodekodierung an Hardwareeinheiten, auf Embedded-Geräten vertretene Input-/Output-Möglichkeiten ….
- 38:30
- Schwenk zu einem anderen Thema - automatisiertes Testing von Webanwendungen per Selenium und WebDriver.
- 44:00
- Wie funktionieren Code-Contributions bei einem Riesenprojekt wie WebKit? Das kommt darauf an welchen Teil des Codes die Änderungen betreffen. Für die Ports z.B. gibt es verschiedene Maintainer in verschiedenen Firmen.
- 52:30
- Abschluss und Verabschiedung.
Further Readings
[Podcast] Kernel Panic - Board on Fire ~~> #010: A Grid of Labs - Das Labgrid Projekt. Was, Warum, Wie?
In dieser Folge setzen wir uns hin und reden mal ausgiebig über das Labgrid
Projekt.
Wir, das sind in diesem Fall Rouven, der damals den Grundstein für das Labgrid
Projekt gelegt hat, wie wir es heute kennen, und Leonard, der schon mal
labgrid-client power on
aufgerufen hat.
Es geht darum was Labgrid eigentlich ist (ein Automatisierungs-Dingsie für
die Embedded Softwareentwicklung, aber kein Testing-Framework an sich),
aus welchen Komponenten eine Labgrid-Installation besteht, über die
Geschichte dahinter und noch ein bisschen mehr.
[Podcast] Kernel Panic - Board on Fire ~~> #009: Ho Ho Ho VirtIO - QEMU, KVM, Barebox und wie sie zusammengefunden haben
Wir haben lange gewartet, um endlich wieder eine Weihnachtssonderfolge herausbringen zu können. Für diese Folge hat uns Ahmad mal wieder ein spannendes Thema mitgebracht, oder viel mehr einen Themenkomplex. Er erzählt uns nämlich, wie sich, als Barebox in die oe-core Layer des Yocto Projekts gebracht wurde, die Gelegenheit ergeben, hat spannende Dinge über Emulation und Virtualisierung mit QEMU und KVM und Paravirtualisierung mit VirtIO zu lernen.
[Podcast] Kernel Panic - Board on Fire ~~> #008: Aus dem Takt - Das Doppelpack Clock-Glitches
In dieser Folge reden Ahmad und Leonard über Takte / Clocks in Prozessoren. Darüber warum es so viele gibt, wie sie erzeugt und im Chip verteilt werden und darüber, was dabei eigentlich so schief gehen kann.