programmierer-nachrichten.de:
News für Programmierer

programmierer-nachrichten.de

direkt aus dem Technologiezentrum Bottrop
Startseite Podcast RSS Archiv Impressum

Raptor Engineering: offene Hardware


Raptor Engineering hat mein Interesse schon vor ca. einem Jahr geweckt. Da haben sie ein Mainboard beworben, was angeblich "offen" sei. Schau einfach selber mal vorbei.

Im Grunde kann man es so zusammenfassen:

OpenPOWER ist eine offene Architektur auf Basis des IBM POWER Mikroprozessors. Zentraler Bestandteil der Architektur sind die OpenPOWER Firmwarekomponenten, die als Open Source entwickelt und auf GitHub zur Verfgügung gestellt werden. Die ersten OpenPOWER Systeme wurden für POWER8 Prozessoren veröffentlicht.

Quelle: https://www.thomas-krenn.com/de/wiki/OpenPOWER

Das Board war aber so teuer, dass ich es nicht kaufen konnte. Ich bin zwar idealistisch unterwegs, aber wenn ich es nicht bezahlen kann, muss ich Kompromisse eingehen. Wenn mir jemand so ein Board schenken mag, deinstalliere ich freiwillig Windows 10.

Die eigentliche Neuigkeit ist aber Talos II.. Raptor Engineering will wohl eine komplette Workstation verkaufen. Das ist ein Schritt weiter. Vorher wollten sie nur das Mainboard verkaufen und jetzt eine komplette Workstation. Gute Idee! Aber der Preis?

Es gibt auch ein interessantes Video von Raptor Engineering. Schau es dir hier an. Gut, der Ton scheint mit einem Tonbandgerät aufgenommen zu sein, aber das ändert nichts an den Fakten. Wenn du keinen Bock auf das lange Video hast, kannst du dir hier auch die Slides anschauen.

Ich kann es nicht oft genug sagen, aber aktuell nutzen wir alle sehr verschlossene Hardware, ohne dass es uns bewusst ist. Es gibt dadurch Sicherheitslücken in der CPU "Firmware" und wir haben keinen Plan. Mit offener Hardware haben wir als Endbenutzer immer noch keinen Plan, aber es gibt genug Programmierer da draußen, die sich den Code anschauen und eventuelle Probleme ausfindig machen können. Wenn die CPU "geschlossen" ist, besteht nicht mal die Möglichkeit solche Probleme vorher zu finden.

Ich hoffe also auf Raptor Engineering und andere Firmen. Ich will offene Hardware. Auch, wenn sie _etwas_ langsamer ist als der AMD und Intel Kram. Bei Software sind wir so ultragenau und pingelig, aber bei Hardware stellen wir kaum Fragen.

Stellt mehr Fragen! Hinterfragt den Kram, den wir täglich nutzen! Und lauft nicht diesem ARM Mythos hinterher...da ist nix offen :)! Nur, weil es anders ist, heißt es nicht, dass es gut ist :).

P.s.: die Raptor Engineering Seite muss dringend überarbeitet werden. Das wirkt sowas von unprofessionell, dass ich Pickel bekomme. Wenn man auf "Products" klickt sieht man entweder "nichts" oder eine Liste von Produkten, aber kein Wort von Talos noch von der Workstation...wtf?! Sie nutzen auch verschiedene Domains...alles sehr durcheinander...sowas geht einfach gar nicht.


Ataribox: erste Bilder


Gestern schickte Atari die ersten Entwürfe für die neue Ataribox per Mail. Ich war erst mal positiv überrascht, aber es sind eben nur Zeichnungen und keine Bilder von echter Hardware, aber das ist ja auch erst mal egal. Es ist ein frühes Projekt.

ataribox 1

Wie früher will man nun auch bei der neuen Ataribox mit Holzapplikationen Fans früherer Zeiten ansprechen. Ich finde, dass auch nicht-Fans Gefallen daran finden könnte.

ataribox 2

Atari schreibt, dass sie alles richtig machen wollen. Sie wollen nichts überstürzen. Das ist schon mal eine gute Einstellung.

Meine persönliche Meinung folgt: Ich finde es schwierig heute noch eine neue Konsole zu etablieren, aber ich bin auch PC-Spieler und habe eh eine Meinung, die von vielen Menschen einfach nicht geteilt wird. Ich bin ja auch jemand, der ungerne Notebooks verwendet, weil sie im bezahlbaren Preisbereich oft mangelhafte Hardware verbaut haben. Auch empfinde ich Notebooks als eine ergonomische Katastrophe.

Ich finde aber, dass Atari eine sehr gute Werbekampagne fährt. Sie veröffentlichen immer nur kleine Happen und machen das Produkt damit interessant. Ich würde schon heute die Ataribox vorbestellen, einfach nur wegen dem Namen.

Wer aber liefert die Spiele dafür? Das ist die wichtigste Frage, denn die meisten Konsolen werden querfinanziert; durch die Spiele. Man bietet eine Konsole zum vergünstigten Preis an und hofft, dass der Kunde sich die teuren Spiele kauft. Das wiederum machts für Publisher interessant, weil sie einen Teil des Kuchen bekommen können.

Interessant wäre, wenn man auf der Ataribox "Atari TOS" ausführen könnte. Aber ich glaube das Interesse daran wäre sehr gering. Ich bin auf jeden Fall weiterhin sehr gespannt. Frischer Wind ist immer gut! :)


Red 0.6.3 veröffentlicht


Red wurde in einer neuen Version 0.6.3 veröffentlicht. In dieser Version neu hinzugekommen ist das macOS GUI Backend, ein neuer date! Datentyp und viele andere Neuerungen.

Red wurde von Rebol inspiriert und ist mehr oder weniger kompatibel dazu. Rebol 3 ist OpenSource und auf GitHub verfügbar, aber seit 2014 wurden keine Änderungen mehr committed, weswegen ich fast sagen würde, dass das Projekt Rebol langsam aber sicher gestorben ist. Aber Red füllt die Lücke vermutlich schneller als erwartet.

Red erzeugt ausführbare Dateien ohne Abhängigkeiten, hat eine gewöhnungsbedürftige Syntax und ist für viele Betriebssysteme und Plattformen verfügbar. Im Grunde ist es erstaunlich, dass man doch so wenig von Red hört und liest.


Remix OS Entwicklung wird eingestellt


Die Firma Jide hat die Entwicklung für die Produkte Remix OS, Remix IO und Remix IO+ eingestellt. Sie wollen sich nun auf Firmenkunden konzentrieren.

Remix OS ist ein Betriebssystem für den PC, mit welchem man Android Anwendungen nutzen kann. Remix IO und IO+ sind kleine 4K TV Set-Top Boxen ähnlich AppleTV.


HTC 10 Tastatur zeigt Werbung an


Hach gott...die Systemtastatur des HTC 10 Smartphones hat vor kurzem angefangen Werbung über der Tastatur anzuzeigen. Und weil das nicht schlimm genug ist, ist die Werbung kontextbezogen und was ist der Kontext? Richtig: deine Tastatureingaben.

HTC findet also, dass es eine super Idee ist, wenn man eine Tastatur App installiert, die alles, was man über die Tastatur eingibt, mitschneidet und darauf basierend Werbung anzeigt. Aber man gibt ja auch Passwörter über die Tastatur ein...werden diese Eingaben auch an den Server mitgesendet? Eine Tastatur App weiß, wann man ein Passwort eingibt und kann deswegen unterscheiden, aber passiert das hier?

Unmöglich ist sowas...


Slackware Linux gibt es seit über 24 Jahren


Mit Suse Linux fing alles bei mir an. Kurz danach hatte ich aber Slackware ausprobiert und war von der Einfachheit des Systems so überzeugt, dass ich es danach sehr lange nutzte. Irgendwann nutzte ich Minislack, Zenwalk, dann Kwort usw...aber Slackware ist seinen Ideen treu geblieben.

Slackware Linux gibt es nun seit 24 Jahren in mehr oder weniger unveränderter Form. Wer damals Slackware bedienen konnte, wird es auch heute noch können.


Atom Plugin Minimap liefert Werbung aus


Ich nutze ja Atom und mindestens ein Leser findet mich dafür affig, weil er denkt, dass ich es nur benutze, um "modern" zu wirken, aber in der Tat finde ich Atom ganz gut.

Ich nutze bei Atom mindestens ein Plugin und das ist "Minimap"; wenn man das installiert, hat man rechts neben dem Code eine relativ breite Bar, die einem eine sehr verkleinerte Vorschau seines Codes anzeigt. Mit dieser Bar kann man relativ schnell in seinem Code navigieren. Für mich ist das die bessere Scrollbar.

Das Problem mit diesem Plugin ist aber, dass es nun Werbung integriert. Ein User hat bereits ein Bug-Report eingestellt, aber der Autor sieht nicht ein, dass es nicht in Ordnung ist Werbung in so ein Plugin zu integrieren.

Problematisch ist, dass der Dienst, der auf einmal in das Minimap Plugin integriert wurde, rein gar nichts mit der Domäne des Plugins zu tun hat. Es ist schlicht und ergreifend Werbung für das Startup des Programmierers, der auch das Minimap Plugin implementiert hat. Grundsätzlich spricht ja nichts dagegen, dass er sein Startup bewirbt, aber nicht auf diese Weise. Er hätte ein weiteres Minimap Plugin veröffentlichen können, wo der Dienst seines Startups integriert ist. Jeder Nutzer, der dieses Plugin dann benutzen will, kann es dann installieren.

Um die vorige Version zu installieren, kann man folgendes machen:

apm install minimap@4.27.1

Man kann aber auch einen Fork installieren, der diese Integration / Werbung nicht beinhaltet:

apm install minimap-plus

Für mich persönlich ist die Reise mit Atom hier aber zu Ende. Es wäre für jeden Pluginautor kein Aufwand ein Update für ein Plugin zu veröffentlichen, welches meinen Code in die Cloud hochlädt. Wie man an Minimap sieht, ist es kein Problem für die Menschen andere Menschen um jeden Preis abzuzocken und zu verarschen.

Ich habe das Plugin auf der Paketseite von Atom gemeldet: "Flag as spam or malicious". Was mich irritiert ist, dass der Community Manager des Atom Projekts das Problem runterspielt. Nur aus diesem Grund werde ich Atom nicht mehr nutzen.


Podcast Folge 22


Wie versprochen der wöchentliche Podcast!

In der 22. Folge war ich schon wieder angeschlagen! Dieses Mal aber durch das unbeständige Wetter :)!

In dieser Folge also folgende Themen:

Viel Spaß mit dieser Folge!


Firefox verkauft seine Nutzer


Wenn man als Firefox Benutzer im Hamburger Menü auf "Addons" klickt, öffnet sich "about:addons" und als Erstes wird der Menüpunkt "Add-ons entdecken" geladen. Dort wird also quasi eine remote Website mit Addon Empfehlungen geladen. So weit so gut, aber an dieser Stelle werden Daten an Google Analytics weitergegeben, ohne dass der Nutzer zugestimmt hat. Nicht mal der typische Hinweis über die Cookies wird angezeigt...

Luca Theidig hat für dieses Fehlverhalten einen Bug Report eingestellt und die Reaktionen waren eindeutig. Man hat das Vertrauen der Nutzer missbraucht.

Was mich persönlich wahnsinnig wütend macht, ist, dass man dieses Verhalten damit erklärt, dass man ja mit Google ein Abkommen getroffen hat diese Daten nicht an dritte weiterzugeben oder zu "minen". Das ist zwar "schön", aber wer garantiert das denn? Die Daten liegen ja letztendlich doch bei Google und was einmal in der Cloud ist, bleibt für immer dort. Und irgendwann wird es dann doch ausgewertet und verkauft. Der "Deal" mit Google reicht für Mozilla aus diesen Bug Report zu schließen.

Damit schließt Mozilla leider nicht nur diesen Bug Report. Bei einer eh schon schrumpfenden Benutzerbasis sollte man bei solchen Bug Reports doch etwas sensibler reagieren.

Interessant dürfte das auch für Nutzer des Tor Webbrowsers sein. Vermutlich sind sie gar nicht so anonym wie sie denken.

Bisher war Firefox eigentlich immer mein Webbrowser des Vertrauens. Seit Jahren nutze ich aus Prinzip nichts anderes mehr. Aber nun?

Pfui, Mozilla! Pfui!


DoppioJVM - Java VM in JavaScript


Mit DoppioJVM gibt es nun eine Java Virtual Machine, die in JavaScript implementiert wurde. Klingt verrückt, funktioniert aber! DoppioJVM nutzt die Java Class Library und implementiert die VM in JavaScript. Um Java-Programme im Webbrowser auszuführen, muss also erst die komplette Java Class Library runtergeladen werden (ca. 40 MiB).

Auf der Demoseite kann man das ausprobieren und es funktioniert tadellos. Man kann sogar eigene *.jar Dateien hochladen und ausführen lassen. Da Java 8 ja auch mit "nashorn" eine eigene JS-Engine mitliefert, kann man in dieser Java VM, implementiert in JS, eben "nashorn" ausführen, um so JavaScript Code auszuführen...ok, also noch mal für langsame Gehirne: Webbrowser -> JS-Engine -> DoppioJVM -> Nashorn :). Verrückt :)!

Das akademische Paper beschreibt die Hintergründe.

Ich kann mir vorstellen, dass alte Software, die als Java Applet ausgelegt ist und genutzt werden muss, von diesem Projekt profitieren kann, da man sie in diesem Fall nicht großartig umbauen muss. Sie läuft quasi unverändert im Webbrowser. Die Hürde, dass man 40MB Java Class Library Daten runterladen muss, ist dann vielleicht nicht mehr so schlimm als die Software gar nicht mehr nutzen zu können. Java Applets sind in den meisten Webbrowsern geblockt, weil sie ein Sicherheitsrisiko darstellen. Inwieweit das eine praktische Lösung darstellt, kann ich nicht beurteilen, aber ich finde das Projekt sehr interessant.


Chrome 59 zeigt ungenutzten Code


Ich bin zwar kein großer Fan von Googles Chrome Webbrowser, aber in Version 59 zeigt es ungenutzten JavaScript und CSS Code in den Entwicklertools an. Das klingt erst mal super.


Coverage in Chrome 59

Probier es aus! Drücke nun F12. Dann Wechsel zum Tab "Sources" und wähle links im Dateibaum deine *.js oder *.css Datei aus. Klicke nun unten, wo "Sources" steht, auf das Hamburger-Menü (die drei Punkte). Dort kannst du "Coverage" auswählen. Ein zusätzliches Tab wird dir rechts neben "Sources" angezeigt. Klicke nun auf den "Aufnahme-Knopf", lade die Seite neu und drücke links auf den roten "Aufnahme-Knopf", um die Aufnahme zu stoppen. Im Editor, wo bereits deine *.js oder *.css Datei angezeigt wird, siehst du nun rechts neben den Zeilennummern einen Balken mit roter und grüner Farbe. Rot bedeutet, dass diese Zeilen nicht benutzt werden. Grün bedeutet, dass die Zeilen benutzt werden.

Man muss dieses Werkzeug aber vorsichtig einsetzen. Es analysiert immer nur die aktuell geladene Website. Wenn man zum Beispiel einen Teil der CSS-Datei nur im Impressum verwendet, würde das "coverage" Tool anzeigen, dass dieser Teil der CSS-Datei nie verwendet wird. Man muss also schon ein gewisses technisches Verständnis haben, aber hey...das hat man ja eh, wenn man sowas schon nutzt.


SVN bekommt Git Features


SVN oder auch Subversion ist für viele Programmierer keine Option mehr, wenn sie denn die Wahl haben. Es wirkt alt, langsam und mergen nervt bei SVN. Aber leider hat man manchmal keine Wahl und muss SVN benutzen. Und deswegen ist man umso erfreuter, wenn jemand dafür sorgt, dass Subversion modernisiert wird.

Julian Foad will SVN einen frischen Anstrich verleihen und ich bin sehr froh darüber. Aber was genau will er denn neu machen? In der Mailinglist verkündete er, dass er "shelving" und "checkpointing" implementieren möchte.

Shelving ist im Grunde das, was man bei Git als "stash" kennt. Man hat viele geänderten Dateien und will nun in einem anderen Branch arbeiten. Doch das, was man da an Änderungen hat, will man auch nicht committen. Also was tun? Als typischen SVN Workflow macht man mehrere Checkouts desselben Repository, so dass man flexibel bleibt. Bei Git hat man quasi nur einen "Checkout" und bleibt auch darin. Das ist bei SVN eher unüblich. Man kann zwar auch bei SVN die Branches switchen, aber das dauert sehr lange und deswegen hat man für jeden Branch einen eigenen Checkout. Und eben auch für "trunk" mehrere Checkouts, damit man eben nicht in die Situation kommt, dass man offene Änderungen hat, die man nicht committen will, aber bereits an was anderem arbeiten muss. Dann macht man meistens Patches, speichert die irgendwo und stellt sie irgendwann wieder her. Mit dem "Shelving" Feature entfällt dieser Arbeitsschritt zukünftig. Ich persönlich habe bei SVN für "trunk" immer nur einen Checkout. Wenn ich da offene Änderungen habe und ich muss an was anderem arbeiten, mache ich einen Patch. Ich habe aber auch für jeden Branch einen eigenen Checkout. Mit dem neuen "Shelving" Feature könnte ich vermutlich viel Zeit und einiges an Festplattenplatz sparen.

Checkpointing ist vergleichbar mit dem lokalen Branch in Git. Bei Git kann jeder Entwickler beliebig viele lokale Branches erzeugen und darin experimentierfreudig entwickeln. Das geht bei Subversion aktuell nicht. Branches müssen zuerst auf dem Server erstellt werden, damit ein Programmierer sie nutzen kann. Zudem ist ein Branch bei Subversion sehr "dick". Man macht quasi einen kompletten Checkout für einen Branch. Jemand, der Git nutzt, wird davon sehr irritiert sein. Lokale Branches würden bei SVN auch bedeuten, dass es ein Feature bekommt, welches es nur bei DVCS gibt. SVN selbst ist ja ein VCS.

Wenn man sich den Verlauf der Mailinglist anschaut, sind die Entwicklungen noch sehr "heiß" und alles andere als gefestigt. Trotzdem finde ich es gut, dass frischer Wind bei SVN herrscht. Das zusammen mit den Verbesserungen bei den "Tree Conflict" Problemen macht Subversion nur besser. Und ganz schlecht war es ja nie.


Ubuntu im Windows Store erhältlich


Man kann nun Ubuntu Linux auch im Windows Store finden und darüber installieren. Das ist aber nicht wirklich Ubuntu, sondern das, was man bereits als WSL kennt. Aber es ist minimal anders, denn wenn man Ubuntu über den Windows Store installiert, hat man quasi ein Windows Subsystem for Linux mit den ganzen Ubuntu Tools usw...wenn man bereits WSL aktiviert hat, ändert sich daran nichts. Dieses "Ubuntu" installiert sich "daneben". Microsoft plant demnächst auch SUSE und Fedora über den Store anzubieten. Man kann dann unter Windows das bekannte Tooling von Ubuntu, Fedora und SUSE nutzen und zwar parallel.

Man kann zwar auch GUI-Anwendungen via "xming" nutzen, aber das ist wohl nicht die angepeilte Zielgruppe. Man will vermutlich all die Webentwickler für sich gewinnen.

Mal davon abgesehen, dass man bei der Suche nach "Ubuntu" zuerst ein Spiel präsentiert bekommt, welches den Namen "Quantum Break" trägt...wieso? Keine Ahnung. Aber hat man nur ein reguläres Windows 10 Creators Update, kann man dieses Ubuntu nicht runterladen. Man wird aufgefordert dem Insider Programm beizutreten. Das bedeutet, dass man immer ein sehr ungetestetes Windows benutzen muss.

Nein, danke.


Podcast Folge 21


Wie versprochen der wöchentliche Podcast!

In der 21. Folge war ich, bedingt durch ein Sommerfest, etwas angeschlagen, aber letztendlich habe ich es doch irgendwie geschafft.

In dieser Folge also folgende Themen:

Viel Spaß mit dieser Folge!


Dart 2.0 und der Strong Mode


Dart erfindet sich wieder neu. Dart wird mit Version 2.0 ein neues Typsystem einführen. Bei diesem Typsystem, auch Strong Mode genannt, wird es erforderlich, dass der Programmierer sorgfältiger arbeitet. Der Dart Dev Compiler analysiert nun den Quellcode und gibt entsprechende Fehlermeldungen aus, wenn es welche gibt. Diese Vorabanalyse wird von Programmierern sehr geschätzt, da man so eventuelle Fehler schon früh erkennen kann, bevor man sie in das Produktionssystem bringt.

Diese Neuerung führt leider dazu, dass alter Dart Quellcode nicht mehr kompatibel sein kann. Man kann aber weiterhin Dart Code schreiben, der so wenig Typinformationen enthält, dass er auch vom Dart Dev Compiler als "gültig" betrachtet wird. Dart 2.0 verliert also nicht seine Dynamik, bietet aber nun etwas, womit man seinen Quellcode typsicherer konstruieren kann.


OmniPascal nun auch für Linux und macOS


OmniPascal ist eine Erweiterung für Visual Studio Code, mit der man Pascal Quellcode editieren kann. OmniPascal offeriert aber IDE-ähnliche Features, die beim Entwickeln von Pascal Programmen helfen können die Produktivität zu erhöhen.

OmniPascal gab es bisher nur für Windows. In Version 0.14.0 wurden nun auch macOS und Linux als unterstützte Plattformen hinzugefügt. Das macht auch Sinn, da Visual Studio Code ja auch diese Betriebssysteme unterstützt.

Wer weiterhin den typischen Delphi "Workflow" haben will, sollte sich unbedingt mal Lazarus anschauen. Das ist ein ziemlich exakter Nachbau der klassischen Delphi IDE.


Wildcard HTTPS mit Let's Encrypt ab 2018 möglich


Mit Let's Encrypt wurde eine Möglichkeit geschaffen, mit der wirklich jeder seine eigene Website mit "HTTPS" "sichern" kann, so dass die Kommunikation zwischen Client und Server "sicher" passiert. Simpel gesprochen bedeutet das, dass du auf einer Seite, die über HTTPS erreichbar ist, ungestört über Potenzprobleme lesen kannst, ohne dass dein Internet Service Provider das mitbekommt. Nicht, dass dein ISP sich dafür interessiert, aber wenn man diesen Gedanken weiter spinnt, so könnte man sich vorstellen, dass dein ISP gewisse Dinge speichert und den Krankenkassen zur Verfügung stellt. Oder aber all deine Suchanfragen zu Krankheitssymptomen werden potentiellen Arbeitgebern zur Verfügung gestellt. Beim nächsten Vorstellungsgespräch schaut man dich dann "komisch" an, weil du dich über Inkontinenzhilfsmittel informiert hast ;). Das klingt vielleicht total verrückt, aber in der heutigen Welt ist das nicht so unwahrscheinlich. Und nicht zu voreilig bei HTTPS-Seiten; diese Seiten können natürlich selbst Informationen verscherbeln/weitergeben; dafür reicht es in der Regel, wenn die Seiten Google Analytics oder was auch immer benutzen. HTTPS ist also nicht automatisch = sicher :). Aber ich will auch nicht zu sehr ins Detail gehen.

Mit Let's Encrypt kann nun aber wirklich jeder kostenlos seine Seite mit HTTPS "verbessern". Aktuell funktioniert das aber nur für einen konkreten Domainnamen wie zum Beispiel: "www.programmierer-nachrichten.de". Wenn ich "programmierer-nachrichten.de" auch mit HTTPS versehen möchte, müsste ich dafür ein weiteres Zertifikat beantragen. Da das bei Let's Encrypt nichts kostet, kann ich das einfach machen, aber es ist im Grunde unnötig. Viele Anbieter von Zertifikaten bieten ein Wildcard Zertifikat an. Damit kann ich alle Subdomains von "programmierer-nachrichten.de" mit HTTPS versehen. Also zum Beispiel: "www.programmierer-nachrichten.de" oder "foo.programmierer-nachrichten.de".

Ich persönlich bin zwar kein Fan von Subdomains dieser Art aber ich weiß, dass es viele Anwendungsfälle gibt, wo solch ein Feature sinnvoll ist. Let's Encrypt hat nun angekündigt dieses Feature Anfang 2018 anzubieten. Du kannst die Ankündigung hier nachlesen.

Let's Encrypt ist eine gute Sache! :)


OpenBSD macht deinen Kernel einzigartig


Theo de Raadt hat für OpenBSD etwas entwickelt, was den Kernel bei jedem Bootvorgang aus bestehenden Objektdateien (*.o) neu in zufälliger Reihenfolge "linked" oder auch "bindet". Dieses Vorgehen führt dazu, dass sich die Funktionen des Kernels immer an anderen Stellen im Speicher befinden. Der OpenBSD Kernel ist mit diesem simplen Mechanismus schwerer angreifbar.

Ein gewisser Teil des Kernels, das Systemeröffnungsprogramm (Bootstrap), muss weiterhin an der gleichen Stelle im Speicher sein, aber der ganze Rest danach kann zufällig angeordnet werden. Dafür musste Theo de Raadt einiges umbauen. Der Umbau führte auch dazu, dass aktuell "unhibernate" nicht mehr funktioniert. Theo de Raadt arbeitet aber bereits an einer Lösung dafür.

Theo de Raadt hat dieser "Technik" den Namen "KARL" gegeben. Das bedeutet "kernel address randomized link". Er hat dieses Feature zusammen mit Robert Peichaer entwickelt. Die Änderungen befinden sich aktuell im "-current" Branch und es ist zu erwarten, dass dieses Feature demnächst in einer der nächsten stabilen OpenBSD Versionen landen wird.

Wenn man dieses "-current" OpenBSD bootet, "linked" es den Kernel und startet mit diesem Kernel neu. Wenn das System bootet, erzeugt es bereits für den nächsten Bootvorgang einen neuen Kernel. Laut Theo de Raadt dauert das auf modernen Systemen weniger als 1 Sekunde. Er offeriert die Deaktivierung dieses Features, aber weist darauf hin, dass wir doch alle Sicherheit lieben und es sinnlos wäre das zu deaktivieren. Er vergleicht dieses Feature mit unserem Immunsystem. Unser Immunsystem funktioniert besser, wenn es einzigartig ist. Andernfalls könnte ein Flugpassagier aus Singapur mit einer neuartigen Grippe ganz Europa ausrotten. Er erwähnt, dass dieser Passagier lieber nach Washington reisen soll. Das soll dann wohl eine Kritik an Donald Trump sein.

Diese Art der Sicherheit hat Robert Peichaer auch bei "libc" und "libcrypto" implementiert. Diese beiden Bibliotheken sind häufiges Angriffsziel weswegen es auch dort Sinn macht.

Was man bei KARL vielleicht nicht mehr machen kann, ist die Checksumme des Kernel Abbilds zu verifizieren. Ich persönlich habe aber noch kein System benutzt oder gesehen, bei welchem die Checksumme des Kernel geprüft wurde. Es gibt zwar Windows Laptops, wo mit SecureBoot geprüft wird, ob der BootLoader die richtige Signatur hat, aber das war es dann auch schon. Bei OpenBSD wird aber tatsächlich beim Linken des neuen Kernel auch eine Checksum neu erzeugt. Wer aber schon in der Lage ist einen falschen Kernel in das System zu bringen, kann auch den Teil ändern, der die Checksumme erzeugt.

Theo de Raadt hatte KARL schon vor einigen Wochen angekündigt.


Gitter ist nun OpenSource


Gitter ist eine Chat Plattform, die GitHub Entwicklern die Kommunikation erleichtern soll. Gitlab, der momentante Eigentümer des Projekts, hat die Software hinter "gitter.im" nun unter die MIT Lizenz gestellt.

Gitlab selbst hat kommuniziert, dass sie damit beabsichtigen das Produkt auf gitter.im zu verbessern. Gitlab hat sich nicht als Ziel gesetzt, dass man "gitter" einfach und komfortabel auf seinem eigenen Server installieren kann.

Gitter ist im Grunde vergleichbar mit Slack. Und wie auch Slack gibt es bei Gitter die Möglichkeit sich mit einem ganz normalen IRC-Client zu verbinden.

Wie auch immer; es ist nun "OpenSource".


Podcast Folge 20.1 (Sonderfolge)


Heute präsentiere ich eine kurze Sonderfolge. Ich thematisiere hier "alte" Programmierer ab 40. Macht das noch Sinn? Lieber nicht? Doch lieber den jungen Kerl von der Uni oder Ausbildung? Festgefahrene Programmieransichten? Alte Technologie? Neue Technologie besser?

All das in diesen kurzen 20+ Minuten. Sonderfolge, weil es zu lang für den regulären Podcast gewesen wäre. Und so kannst du es auch besser ignorieren ;)! Viel Spaß!


Startseite Podcast RSS Archiv Impressum