staging.inyokaproject.org

6. März 2022

Ich verwende in meinem Blog KaTeX (siehe hier) und cactus.chat (siehe hier), und beides für sich genommen funktioniert ganz gut. Ein Problem tritt dann auf, wenn KaTeX und cactus.chat gemeinsam verwendet werden.

Dann kann es passieren, dass KaTeX in dem <div>-Container von cactus.chat herumschreibt, was dazu führt, dass cactus.chat nur “Getting comments…” anzeigt, ohne diese jedoch wirklich zu laden und ohne die Chance, einen neuen Kommentar hinzuzufügen.

Die Lösung besteht darin zu verhindern, dass KaTeX den <div>-Container anfasst. Die lässt sich in 2 Schritten umsetzen…

1. cactus.chat einrahmen

Wir modifizieren /layouts/shortcodes/chat.html (siehe hier) und packen den cactus.chat-Abschnitt komplett in ein eigenes <div>:

# {{< highlight html "linenos=table,hl_lines=2 15,linenostart=1" >}}
<br>
<div class="no-katex-here">
<script type="text/javascript" src="https://latest.cactus.chat/cactus.js"></script>
<link rel="stylesheet" href="https://latest.cactus.chat/style.css" type="text/css">
<div id="comment-section"></div>
<script>
initComments({
  node: document.getElementById("comment-section"),
  defaultHomeserverUrl: "https://matrix.cactus.chat:8448",
  serverName: "cactus.chat",
  siteName: "YOUR-SITE-NAME",
  commentSectionId: "{{ index .Params 0 }}"
})
</script>
</div>
#{{< / highlight >}}

In Zeile 2 beginnt unser Container mit der Klasse "no-katex-here", und in Zeile 15 endet er.

2. KaTeX anpassen

Man kann KaTeX anweisen, bestimmte Bereiche der Seite nicht anzufassen. Dies erfolgt entweder über den Parameter ignoredTags oder ignoredClasses (siehe KaTeX-Docs). Da wir oben im Cactus-Shortcode den <div>-Container der Klasse "no-katex-here" zugewiesen haben, bedienen wir uns der letzteren Option und übergeben ignoredClasses:['no-katex-here'] beim Funktionsaufruf.

Dafür muss die Datei /layouts/partials/katex.html (siehe hier) entsprechend angepasst werden.

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css" integrity="sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ" crossorigin="anonymous">

<!-- The loading of KaTeX is deferred to speed up page rendering -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js" integrity="sha384-VQ8d8WVFw0yHhCk5E8I86oOhv48xLpnDZx5T9GogA/Y84DcCKWXDmSDfn13bzFZY" crossorigin="anonymous"></script>

<!-- To automatically render math in text elements, include the auto-render extension: -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous" onload="renderMathInElement(document.body,{ignoredClasses:['no-katex-here']});"></script>

<script>
    document.addEventListener("DOMContentLoaded", function() {
        renderMathInElement(document.body, {
            ignoredClasses:['no-katex-here'],
            delimiters: [
                {left: "$$", right: "$$", display: true},
                {left: "$", right: "$", display: false}
            ]      
        });
    });
</script>

In Zeile 7 und 12 haben wir den Funktionsaufruf um die Option ignoredClasses:['no-katex-here'] ergänzt.


Jetzt lässt KaTeX cactus.chat in Ruhe und beides funktioniert gemeinsam.




kommentiere per [matrix]:

Ich verwende in meinem Blog KaTeX (siehe hier) und cactus.chat (siehe hier), und beides für sich genommen funktioniert ganz gut. Ein Problem tritt dann auf, wenn KaTeX und cactus.chat gemeinsam verwendet werden.

Dann kann es passieren, dass KaTeX in dem <div>-Container von cactus.chat herumschreibt, was dazu führt, dass cactus.chat nur “Getting comments…” anzeigt, ohne diese jedoch wirklich zu laden und ohne die Chance, einen neuen Kommentar hinzuzufügen.

Die Lösung besteht darin zu verhindern, dass KaTeX den <div>-Container anfasst. Die lässt sich in 2 Schritten umsetzen…

1. cactus.chat einrahmen

Wir modifizieren /layouts/shortcodes/chat.html (siehe hier) und packen den cactus.chat-Abschnitt komplett in ein eigenes <div>:

# {{< highlight html "linenos=table,hl_lines=2 15,linenostart=1" >}}
<br>
<div class="no-katex-here">
<script type="text/javascript" src="https://latest.cactus.chat/cactus.js"></script>
<link rel="stylesheet" href="https://latest.cactus.chat/style.css" type="text/css">
<div id="comment-section"></div>
<script>
initComments({
  node: document.getElementById("comment-section"),
  defaultHomeserverUrl: "https://matrix.cactus.chat:8448",
  serverName: "cactus.chat",
  siteName: "YOUR-SITE-NAME",
  commentSectionId: "{{ index .Params 0 }}"
})
</script>
</div>
#{{< / highlight >}}

In Zeile 2 beginnt unser Container mit der Klasse "no-katex-here", und in Zeile 15 endet er.

2. KaTeX anpassen

Man kann KaTeX anweisen, bestimmte Bereiche der Seite nicht anzufassen. Dies erfolgt entweder über den Parameter ignoredTags oder ignoredClasses (siehe KaTeX-Docs). Da wir oben im Cactus-Shortcode den <div>-Container der Klasse "no-katex-here" zugewiesen haben, bedienen wir uns der letzteren Option und übergeben ignoredClasses:['no-katex-here'] beim Funktionsaufruf.

Dafür muss die Datei /layouts/partials/katex.html (siehe hier) entsprechend angepasst werden.

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css" integrity="sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ" crossorigin="anonymous">

<!-- The loading of KaTeX is deferred to speed up page rendering -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js" integrity="sha384-VQ8d8WVFw0yHhCk5E8I86oOhv48xLpnDZx5T9GogA/Y84DcCKWXDmSDfn13bzFZY" crossorigin="anonymous"></script>

<!-- To automatically render math in text elements, include the auto-render extension: -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous" onload="renderMathInElement(document.body,{ignoredClasses:['no-katex-here']});"></script>

<script>
    document.addEventListener("DOMContentLoaded", function() {
        renderMathInElement(document.body, {
            ignoredClasses:['no-katex-here'],
            delimiters: [
                {left: "$$", right: "$$", display: true},
                {left: "$", right: "$", display: false}
            ]      
        });
    });
</script>

In Zeile 7 und 12 haben wir den Funktionsaufruf um die Option ignoredClasses:['no-katex-here'] ergänzt.


Jetzt lässt KaTeX cactus.chat in Ruhe und beides funktioniert gemeinsam.




kommentiere per [matrix]:

5. März 2022

Die MZLA Technologies Corporation hat mit Thunderbird 91.6.2 ein Sicherheits-Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 91.6.2

Mit dem Update auf Thunderbird 91.6.2 hat die MZLA Technologies Corporation ein Update außer der Reihe für seinen Open Source E-Mail-Client veröffentlicht und behebt damit eben jene kritische Sicherheitslücken, die heute auch in Firefox 97.0.2 respektive Firefox ESR 91.6.1 behoben worden sind. Außerdem wurde noch das Problem behoben, dass temporäre Dateien aus geöffneten Dateianhängen mit zu hohen Berechtigungen gespeichert worden sind.

Der Beitrag Sicherheits-Update Thunderbird 91.6.2 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

Mozilla hat mit Firefox 97.0.2 ein wichtiges Sicherheits-Update für seinen Browser veröffentlicht. Dieses behebt zwei Sicherheitsprobleme, von denen bekannt ist, dass diese bereits ausgenutzt werden.

Mit dem Update auf Firefox 97.0.2 reagiert Mozilla innerhalb kürzerster Zeit nach Bekanntwerden auf zwei kritische Sicherheitslücken. Wie wichtig dieses Update ist, zeigt sich neben der untypischen Veröffentlichung eines Updates am Wochenende vor allem daran, dass noch ein Update für Firefox 97 veröffentlicht worden ist, obwohl bereits in drei Tagen Firefox 98 veröffentlicht werden wird. Nach Angaben von Mozilla liegen Berichte vor, nach denen beide Sicherheitslücken bereits aktiv ausgenutzt werden.

Auch Firefox ESR ist betroffen. Dort wurden die Sicherheitslücken mit dem Update auf Firefox ESR 91.6.1 behoben.

Der Beitrag Kritisches Sicherheits-Update: Mozilla veröffentlicht Firefox 97.0.2 erschien zuerst auf soeren-hentzschel.at.

3. März 2022

Do, 3. März 2022, Lioh Möller

Die kommende Version der openSUSE Leap Distribution 15.4 hat den Beta-Status erreicht. Interessierte Anwender werden gebeten, die nun vorliegende Version zu testen und mögliche Fehler zu berichten. Die finale Veröffentlichung ist für den 8. Juni 2022 geplant.

Im Gegensatz zu früheren Versionen der 15er-Serie bringt Version 15.4 eine Vielzahl von Aktualisierungen mit sich. So sind Qt 5, Plasma, GNOME, und Enlightenment in neueren Versionsständen enthalten. Aktuell arbeiten die Entwickler noch an einem vereinfachten Weg, um H.264 und gstreamer Plugins installieren zu können.

Darüber hinaus wird parallel zur Version 15.4 erstmals eine MicroOS Variante von Leap angeboten werden. Dabei handelt es sich um eine Immutable Linux-Distribution, ähnlich wie Fedora Silverblue. Eine erste installierbare Version, soll in Kürze zur Verfügung stehen.

Download: https://get.opensuse.org/testing/
Ankündigung: https://news.opensuse.org/2022/03/02/leap-reaches-beta-build-phase/

Meinem Blog fehlt noch eine Kommentarfunktion, und HUGO bietet mir mehrere Möglichkeiten, dieses Vorhaben umzusetzen.

Eine davon ist Cactus Chat, welche das Matrix-Protokoll verwendet um die Kommentare bereitzustellen. Da schlägt das Herz des Datenveganers höher!

1. Matrix-Account erstellen

Ihr benötigt also einen Matrix-Account, um Cactus verwenden zu können.

2. Cactus klarmachen

Für den Anfang könnt ihr den bereitgestellten öffentlichen Service nutzen, oder aber cactus selbst installieren und hosten.

Startet eine Unterhaltung mit @cactusbot:cactus.chat. Sobald beide im Raum sind setzt ihr folgenden Befehl als Chatnachtricht ab:

register YOUR-SITE-NAME

wobei YOUR-SITE-NAME ein eindeutiger Name sein muss (es geht hier aber nicht um eurer tatsächlichen Servernamen oder URL). Ich hab mal produnistest gewählt:

register produnistest

Der Bot wird eure Seite registrieren und euch in den Raum #comments_YOUR-SITE-NAME:cactus.chat einladen, in meinem Falle #comments_produnistest:cactus.chat. Dieser gilt als Haupt-Moderationsraum.

3. In HUGO einbinden

Im Ordner /layouts/shortcodes/ erzeugt ihr die Datei chat.html und gebt ihr folgenden Inhalt:

<br>
<script type="text/javascript" src="https://latest.cactus.chat/cactus.js"></script>
<link rel="stylesheet" href="https://latest.cactus.chat/style.css" type="text/css">
<div id="comment-section"></div>
<script>
initComments({
  node: document.getElementById("comment-section"),
  defaultHomeserverUrl: "https://matrix.cactus.chat:8448",
  serverName: "cactus.chat",
  siteName: "YOUR-SITE-NAME",
  commentSectionId: "{{ index .Params 0 }}"
})
</script>

wobei ihr YOUR-SITE-NAME entsprechend ersetzen müsst.

Dieser Shortcode kann nun innerhalb der Posts aufgerufen werden mittels:

   {{< chat RAUMNAME >}}

wobei RAUMNAME ein frei wählbarer Name ist. Wenn RAUMNAME in allen Posts gleich ist, steht unter jedem Post der selbe Chatverlauf. Es bietet sich daher an, für jeden Post einen eigenen Raum zu erstellen. Das geht ganz einfach. Sobald die Seite das erste mal aufgerufen wird (z.B. als Preview), erfolgt die Raumerstellung automatisch anhand der Angaben im Shortcode. Die Kommentarfunktion funktioniert dann bereits auch im Preview. Anschließend solltet ihr selbst mit eurem Matrix-Account dem Raum beitreten, sonst könnt ihr die Beiträge nicht moderieren. Hierbei folgt die Notation der Comment-Räume dem Schema:

    #comments_YOUR-SITE-NAME_RAUMNAME:cactus.chat

Also z.B.

    #comments_produnistest_testraum:cactus.chat

Das funktioniert hier direkt auf Anhieb. Im nächsten Schritt werde ich Peter mal darauf anfixen, Cactus selbst zu hosten.

Links




kommentiere per [matrix]:

Meinem Blog fehlt noch eine Kommentarfunktion, und HUGO bietet mir mehrere Möglichkeiten, dieses Vorhaben umzusetzen.

Eine davon ist Cactus Chat, welche das Matrix-Protokoll verwendet um die Kommentare bereitzustellen. Da schlägt das Herz des Datenveganers höher!

1. Matrix-Account erstellen

Ihr benötigt also einen Matrix-Account, um Cactus verwenden zu können.

2. Cactus klarmachen

Für den Anfang könnt ihr den bereitgestellten öffentlichen Service nutzen, oder aber cactus selbst installieren und hosten.

Startet eine Unterhaltung mit @cactusbot:cactus.chat. Sobald beide im Raum sind setzt ihr folgenden Befehl als Chatnachtricht ab:

register YOUR-SITE-NAME

wobei YOUR-SITE-NAME ein eindeutiger Name sein muss (es geht hier aber nicht um eurer tatsächlichen Servernamen oder URL). Ich hab mal produnistest gewählt:

register produnistest

Der Bot wird eure Seite registrieren und euch in den Raum #comments_YOUR-SITE-NAME:cactus.chat einladen, in meinem Falle #comments_produnistest:cactus.chat. Dieser gilt als Haupt-Moderationsraum.

3. In HUGO einbinden

Im Ordner /layouts/shortcodes/ erzeugt ihr die Datei chat.html und gebt ihr folgenden Inhalt:

<br>
<script type="text/javascript" src="https://latest.cactus.chat/cactus.js"></script>
<link rel="stylesheet" href="https://latest.cactus.chat/style.css" type="text/css">
<div id="comment-section"></div>
<script>
initComments({
  node: document.getElementById("comment-section"),
  defaultHomeserverUrl: "https://matrix.cactus.chat:8448",
  serverName: "cactus.chat",
  siteName: "YOUR-SITE-NAME",
  commentSectionId: "{{ index .Params 0 }}"
})
</script>

wobei ihr YOUR-SITE-NAME entsprechend ersetzen müsst.

Dieser Shortcode kann nun innerhalb der Posts aufgerufen werden mittels:

   {{< chat RAUMNAME >}}

wobei RAUMNAME ein frei wählbarer Name ist. Wenn RAUMNAME in allen Posts gleich ist, steht unter jedem Post der selbe Chatverlauf. Es bietet sich daher an, für jeden Post einen eigenen Raum zu erstellen. Das geht ganz einfach. Sobald die Seite das erste mal aufgerufen wird (z.B. als Preview), erfolgt die Raumerstellung automatisch anhand der Angaben im Shortcode. Die Kommentarfunktion funktioniert dann bereits auch im Preview. Anschließend solltet ihr selbst mit eurem Matrix-Account dem Raum beitreten, sonst könnt ihr die Beiträge nicht moderieren. Hierbei folgt die Notation der Comment-Räume dem Schema:

    #comments_YOUR-SITE-NAME_RAUMNAME:cactus.chat

Also z.B.

    #comments_produnistest_testraum:cactus.chat

Das funktioniert hier direkt auf Anhieb. Im nächsten Schritt werde ich Peter mal darauf anfixen, Cactus selbst zu hosten.

Links




kommentiere per [matrix]:

2. März 2022

Mi, 2. März 2022, Ralf Hersel

Das Gaming Handheld SteamDeck wird mit einer neuen Version von SteamOS ausgeliefert, einer speziellen Linux-Distribution für Spielegeräte, an der Valve und Collabora seit mehreren Jahren gemeinsam arbeiten. SteamOS 3 basiert auf Arch Linux, einer Rolling-Release-Distribution, die die neueste Mesa-Version für Open-Source-Grafikbeschleunigung enthält und die auf Debian basierende Version SteamOS 2 ablöst, die für das frühere Steam Machine-Projekt verwendet wurde. SteamOS 3 ist noch nicht als eigenständige Distribution verfügbar, soll es aber in Kürze sein.


Ein Handheld-Gerät benötigt ein solides Update-Framework, daher bestand einer der wichtigsten Beiträge von Collabora zu SteamOS 3 darin, nahtlose System-Updates zu implementieren. Mit dem neuen "A/B"-Design gibt es jetzt zwei Betriebssystempartitionen mit zwei verschiedenen Versionen von SteamOS. Bei einem Upgrade wird ein neues Betriebssystem-Image auf die Partition geschrieben, die gerade nicht in Gebrauch ist, bevor das System neu gestartet wird. Ein spezielles Bootloader-Modul wählt dann automatisch das neuere Betriebssystem aus und bootet es. Wenn das Upgrade erfolgreich war, kann man das neue Betriebssystem weiter verwenden, und die vorherige Systempartition wird für das nächste Upgrade eingesetzt. Wenn die aktualisierte Version nicht erfolgreich bootet, fällt der Bootloader automatisch auf die vorherige Systempartition zurück.

Für Ihre Nicht-Gaming-Bedürfnisse ist auf dem Gerät KDE Plasma Desktop vorinstalliert, sodass man das Deck für Desktop-Aufgaben verwenden und vorhandenen Peripheriegeräte über den USB-C-Anschluss nutzen kann.

Bei normaler Nutzung ist die aktive Betriebssystempartition schreibgeschützt, um das Steam Deck so robust wie möglich zu machen. Im Gegensatz zu den meisten Spielekonsolen handelt es sich jedoch um ein vollständig offenes Gerät, das in einen Entwicklermodus umgeschaltet werden kann, in dem die Betriebssystempartition schreib- und lesbar ist und verändert werden kann. Der Paketmanager "pacman" von Arch Linux ist für die Verwendung im Entwicklermodus verfügbar.

Quelle: https://www.collabora.com/news-and-blog/news-and-events/portable-linux-gaming-with-the-steam-deck.html

1. März 2022

Mozilla wird in Kürze das Mozilla VPN in weiteren Ländern starten und damit in insgesamt 17 Ländern zur Verfügung stehen.

Mit dem Mozilla VPN bietet Mozilla in Zusammenarbeit mit Mullvad sein eigenes Virtual Private Network an und verspricht neben einer sehr einfachen Bedienung eine durch das moderne und schlanke WireGuard-Protokoll schnelle Performance, Sicherheit sowie Privatsphäre: Weder werden Nutzungsdaten geloggt noch mit einer externen Analysefirma zusammengearbeitet, um Nutzungsprofile zu erstellen.

Jetzt Mozilla VPN nutzen

Start in weiteren Ländern

Neben Deutschland, Österreich und der Schweiz steht das Mozilla VPN auch in Belgien, Italien, Irland, Frankreich, Kanada, Malaysia, Neuseeland, den Niederlanden, Singapur, Spanien, dem Vereinigten Königreich sowie den Vereinigten Staaten von Amerika zur Verfügung.

Beginnend mit dem 8. März expandiert Mozilla nach Schweden und nach Finnland, womit das Mozilla VPN dann in insgesamt 17 Ländern angeboten wird.

Der Beitrag Mozilla VPN startet in weiteren Ländern erschien zuerst auf soeren-hentzschel.at.

Di, 1. März 2022, Norbert Rüthers

Mit Freude habe ich heute erfahren das die Armbian-Gemeinschaft die allgemeine Verfügbarkeit von Armbian 22.02 als neueste stabile Version des Debian- und Ubuntu-basierten Betriebssystems für ARM-Geräte angekündigt hat. In dieser Version wird nun erstmals auch der Raspberry Pi unterstützt.

Bisher wurde, warum auch immer, kein einziger Raspberry unterstützt. Ich habe immer vermutet das man bei Armbian davon ausgegangen ist, dass der Raspberry ohnehin genug Unterstützung erhält, was wohl auch stimmt. Dies kann man von anderen Plattformen leider nicht behaupten, die oft schnell die Unterstützung seitens der Maintainer verlieren.

Sechs Monate nach Armbian 21.08 wird also nun mit Armbian 22.02 die erste Unterstützung für Raspberry Pi Geräte eingeführt. Das Raspberry Pi 4 Model B Board wird derzeit mit 64-Bit-Builds unterstützt, die die Kernel 5.15 LTS und 5.16 der Raspberry Pi Foundation sowie das Flash-Kernel-Tool von Debian verwenden.

Während die Unterstützung für den Raspberry Pi noch als "Work in Progress" gekennzeichnet ist, scheint es, dass die Community von Erfolgen bei der Ausführung von Armbian auf verschiedenen 64-Bit Raspberry Pi Boards berichtet, einschließlich des älteren Raspberry Pi 3 Model B und Raspberry Pi CM3 und CM4.

Aber die Arbeit an der Raspberry Pi Portierung ist noch lange nicht abgeschlossen, und die Armbian-Entwickler brauchen Ihre Hilfe, um die Community mit einer voll funktionsfähigen Portierung zu versorgen. Im Moment könnt ihr helfen, indem ihr die offiziellen Raspberry Pi-Images herunterladet (Link) und diese testet. Die Images  basieren auf Ubuntu 20.04 LTS (Focal Fossa) (nur CLI) sowie auf Ubuntu
Ob es auch schon wie bei anderen SBCs möglich ist das Image selbst zu kompilieren und damit weitere Anpassungen zu ermöglichen konnte ich noch nicht testen. Einen älteren Beitrag mit der Vorstellung von Armbian findet ihr hier

Zur Projektseite geht es hier

28. Februar 2022

Kurz notiert: Rust ist in Version 1.59 erschienen. Die spannendste Neuerung ist hierbei aus meiner Sicht die Unterstützung für Inline-Assembly-Instructions. Dabei lassen sich innerhalb von Rust-Quellcodedateien Assembly-Instructions übergeben, die so in das Kompilat übernommen werden können. Dies ist immer dann nötig, wenn bestimmte Spezialbefehle benötigt werden, welche der Compiler nicht standardmäßig ausgibt.

Manuelle Assembler-Programmierung wird bei den meisten Programmen nicht benötigt. Beispiele sind eher vor allem in der Embedded-Programmierung zu finden, wo meist direkt Interrupts konfiguriert werden, die wiederum in vielen Architekturen über spezielle Operationen eingestellt werden können. Aber auch der Einsatz von SIMD benötigt spezielle Befehle. Dies ist besonders für Bibliotheken hilfreich, die Daten parallel verarbeiten.

Klassischerweise können die Assembler-Module in .S-Dateien geschrieben werden, welche dann, ähnlich wie C-Dateien, zu .o-Objektdateien assembliert resp. übersetzt werden. Verschiedene Objektdateien, welche auch aus unterschiedlichen Programmiersprachen stammen können, lassen sich dann zu einem Programm linken. Die Option von Assembler-Sektionen innerhalb einer höheren Programmiersprache vereinfacht den Umgang allerdings deutlich. So bietet auch GNU GCC für C ein spezielles asm-Keyword an, mit dem direkt Assembler-Befehle übergeben werden können. Mehr Informationen diesbezüglich bietet die GCC-Doku.

Das Rust By Example-Handbuch bietet eine eigenen neue Sektion zur Inline Assembly mit Beispielen an. Es lässt sich erkennen, dass es einige Parallelen zum C-Äquivalent gibt, obgleich die Syntax Unterschiede aufweist. Es ist möglich, ähnlich wie bei format-Strings, Zusatzinformationen zu Variablen und Registern zu übergeben. Dabei sollte jedoch bedacht werden, dass für den asm-Code natürlich keine strenge Typsicherheit gelten kann und der Einsatz nur innerhalb von unsafe-Blöcken möglich ist.

Weitere Änderungen in der neuen Rust-Version beziehen sich auf destructuring assignments und const generics-Standards und Verschachtelungen. Die destructuring assignments können bei der Lesbarkeit helfen, da mehrere Werte auf der rechten Seite mehreren Variablen auf der linken Seite in einem Statement zugewiesen werden können. Ähnliches ist man auch schon im Python mit dem Unpacking gewohnt.

Alles in allem aus meiner Sicht ein sehr spannender Release, der besonders die Entwickler von Bibliotheken freuen wird, da weitere Optimierungsmöglichkeiten komfortabler zur Verfügung stehen.

Mo, 28. Februar 2022, Christian Imhorst

Ausser GNU/Linux gibt es noch weitere freie Betriebssysteme. Eins davon ist FreeDOS, das in diesen Tagen in Version 1.3 erschienen ist.

Blinky ist weder Fisch noch Wal und das etwas komisch guckende Maskottchen von FreeDOS. © FreeDOS Project (CC-BY-2.5)

Doch was ist DOS überhaupt und warum ist es heute noch von Bedeutung? Die Wurzeln von DOS liegen zwar in Betriebssystemen der Mainframes der 1960er Jahre. Es erreichte allerdings einen grösseren Bekanntheitsgrad, als in den 1980er Jahren die damals noch junge Firma Microsoft QDOS, Kurzform für „Quick and Dirty Operating System“, von Tim Patterson kaufte und daraus MS-DOS machte. MS-DOS wurde schliesslich mit den damals Massenmarkt tauglichen IBM-PCs ausgeliefert.


Im April 1994 erschien mit MS-DOS 6.22 die letzte eigenständige Version für PCs. Zu der Zeit war es das dominierende Betriebssystem für Einzelplatzrechner. Noch im selben Jahr hatte Jim Hall, damals Physik-Student an der Universität von Wisconsin, FreeDOS ins Leben gerufen, das heute aktiv, wenn auch langsam, als eine freie und kompatible Alternative zu MS-DOS unter der GPL 2.0 Lizenz entwickelt wird. Interessant dazu sind auch Jims Vorträge auf der Kielux zu Geschichte und Anspruch von FreeDOS, zeitgemäße Erweiterungen und Anpassungen an DOS vorzunehmen und dabei trotzdem mit MS-DOS kompatibel zu bleiben. Er hatte damals schon GNU/Linux installiert und war von den GNU-Programmen begeistert, weshalb er sich fragte: Wenn es eine Gruppe von Entwicklerinnen und Entwicklern schafft, etwas Komplexes wie Unix nachzuprogrammieren, indem sie einfach über das Internet zusammenarbeiten, warum sollte das nicht mit einem vergleichsweise simplen Betriebssystem wie DOS funktionieren?

Dass es funktioniert hat, sieht man in diesen Tagen, denn zum ersten Mal seit sechs Jahren hat FreeDOS ein grösseres Update erhalten, das es von Version 1.2 auf 1.3 bringt. Wer FreeDOS einmal virtuell zum Beispiel mit QEMU oder auf dem alten PC, der noch auf dem Dachboden verstaubt, ausprobieren möchte, benötigen eine Festplatte mit 20 MB Speicher für die Installation eines „einfachen DOS-Systems“ oder etwa 275 MB für eine „vollständige Installation mit Anwendungen und Spielen“ darunter auch viele GNU-Anwendungen, aber auch FreeDOOM und Vim. Weitere optionale Pakete befinden sich auf einer BonusCD, die man noch zusätzlich von der Webseite des Projekts herunterladen kann.

Doch wozu braucht man noch so alte Betriebssysteme? Mit der Informatik, besonders mit Software ist es Menschen gelungen, Mittel und Methoden zur Formalisierung und Automatisierung geistiger Tätigkeiten zu erzeugen. Programme, die in der DOS-Ära Handlungssysteme ersetzt oder modifiziert haben, können als Artefakte durch FreeDOS noch heute weiter verwendet werden. So trägt FreeDOS zum Erhalt eines technischen Teils der Menschheitsgeschichte bei, indem es dafür sorgt, dass Hard- oder Software, die mit einem modernen Betriebssystem nicht mehr funktioniert, immer noch lauffähig ist. Niemand braucht heute mehr VisiCalc, das erste Tabellenkalkulationsprogramm für PCs. Aber zu sehen, wie es einmal funktioniert hat, hält unsere Computergeschichte lebendig.

Ausser extreme Puristinnen oder Autoren von Fantasy-Romanen wie George R. R. Martin würde heute vermutlich niemand mit einem DOS arbeiten wollen, um Dokumente zu schreiben, Tabellen zu erstellen oder E-Mails zu bearbeiten. Dafür ist FreeDOS auch nicht gedacht. FreeDOS soll kein Paralleluniversum sein, in dem Microsoft Windows nie erfunden und weiter auf MS-DOS gesetzt hätte. FreeDOS hat aber genug Anhängerinnen und Anhänger, von der Spielerin klassischer Spiele wie Doom, Descent oder Duke Nukem über den Programmierer für veraltete Schnittstellen und Hardware, bis zur Elektroingenieurin, die sich mit Embedded-Plattformen beschäftigt, um eine Nische auszufüllen. Nicht zu vergessen wissenschaftliche Bibliotheken und Archive, die ihren Nutzerinnen und Nutzern Information von Disketten und CDs mit alten proprietären Programmen und Datenformaten bereitstellen müssen, von denen der Hersteller heute nicht mehr existiert oder das Produkt aufgeben hat. Aber auch kleine Unternehmen brauchen die Steuerung alter Fräsen in der Holzwerkstatt oder das Kassensystem nicht auszutauschen. Man kann sich im Unternehmens- oder im privaten Bereich den Upgrade-Stress sparen und diese Systeme mit einem freien Betriebssystem wie FreeDOS weiter betreiben. In diesem Bereich hat FreeDOS vielleicht eine Zukunft, um dorthin zu gehen, wo noch kein DOS zuvor gewesen ist.

27. Februar 2022

Das finnische Unternehmen Jolla geriet 2015 in massive finanzielle Schwierigkeiten und wurde maßgeblich durch eine enge Kooperation mit russischen (Staats-)Unternehmen gerettet. Wie geht es da jetzt eigentlich angesichts massiver Sanktionen gegen Russland weiter? Nur Fragen, keine Antworten.

Ich hatte mich in diesem Blog in zwei Artikeln mit der nicht sehr transparenten Finanzierungsstruktur hinter Jolla befasst:

Ein der wenigen offiziell von Jolla bekannt gegebenen Investoren war Rostelecom. Eben jener Konzern steht neben vielen anderen auf einer US-Sanktionsliste, nachdem Russland seinen völkerrechtswidrigen Angriffskrieg gegen die Ukraine vom Zaun gebrochen hat. Interessant dürften ebenfalls die Beschränkungen zum Technologieexport nach Russland sein, wobei mir nicht klar ist, ob Smartphone-Betriebssysteme darunter fallen. Wobei auch unabhängig davon die engen Wirtschaftsbeziehungen zwischen Jolla und dem russischen Staat problematisch werden dürften angesichts der Sanktionen. Schließlich war die Kooperation mit Russland und die Verwendung der angepassten Sailfish-Version Aurora OS ein wichtiges Standbein für Jolla.

Ich bin gespannt ob und wenn ja wann wir offiziell etwas von Jolla dazu hören.

Der Artikel Wie geht es eigentlich weiter mit Jolla? erschien zuerst auf [Mer]Curius

Der Kern von Android ist freie Software, aber dieser Kern hat keinen App Store. Die meisten Anwender von Aftermarket-Systemen wie LineageOS oder GrapheneOS nutzen daher F-Droid, um Open Source-Apps zu beziehen. Das ist nicht unproblematisch, aber leider alternativlos.

Via Linuxnews erreichte mich heute dieser sehr lesenswerte Artikel zu den problematischen Implikationen von F-Droid für die Sicherheit von Android. Der Autor nennt einige substanzielle Probleme von F-Droid, die ich im Folgenden knapp zusammenfassen möchte. Für die ausführliche Darstellung bitte den Artikel lesen.

  • Die Probleme beginnen schon bei den Signaturen der Apps, da F-Droid alle Apps mit seinen eigenen Keys signiert. Das untergräbt den sonst verfolgten Ansatz, dass Entwickler ihre Apps selbst signieren und der Anwender dem Vertriebskanal nicht vertrauen muss.
  • Die Apps bei F-Droid müssen frei von proprietären Bibliotheken sein und unterscheiden sich deshalb von den Varianten der gleichen App, die auf anderen Wegen bezogen werden können.
  • Die Qualitätskontrollen von F-Droid sind praktisch wertlos. Ein offener Quellcode bedeutet nicht, dass die Überprüfung leicht ist.
  • Updates werden mit teils starker Verzögerung verteilt.
  • F-Droid hinkt beim API-Level hinterher, für den Apps gebaut werden, was wiederrum negativ für die Sicherheit sein kann.
  • Mehrere Repositorien in einer einzigen App widersprechen dem Android-Sicherheitsprinzip.
  • Die neue API in Android für automatische Hintergrundaktualisierungen von Apps ohne Root-Privilegien wird mit F-Droid nicht funktionieren bzw. nur mit einem „schmutzigen“ Hack.
  • Viele kleinere Probleme, die der Autor als „mangelnde gute Praxis“ beschreibt wie z. B. fehlendes Zeritfikat-Pinning oder ganz allgemein, dass Änderungen bei F-Droid erst nachvollzogen werden, wenn sie dazu durch Änderungen in der Android-Basis gezwungen werden und nicht wenn diese bereits ratsam sind.

Einige dieser Probleme wie die Updateverzögerung, die fehlende tiefgreifende Überprüfung von Anwendungen oder die Signaturproblematik könnte man auch auf Linux-Distribution übertragen, ebenso den oft unbegründete Konnex von Open Source und Sicherheit. Das ist keineswegs ein Problem, das auf Android oder F-Droid beschränkt wäre. Andere Probleme wie das fehlende tiefergehende Verständnis für Sicherheit und laxe Praktiken kann man auch bei anderen Projekten im AOSP-Umfeld wie LineageOS, XDA & Co beobachten und wurde von mir bereits mehrfach kritisiert. Ein Grund, weshalb ich inzwischen GrapheneOS nutze.

Der Autor empfiehlt als sichere Alternative den Play Store. So mancher mag da aufschreien, aber das ist eben einer dieser Bereiche, bei denen sich Datenschutz und Sicherheit in die Quere kommen. Was für die Sicherheit geboten wäre, muss nicht zwangsläufig gut für den Datenschutz sein. Deshalb finde ich persönlich den Artikel zwar interessant und bedenkenswert, aber werde trotzdem vorerst weiter an F-Droid festhalten, denn mein GrapheneOS ist frei von Play Diensten und Play Store und es gibt aktuell keinen anderen App Store außer F-Droid.

Mittelfristig interessant könnte der „App Store“ werden, den die GrapheneOS-Entwickler in der Pipeline haben.

Hier bleibt aber abzuwarten, was der alles enthalten wird und ob das ausreicht, um auf F-Droid zu verzichten.

Der Artikel F-Droid untergräbt die Sicherheit von Android erschien zuerst auf [Mer]Curius

26. Februar 2022

Es gibt viele Distributionen, aber nur wenige Distributionen mit langfristigem Support. Doch auch zwischen diesen Distributionen gibt es erhebliche Unterschiede. Der Versuch einer kleinen Einordnung.

Natürlich können Anwender genau die Distribution verwenden, die sie bevorzugen. Das kann ein Rolling Release sein oder eine Distribution mit nur kurzer Laufzeit wie Fedora oder Mageia. Die meisten Anwender machen sich aber meiner Erfahrung nach nicht so viel aus Updates, wollen über mehrere Jahre in Ruhe ihre Systeme nutzen und bekommen neue Funktionen lieber mit einem großen Schwung. Das betrifft nicht exklusiv Linux-Anwender, sondern ich erlebe das auch bei macOS-Nutzern und Windows 10-Anwendern, wo meist erst mit deutlicher Verzögerung und kurz vor Supportende einer jeweiligen Version aktualisiert wird. Das mögen nicht mehr die 10 Jahre von früher sein, aber häufiger als alle 2-3 Jahre möchten die meisten Anwender keine umstürzenden Aktualisierungen. Sie arbeiten schließlich mit den Systemen und nicht an den Systemen.

Die hier getroffenen Abwägungen haben einen Fokus auf den Sicherheitsaspekt. Wer ideologische Gesichtspunkte höher gewichtet, kann durchaus zu anderen Ergebnissen zu kommen. Grundsätzlich respektiere ich es, wenn einem dieser Aspekt nicht so wichtig ist, da Linux gegenwärtig keinem großen Schadsoftwaredruck ausgesetzt ist und längerfristig offene Sicherheitslücken mit hoher Wahrscheinlichkeit keine direkten nachteiligen Auswirkungen auf den normalen Anwender haben. Vermutlich könnte man sogar mit einer seit Längerem abgekündigten Version ohne jegliche Sicherheitsupdates noch einige Zeit problemlos auch im Internet unterwegs sein. Doch wenn man Sicherheit ernst nimmt, dann auch konsequent.

Ich habe 2015 im freien magazin mal einen Artikel zu LTS-Distributionen für den Linux-Desktop geschrieben, der die Grundlage für den hiesigen Schwerpunkt-Bereich zu Linux wurde. Erstaunlich wenig hat sich in dem Bereich seitdem getan. Allerdings würde ich das heute teilweise anders bewerten. Da aufgrund meiner Debian-Serie mich einige gefragt haben, möchte ich das hier kurz einordnen.

Folgende Reihenfolge sehe ich bei den LTS-Distributionen. Die wesentlichen Vor- und Nachteile habe ich mal aufgelistet.

1. Red Hat Enterprise Linux & Klone

Wer gerne mit der GNOME Shell arbeitet, sollte sich RHEL oder einen der freien Klone wie Alma Linux genauer ansehen. Für diese Enterprise-Distribution gibt es keine andere Desktopumgebung, deshalb ist diese Einschränkung die maßgebliche erste Abwägung, die jeder Anwender treffen muss.

Red Hat beschäftigt wohl die meisten Entwickler im Linux- und GNOME-Umfeld in einer Firma. Die Entwicklungen aus der Red Hat-Schmiede sind heute überwiegend die Quasi-Standards im Linux-Segment. Nach einem ausführlichen Test in Fedora landen diese immer in RHEL.

RHEL bietet für Anwender einige substanzielle Vorteile:

  • RHEL folgt mit Verzögerung direkt der Upstream-Entwicklung und die Wahrscheinlichkeit, in Entwicklungssackgassen zu geraten, wie dies oft bei Canonicals Eigenentwicklungen der Fall ist, sind äußerst gering. RHEL ist deshalb für seine Anwender sehr nachhaltig. Red Hat ist ebenso in der Position, in entscheidenden Momenten Einfluss auf die GNOME-Entwicklung zu nehmen, um Enterprise-Tauglichkeit herzustellen. Das hat man in der Vergangenheit beim Classic-Mode gesehen, der genau dann kam, als der Wechsel von GNOME 2 zu GNOME Shell in RHEL anstand.
  • Red Hat besitzt die Leistungsfähigkeit, um Sicherheitsprobleme schnell und konsequent zu beheben. Das gilt sowohl für die versionsstabil gehaltenen Bestandteile wie den Linux-Kernel, aber auch für die variableren Bestandteile, bei denen Red Hat durchaus mal pragmatisch Versionen anhebt, um die hohe Qualität für den Anwender zu gewährleisten.
  • Keine andere Distribution setzt das Sicherheitsframework SELinux so konsequent ein wie RHEL.

Der Einsatz von RHEL hat aber zwei substanzielle Nachteile:

  • Der Fokus liegt eindeutig auf dem Servereinsatz. Der Kernel ist daher einige Zeit nach dem Release veraltet und unterstützt moderne Desktop-Hardware unzureichend.
  • Die Paketauswahl ist auf einen klassischen Office-Desktop beschränkt und beinhaltet meist nur sehr wenige Softwarelösungen und nicht die komplette FOSS-Bandbreite. Viele Anwender setzen daher auf Drittanbieter wie EPEL mit den üblichen Folgen für die Sicherheit, da diese Drittanbieterquellen nicht im gleichen Maße gepflegt werden.

2. openSUSE Leap

Bevorzugt man einen anderen Desktop als die GNOME Shell, wäre openSUSE Leap eine Alternative. Die stabile openSUSE-Variante unterstützt alle verbreiteten Linux-Desktopumgebungen auf einer stabilen SUSE Linux Enterprise-Basis. SLE selbst bietet eigentlich nur GNOME und deshalb eigentlich keine Vorteile gegenüber RHEL und taucht deshalb nicht als eigener Eintrag in diesem Artikel auf.

Der Einsatz von openSUSE Leap hat für den Anwender gegenüber RHEL substanzielle Vorteile:

  • Die SLE-Basis wird sehr gut gepflegt und Sicherheitsaktualisierungen kommen zeitnah und umfassend.
  • Durch das leistungsfähige Entwicklerteam werden auch Bugs in der SLE-Basis sehr konsequent behoben.
  • Das openSUSE-Projekt trifft keine ideologischen Entscheidungen – weder konzeptionell noch während des Betriebs.
  • Die Paketauswahl ist deutlich größer als bei RHEL und umfasst die übliche Mainstream-Software im FOSS-Bereich.

Allerdings gibt es auch Nachteile:

  • Die Qualität der Pflege fällt von der SLE-Basis zu den Bestandteilen ab, die das openSUSE-Projekt beisteuert.
  • Der Umfang der Aktualisierungen bei den jährlichen Minor-Versionen ist schwer vorherzusagen und damit nicht gut planbar.
  • Neue Hauptversionen folgen den SLE-Hauptversionen und für diese gibt es keine langfristige Roadmap.

3. Ubuntu

Bei Ubuntu muss man differenzieren zwischen der Kerndistribution Ubuntu und den Derivaten. Die Derivate halte ich für keine empfehlenswerte LTS-Distribution, wenn der Fokus auf Sicherheit liegt, da es für diese kein Sicherheitsversprechen gibt, sondern alle Pakete in universe liegen und durch die jeweiligen Communitys höchst unterschiedlich intensiv gepflegt werden.

Wenn man aber die Hauptvariante nutzt und primär Pakete aus main nutzt, dann ist Ubuntu eine sehr gut gepflegte Distribution. Es gibt substanzielle Vorteile:

  • Planbare Releasezyklen und ein Supportversprechen für 5 Jahre ohne die Pflicht jährliche Minoraktualisierungen wie bei RHEL oder openSUSE Leap vornehmen zu müssen.
  • Halbjährlich aktuelle Kernel- und Grafikstackversionen ermöglichen den Einsatz moderner Hardware.

Folgende Nachteile gibt es:

  • Die Universe-Paketquelle ist bei Desktopinstallationen standardmäßig aktiviert. Anwender müssen hier genau prüfen, welche Pakete sie aus welcher Quelle installieren und ob es für diese Support gibt. Die beliebte Oberfläche Synaptic zeigt dies aber praktisch mit kleinen Icons an.
  • Universe ist ungepflegt und teilweise in einem extrem schlechten Zustand. Mit wachsendem zeitlichen Abstand zum Releasedatum der LTS verstärkt sich dieses Problem.
  • Canonical bzw. Ubuntu entwickeln gerne eigene Lösungen, die vom Linux (RHEL) Mainstream abweichen. Es gab in der Vergangenheit deshalb häufiger starke Brüche, bei denen Anwender sehr plötzlich mit Entwicklungen konfrontiert wurden, die bei RHEL oder openSUSE längerfristig vorbereitet wurden.

4. Debian

Kaum überraschend kommt Debian bei mir tatsächlich als letzte Distribution. Debian hat den Vorzug – im Gegensatz zu den drei oben genannten Distributionen – von keiner Firma entwickelt zu werden oder direkt von einer Firma abhängig zu sein. Damit kommt es dem FOSS-Gedanken sehr nahe, ebenso mit der konsequenten Thematisierung unfreier Bestandteile.

Es gibt durchaus Vorteile von Debian die für den Einsatz sprechen:

  • Debian ist sehr nachhaltig. Es gibt immer einen Upgradepfad und Anwender bleiben von tiefgreifenden Umbrüchen verschont.
  • Der Umfang der Paketquellen ist unübertroffen. Die direkte Notwendigkeit unsichere Fremdquellen einzubinden ist selten gegeben.

Inzwischen gibt es aber auch viele substanzielle Nachteile:

  • Die Software in den Paketquellen ist unterschiedlich gut gepflegt. In einigen Bereichen werden über viele Jahre veraltete Versionen mitgeschleppt.
  • Das Supportversprechen ist für einige Pakete über die Release Notes eingeschränkt, was sich faktisch auf weitere Pakete, die diese nutzen, auswirkt und nicht transparent gemacht wird.
  • Versionsstabilität oder Reproduzierbarkeit von Builds wird im Zweifel höher als die zeitnahe Verteilung von Sicherheitsupdates gewichtet.
  • Backports sind von Supportversprechen ausgenommen.

Der Artikel Welche Linux LTS Distribution wählen? erschien zuerst auf [Mer]Curius

23. Februar 2022

Mozilla hat Version 2.7 seiner VPN-Clients für das Mozilla VPN veröffentlicht. Dieser Artikel beschreibt die Neuerungen vom Mozilla VPN 2.7.

Mit dem Mozilla VPN bietet Mozilla in Zusammenarbeit mit Mullvad sein eigenes Virtual Private Network an und verspricht neben einer sehr einfachen Bedienung eine durch das moderne und schlanke WireGuard-Protokoll schnelle Performance, Sicherheit sowie Privatsphäre: Weder werden Nutzungsdaten geloggt noch mit einer externen Analysefirma zusammengearbeitet, um Nutzungsprofile zu erstellen.

Jetzt Mozilla VPN nutzen

Die Neuerungen vom Mozilla VPN 2.7

Multi-Hop für Android und iOS

Standardmäßig leitet das Mozilla VPN den Datenverkehr über einen Server an einem Standort. Mit dem Multi-Hop-Feature kann der Verkehr seit dem Mozilla VPN 2.5 von einem Standort über einen anderen Standort geleitet werden, quasi ein VPN nach dem VPN. Dieses Feature stand bislang nur unter Windows, MacOS und Linux zur Verfügung. Mit dem Mozilla VPN 2.7 bekommen auch Android und iOS die Möglichkeit zum Multi-Hop.

Mozilla VPN 2.7

Nach Updates suchen

Updates für das Mozilla VPN konnten bisher dann installiert werden, wenn das Mozilla VPN mitgeteilt hat, dass es ein Update gibt. Eine neue Schaltfläche im Info-Dialog erlaubt jetzt die manuelle Suche nach Updates.

Mozilla VPN 2.7

Sonstige Neuerungen

Dazu kommen diverse Fehlerbehebungen und Verbesserungen unter der Haube, die sich auf GitHub nachvollziehen lassen. Das Mozilla VPN 2.7.1 für Windows beinhaltet außerdem noch die Behebung einer Sicherheitslücke.

Der Beitrag Mozilla VPN 2.7 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

PeerTube 4.1 das Opensource Videoportal ist veröffentlicht worden.

 

Das ist an sich eine sehr tolle Nachricht. Auch dass manche Funktionen standardmäßig ausgeschaltet werden können. Wie zum Beispiel das P2P Protokoll, das die Bandbreitenlast vom anbietenden Server zwischen den KonsumentInnen aufteilen kann.

 

Was an sich eine sehr solidarische Funktion ist, ist im Gegenzug natürlich auch ein Privatsphärenproblem. Darüber sollten wir anfangen eine gesellschaftliche Diskussion zu führen, ohne dass die großen Konzerne in Altherren und -damen Manier “hörthört” grunzen.

 

Zuallererst sei vorangestellt: Privatssphäre ist wichtig! Aber darauf folgt ein sehr dickes ABER. Viele der extremen PrivatsphärenverferchterInnen blockieren mit ihrem Verhalten eine Ausbreitung des Schutzes der Privatsphäre!

 

Die Zwei Finanzierungs-Aspekte leiten mich zu dieser Aussage

  1. Die Person die Geld investiert, um diesen Service zur Verfügung zu stellen
  2. Die Person, die die Inhalte zur Verfügung stellt.

 

Wir alle haben es gerne und dankend angenommen, dass “Internet” und alle damit zusammengehörigen Dienste für die Allgemeinheit wenig bis gar nichts kostet (kostenlos). Dafür haben Konzerne neue Wege gefunden “kostenlos” so gewinnbringend zu vermarkten, dass selbst die Hölle vor Neid erblasst.

 

Übersetzt heißt das “kostenlos gewinnbringend": wir bezahlen dafür.

 

Wir bezahlen dafür vielleicht nicht direkt mit Geld, aber indirekt schon mit Geld. Es gibt genügend Beispiele die das beweisen (Schufa, Cambridge Analytica, uvm).

 

Dienste die von irgendjemand bereit gestellt werden kosten Geld. Ob diese Dienste ein laufendes System sind, oder ob diese Dienste Ergebnisse von Recherchen, oder Zusammenfassungen sind, die uns interessieren. Wir haben ein Interesse solche Dienste in Anspruch zu nehmen und es wäre extrem egozentrisch, sich auf den Standpunkt zu stellen, dass man einen kostenlosen Anspruch darauf hätte!

 

Im Gegenzug darf man sich aber auch nicht beschweren, wenn bei ausbleibendem Support der Anbieter sich eine Finanzierungsquelle sucht. Egal ob es um die Erhaltung des Dienstes, oder eine Gewinnerzielungsabsicht trägt. Eine Diskussion darum ist eine reine Neiddebatte, die es nicht gäbe, wenn wir so einen Dienst überhaupt nicht wollten.

 

Daher mein Aufruf an alle PrivatspährennutzerInnen: Wenn ihr Dienste in Anspruch nehmt, die die Privatspähre schützen wollen, dann sehr euch auch in der Pflicht etwas dafür zu tun. Das heißt nicht immer Geld. Aber das heisst IMMER bezahlen.

Das umschließt auch die sogenannten Datenkraken, bei denen ebenso von ContentanbieterInnen konsumiert wird. Dort ist das Zahlungsmittel Likes, Abos und vor allem Kommentare. Der Algorithmus ist das Transaktionssystem!

 

Wenn ihr als PrivatspährennutzerInnen also den Menschen nicht schaden wollt, die für euch wichtige oder interessanten Dienste oder Content zur Verfügung stellen, dann seid fair und beraubt sie nicht, um das finanzielle Fundament, dass das erst möglich macht!

 

#FairShare

Hier der Link zur Veröffentlichung: https://joinpeertube.org/en_US/news#release-4.1

 

 

 

22. Februar 2022

Di, 22. Februar 2022, Lioh Möller

Nach über zwei Jahren Entwicklungszeit konnte Tomas Matejicek eine neue Version der Live-Distribution Slax veröffentlichen.

Ursprünglich basierte Slax, wie der Name nahelegen kann, auf Slackware. 2017 entschied sich der Entwickler jedoch auf Debian GNU/Linux als Basis zu wechseln.

Slax ist primär zur Nutzung als Live-System geeignet, unterscheidet sich jedoch von vielen anderen Distribution dadurch, dass mittels aufs eine Persistenz realisiert wurde.

Letzteres erwies sich bei der Portierung auf die aktuelle Debian 11 Version (Codename Bullseye) allerdings als grössere Hürde, da Debian standardmässig nur noch overlayfs unterstützt.

Erste Versuche mit overlayfs zeigten jedoch, dass ich damit nicht ohne weiteres der von Slax gewohnte Komfort, wie das automatische Applizieren von Änderungen, realisieren lies.

Dies bewog Tomas dazu einen eigenen angepassten Kernel mit aufs Unterstützung zu verwenden.

Darüber hinaus wird Chromium nicht mehr standardmässig ausgeliefert, lässt sich allerdings weiterhin mit wenigen Klicks installieren.

Zur Netzwerkverwaltung kommt neu connman statt wicd zum Einsatz und scite ist der Standard-Texteditor.

Changelog: https://www.slax.org/changelog.php

Di, 22. Februar 2022, Lioh Möller

Die Slackware Distribution unterstützt schon seit einiger Zeit die Installation auf EFI-basierten Systemen mithilfe des Installationsprogramms. Die Einrichtung einer verschlüsselten Partition ist allerdings eine manuelle Vorbereitung notwendig.

Nach dem Start von dem Installationsmedium in UEFI-Modus sollte zunächst das Tastaturlayout definiert werden.


In der Konsole kann daraufhin die Festplatte partitioniert werden. Im Folgenden gehen wir davon aus, dass die gesamte Festplatte für die Slackware Installation zur Verfügung steht.

Zur Erstellung des Partitionslayouts kann cfdisk verwendet werden, welches initial mit der Option -z gestartet werden sollte. Die Device-Nodes müssen dabei an die lokalen Gegebenheiten angepasst werden.

cfdisk -z /dev/sda

Als Partitionslabel sollte gpt gewählt werden.

Zunächst wird eine unverschlüsselte EFI Boot-Partition mit einer empfohlenen Grösse von 512MB erstellt.

Im verbleibenden Speicherplatz wird eine Partition des Typs Linux LVM angelegt.

Nach dem Speichern der Änderungen kann cfdisk verlassen werden.

Nun erfolgt die eigentliche LUKS-Einrichtung.

Zunächst wird die Partition entsprechend formatiert. Während des Systemstarts wird standardmässig das US-Tastaturlayout verwendet. Daher sollte zu diesem Zeitpunkt ein Passwort verwendet werden, welches auch mit diesem Layout gut zu nutzen ist.

Alternativ kann eine angepasste initrd mithilfe von mkinitrd und der Angabe des Parameters -l KeyboardLayout erstellt werden. Beispiel -l sg-latin1 für Schweizerdeutsch.

cryptsetup luksFormat /dev/sda2

Dies muss durch die Eingabe von YES bestätigt werden

Daraufhin lässt sich das Volumen wie folgt öffnen:

cryptsetup open /dev/sda2 slackware

In diesem können nun die Logical Volumes erstellt werden. Üblicherweise wird dort zunächst ein Physical Volume definiert.

pvcreate /dev/mapper/slackware

Daraufhin kann eine Volume Group angelegt werden:

vgcreate slackwarevg /dev/mapper/slackware

In dieser lassen sich die eigentlichen Logical Volumes erstellen. Dabei wird in diesem Beispiel eine SWAP Partition von 4G Grösse angelegt und der verbleibende Speicherplatz als Root-Partition genutzt:

lvcreate -L 4G slackwarevg -n swap
lvcreate -l 100%FREE slackwarevg -n root


Mit mkswap kann der SWAP Speicher aktiviert werden und mittels mkfs.ext4 das Root-Logical-Volume formatiert werden.

mkswap -L swap /dev/mapper/slackwarevg-swap
mkfs.ext4 /dev/mapper/slackwarvg-root

Abschliessen kann die eigentliche Installation von Slackware mithilfe des setup Befehls gestartet werden.

Es ist dabei wichtig zu beachten, dass das richtige Volumen als Root Partition ausgewählt wird (/dev/mapper/slackwarevg-root) und elilo statt lilo installiert wird.

Offizielle Anleitung: http://ftp.riken.jp/Linux/slackware/slackware-15.0/README_CRYPT.TXT

übersetzt die wichtigsten -Mathe-Notationen in HTML. Es ist dabei schneller als MathJax, hat im Gegenzug aber noch nicht (sooooo) viele Notationen umgesetzt wie der Platzhirsch. Zudem unterscheidet sich die Anwendung in Blogdown und HUGO.

KaTeX in HUGO einbinden

In meinem Themeordner erstelle ich die Datei /MEINTHEME/layouts/partials/katex.html und gebe ihr folgenden Inhalt:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css" integrity="sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ" crossorigin="anonymous">

<!-- The loading of KaTeX is deferred to speed up page rendering -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js" integrity="sha384-VQ8d8WVFw0yHhCk5E8I86oOhv48xLpnDZx5T9GogA/Y84DcCKWXDmSDfn13bzFZY" crossorigin="anonymous"></script>

<!-- To automatically render math in text elements, include the auto-render extension: -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>

<script>
    document.addEventListener("DOMContentLoaded", function() {
        renderMathInElement(document.body, {
            delimiters: [
                {left: "$$", right: "$$", display: true},
                {left: "$", right: "$", display: false}
            ]
        });
    });
</script>

Ihr solltet nachschauen, ob die Version 0.15.2 immer noch die aktuellste ist und ggfs. die Zeilen entsprechend anpassen.

In der Datei /MEINTHEME/layouts/partials/head.html ergänze ich:

 {{ if .Params.math }}{{ partial "katex.html" . }}{{ end }}

Wenn ich später in Blogdown bei einem Post im Meta-Kopf folgenden Paramter setze:

 math: true

…dann wird KaTeX geladen und kann verwendet werden. Die Informationen hierzu hab ich in Mert Bakirs Blog gefunden.


Beispiele

Die Anwendung unterscheidet sich, je nachdem, ob .md, .Rmarkdown oder .Rmd-Files verwendet werden.



.md

In einfachen Markdowndokumenten funktioniert die Inline-Verwendung mittels Dollarzeichen:

 Dies ist ein Text mit $E=m\cdot c^2$ 

Das ergibt:

Dies ist ein Text mit

Das funktioniert auch mit Sonderzeichen:

 Wir verwenden $\LaTeX \rightarrow \KaTeX$ und das klappt ganz gut

Das ergibt:

Wir verwenden und das klappt ganz gut

Mathe-Umgebungen werden mit zwei Dollarzeichen eingerahmt:

$$
E=m\cdot c^2
$$ 

Das ergibt:

Mit dem align-Environment werden die Formelzeilen automatisch am rechten Rand durchnummeriert. Environments müssen nicht per Dollarzeichen eingeführt werden sondern funktioniert direkt im Text :

Dies ist eine Formel

\begin{align}
E=m\cdot c^2
\end{align}

und ich finde sie gut

Das ergibt:

Dies ist eine Formel \begin{align} E=mc^2 \end{align} und ich finde sie gut

So funktioniert auch das equation-Environment direkt im Text:

Einstein hat mal gesagt:

\begin{equation}
E=m\cdot c^2
\end{equation}

und ich glaube, er hatte Recht

Das ergibt:

Einstein hat mal gesagt:

\begin{equation} E=mc^2 \end{equation}

und ich glaube, er hatte Recht

Eine Übersicht aller unterstützer Environments findet ihr hier.



.Rmarkdown

In .Rmarkdown-Files ist die Notation leicht anders. So müssen bei der Inline-Verwendung die Dollarzeichen mittels Backslash auskommentiert werden:

 Dies ist ein Text mit \$a^2 + b^2 = c^2\$ 

Das ergibt:

Dies ist ein Text mit

Das gilt auch für alle Sonderzeichen:

 Wir verwenden \$\\LaTeX \\rightarrow \\KaTeX\$ und das klappt ganz gut

Das ergibt:

Wir verwenden und das klappt ganz gut

Mathe-Umgebungen werden wie gewohnt mit zwei Dollarzeichen eingerahmt.

$$
a^2 + b^2 = c^2
$$ 

Das ergibt:

Auch hier müssen die Backslashs von Sonderzeichen auskommentiert werden:

$$
\\LaTeX \\rightarrow \\LaTeX
$$ 

Das ergibt:

In .Rmarkdown-Files müssen bei allen Environments und Sonderzeichen die \ von \begin{} und \end{} auskommentiert werden, damit sie direkt im Text funktionieren. Für das align-Environment sieht das dann so aus:

Irgendwas mit Dreiecken
\\begin{align}
a^2 + b^2 = c^2
\\end{align}
Was war das noch?

Das ergibt:

Irgendwas mit Dreiecken \begin{align} a^2 + b^2 = c^2 \end{align} Was war das noch?


Genau so funktioniert auch das equation-Environment:

Pythagoras hat mal gesagt:

\\begin{equation}
a^2 + b^2 = c^2
\\end{equation}

und ich glaube, er hatte Recht

Das ergibt:

Pythagoras hat mal gesagt:

\begin{equation} a^2 + b^2 = c^2 \end{equation}

und ich glaube, er hatte Recht

Eine Übersicht aller unterstützer Environments findet ihr hier.



.Rmd

In .Rmd-Dokumenten funktioniert die Inline-Verwendung wieder mittels Dollarzeichen:

 Dies ist ein Text mit $\Reals \backsim 2^\N$ 

Das ergibt:

Dies ist ein Text mit

Das funktioniert auch mit Sonderzeichen:

 Wir verwenden $\LaTeX \rightarrow \KaTeX$ und das klappt ganz gut

Das ergibt:

Wir verwenden und das klappt ganz gut

Mathe-Umgebungen werden mit zwei Dollarzeichen eingerahmt:

$$
\Reals \backsim 2^\N
$$ 

Das ergibt:

Mit dem align-Environment werden die Formelzeilen automatisch am rechten Rand durchnummeriert. Environments müssen nicht mit Dollarzeichen eingerahmt werden, sondern funktionieren direkt im Text:

Was war das noch für eine Formel
\begin{align}
\Reals \backsim 2^\N
\end{align}
Und was bedeutet sie?

Das ergibt:

Was war das noch für eine Formel \begin{align} \mathbb{R} \backsim 2^N \end{align} Und was bedeutet sie?

Das equation-Environment funktioniert genau so:

Cantor hat mal gesagt:

\begin{equation}
\Reals \backsim 2^\N
\end{equation}

und ich glaube, er hatte Recht

Das ergibt:

Cantor hat mal gesagt: und ich glaube, er hatte Recht

Eine Übersicht aller unterstützer Environments findet ihr hier.



Allgemein

Zeilenumbrüche funktionieren per \newline, aber nicht mit \\:

\begin{align}
 E &= m \cdot c^2 \newline
 a^2 + b^2 &= c^2 \newline
 \Reals &\backsim 2^\N
\end{align}

Das ergibt:

Das Prozentzeichen muss mit zwei Backslashs auskommentiert werden:

$$
14\\% + 15\\% = 29\\%
$$

Das ergibt:

Links

übersetzt die wichtigsten -Mathe-Notationen in HTML. Es ist dabei schneller als MathJax, hat im Gegenzug aber noch nicht (sooooo) viele Notationen umgesetzt wie der Platzhirsch. Zudem unterscheidet sich die Anwendung in Blogdown und HUGO.

KaTeX in HUGO einbinden

In meinem Themeordner erstelle ich die Datei /MEINTHEME/layouts/partials/katex.html und gebe ihr folgenden Inhalt:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css" integrity="sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ" crossorigin="anonymous">

<!-- The loading of KaTeX is deferred to speed up page rendering -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js" integrity="sha384-VQ8d8WVFw0yHhCk5E8I86oOhv48xLpnDZx5T9GogA/Y84DcCKWXDmSDfn13bzFZY" crossorigin="anonymous"></script>

<!-- To automatically render math in text elements, include the auto-render extension: -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>

<script>
    document.addEventListener("DOMContentLoaded", function() {
        renderMathInElement(document.body, {
            delimiters: [
                {left: "$$", right: "$$", display: true},
                {left: "$", right: "$", display: false}
            ]
        });
    });
</script>

Ihr solltet nachschauen, ob die Version 0.15.2 immer noch die aktuellste ist und ggfs. die Zeilen entsprechend anpassen.

In der Datei /MEINTHEME/layouts/partials/head.html ergänze ich:

 {{ if .Params.math }}{{ partial "katex.html" . }}{{ end }}

Wenn ich später in Blogdown bei einem Post im Meta-Kopf folgenden Paramter setze:

 math: true

…dann wird KaTeX geladen und kann verwendet werden. Die Informationen hierzu hab ich in Mert Bakirs Blog gefunden.


Beispiele

Die Anwendung unterscheidet sich, je nachdem, ob .md, .Rmarkdown oder .Rmd-Files verwendet werden.



.md

In einfachen Markdowndokumenten funktioniert die Inline-Verwendung mittels Dollarzeichen:

 Dies ist ein Text mit $E=m\cdot c^2$ 

Das ergibt:

Dies ist ein Text mit

Das funktioniert auch mit Sonderzeichen:

 Wir verwenden $\LaTeX \rightarrow \KaTeX$ und das klappt ganz gut

Das ergibt:

Wir verwenden und das klappt ganz gut

Mathe-Umgebungen werden mit zwei Dollarzeichen eingerahmt:

$$
E=m\cdot c^2
$$ 

Das ergibt:

Mit dem align-Environment werden die Formelzeilen automatisch am rechten Rand durchnummeriert. Environments müssen nicht per Dollarzeichen eingeführt werden sondern funktioniert direkt im Text :

Dies ist eine Formel

\begin{align}
E=m\cdot c^2
\end{align}

und ich finde sie gut

Das ergibt:

Dies ist eine Formel \begin{align} E=mc^2 \end{align} und ich finde sie gut

So funktioniert auch das equation-Environment direkt im Text:

Einstein hat mal gesagt:

\begin{equation}
E=m\cdot c^2
\end{equation}

und ich glaube, er hatte Recht

Das ergibt:

Einstein hat mal gesagt:

\begin{equation} E=mc^2 \end{equation}

und ich glaube, er hatte Recht

Eine Übersicht aller unterstützer Environments findet ihr hier.



.Rmarkdown

In .Rmarkdown-Files ist die Notation leicht anders. So müssen bei der Inline-Verwendung die Dollarzeichen mittels Backslash auskommentiert werden:

 Dies ist ein Text mit \$a^2 + b^2 = c^2\$ 

Das ergibt:

Dies ist ein Text mit

Das gilt auch für alle Sonderzeichen:

 Wir verwenden \$\\LaTeX \\rightarrow \\KaTeX\$ und das klappt ganz gut

Das ergibt:

Wir verwenden und das klappt ganz gut

Mathe-Umgebungen werden wie gewohnt mit zwei Dollarzeichen eingerahmt.

$$
a^2 + b^2 = c^2
$$ 

Das ergibt:

Auch hier müssen die Backslashs von Sonderzeichen auskommentiert werden:

$$
\\LaTeX \\rightarrow \\LaTeX
$$ 

Das ergibt:

In .Rmarkdown-Files müssen bei allen Environments und Sonderzeichen die \ von \begin{} und \end{} auskommentiert werden, damit sie direkt im Text funktionieren. Für das align-Environment sieht das dann so aus:

Irgendwas mit Dreiecken
\\begin{align}
a^2 + b^2 = c^2
\\end{align}
Was war das noch?

Das ergibt:

Irgendwas mit Dreiecken \begin{align} a^2 + b^2 = c^2 \end{align} Was war das noch?


Genau so funktioniert auch das equation-Environment:

Pythagoras hat mal gesagt:

\\begin{equation}
a^2 + b^2 = c^2
\\end{equation}

und ich glaube, er hatte Recht

Das ergibt:

Pythagoras hat mal gesagt:

\begin{equation} a^2 + b^2 = c^2 \end{equation}

und ich glaube, er hatte Recht

Eine Übersicht aller unterstützer Environments findet ihr hier.



.Rmd

In .Rmd-Dokumenten funktioniert die Inline-Verwendung wieder mittels Dollarzeichen:

 Dies ist ein Text mit $\Reals \backsim 2^\N$ 

Das ergibt:

Dies ist ein Text mit

Das funktioniert auch mit Sonderzeichen:

 Wir verwenden $\LaTeX \rightarrow \KaTeX$ und das klappt ganz gut

Das ergibt:

Wir verwenden und das klappt ganz gut

Mathe-Umgebungen werden mit zwei Dollarzeichen eingerahmt:

$$
\Reals \backsim 2^\N
$$ 

Das ergibt:

Mit dem align-Environment werden die Formelzeilen automatisch am rechten Rand durchnummeriert. Environments müssen nicht mit Dollarzeichen eingerahmt werden, sondern funktionieren direkt im Text:

Was war das noch für eine Formel
\begin{align}
\Reals \backsim 2^\N
\end{align}
Und was bedeutet sie?

Das ergibt:

Was war das noch für eine Formel \begin{align} \mathbb{R} \backsim 2^N \end{align} Und was bedeutet sie?

Das equation-Environment funktioniert genau so:

Cantor hat mal gesagt:

\begin{equation}
\Reals \backsim 2^\N
\end{equation}

und ich glaube, er hatte Recht

Das ergibt:

Cantor hat mal gesagt: und ich glaube, er hatte Recht

Eine Übersicht aller unterstützer Environments findet ihr hier.



Allgemein

Zeilenumbrüche funktionieren per \newline, aber nicht mit \\:

\begin{align}
 E &= m \cdot c^2 \newline
 a^2 + b^2 &= c^2 \newline
 \Reals &\backsim 2^\N
\end{align}

Das ergibt:

Das Prozentzeichen muss mit zwei Backslashs auskommentiert werden:

$$
14\\% + 15\\% = 29\\%
$$

Das ergibt:

Links

21. Februar 2022

Die MZLA Technologies Corporation hat mit Thunderbird 91.6.1 ein Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 91.6.1

Mit dem Update auf Thunderbird 91.6.1 hat die MZLA Technologies Corporation ein Update außer der Reihe für seinen Open Source E-Mail-Client veröffentlicht und behebt damit mehrere Fehler der Vorgängerversion. Diese lassen sich in den Release Notes (engl.) nachlesen. Dies schließt auch eine geschlossene Sicherheitslücke ein.

Der Beitrag Thunderbird 91.6.1 veröffentlicht erschien zuerst auf soeren-hentzschel.at.