Fryboyter

Googles FLoC auf fryboyter.de blockiert

Wenn es um das Tracking bei Werbung geht, kommen oft Third-Party-Cookies zum Einsatz. Was viele Nutzer nicht so gut finden. Daher hat sich Google überlegt diese abzuschaffen und hat sich als Alternative FloC (Federated Learning of Cohorts) ausgedacht.

Wie zu erwarten kommt es nicht gut an. Die EFF bezeichnet es als “schreckliche Idee”. Den Entwicklern des Browsers Vivaldi ist es ein “FloC off!” wert. Die Betreiber der Suchmaschine DuckDuckGo finden es auch nicht gut. Genauso wie die Leute die den Browser Brave entwickeln. Und vermutlich halten viele andere FloC für eine scheiß Idee.

Mir geht es genauso, zumal der Mist auch noch opt-out ist. Dies gilt auch für Webseitenbetreiber. Damit man nicht mitmacht, kann man den Header seiner Internetseite ändern so das bei jedem HTTP-REPLY Permissions-Policy „interest-cohort=()“ mitgegeben wird.

Wer seine Seite bei Uberspace.de hostet, hat es einfach. Hierfür genügt einfach sich bei SSH einzuloggen und den Befehl uberspace web header set / Permissions-Policy “interest-cohort=()" auszuführen. Nutzer anderer durchschnittlicher Webspaces können vermutlich oft nichts unternehmen bzw. sollten beim jeweiligen Anbieter den Support kontaktieren und hoffen das dieser positiv reagiert. Wer einen eigenen Webserver betreibt, sollte sich schlau machen wie man die Konfiguration seines Webservers entsprechend anpasst.

Allgemein

Installationsmedium von Arch Linux nun mit Installationstool

Früher gab es ein offizielles Installationstool für Arch Linux das, wenn ich mich recht erinnere, auf ncurses basierte. Der alleinige Entwickler dieses Tools ist dann irgendwann ausgestiegen. Und scheinbar hatte damals keiner der restlichen Entwickler von Arch Lust die Betreuung zu übernehmen.

Dies hatte zur Folge, dass der Installationsvorgang umgebaut wurde. Seit dem wird Arch Linux anhand diverser Befehle installiert. Für einige Nutzer ist dies zu kompliziert oder zu umständlich.

Für diese Leute gibt es nun eine gute Nachricht. Bereits seit einigen Monaten ist archinstall in den offiziellen Paketquellen vorhanden und ist nun auch Teil des offiziellen Installationsmedium (aktuell Version 2021.04.01) von Arch. Von nun an muss man nur noch die Iso-Datei booten, archinstall ausführen und einige Fragen beantworten. Danach sollte man eine funktionierende Installation von Arch auf dem Rechner haben.

Eine Installation, wie sie in der offiziellen Anleitung beschrieben wird, ist aber weiterhin möglich.

OSBN | Linux

Github mit Mercurial nutzen

Vor ein oder zwei Wochen habe ich mir eines meiner Git-Repository zerlegt. Da mich die Lösung viel Zeit, zu viele Nerven und zwei Commits gekostet hat, bin ich nun wieder bei Mercurial gelandet. Dieses Werkzeug mag zwar nicht so mächtig wie Git sein, die Fehlermeldungen sowie die Dokumentation sind meiner Meinung nach viel besser verständlich.

Allerdings will ich auch weiterhin Github aufgrund dessen weiter Verbreitung nutzen. Sei es nun um dort selbst etwas zu veröffentlichen oder um mich an Projekten Dritter zu beteiligen. Mercurial bietet hierfür ein Plugin, dass sich hg-git nennt. Damit kann man ein Git-Repository herunterladen und es wird lokal automatisch in ein Mercurial-Repository umgewandelt. Nimmt man nun Änderungen vor, werden diese dann vor dem Hochladen in ein Git-Repository so geändert, dass sie mit Git kompatibel sind. Die Einrichtung von hg-git ist zudem ziemlich einfach.

Ich gehe bei folgender Anleitung davon aus, dass sowohl Mercurial als auch python-dulwich auf dem Rechner installiert ist und das im Home-Verzeichnis das Verzeichnis Projekte existiert. Dem Verzeichnis kann man natürlich einen anderen Namen geben.

Zuerst wechselt man im Terminal Emulator seiner Wahl in das Verzeichnis Projekte und lädt dort die Dateien von hg-git herunter.

cd ~/Projekte
hg clone https://foss.heptapod.net/mercurial/hg-git hg-git

Alternativ kann man hg-git auch über die Paketverwaltung seiner Distribution installieren.

Als nächstes erweitert man die Datei .hgrc im Home-Verzeichnis um folgenden Inhalt. Falls die Datei noch nicht vorhanden ist, einfach anlegen und die drei Zeilen eintragen.

[extensions]
hgext.bookmarks =
hggit = ~/Projekte/hg-git/hggit

Zeile zwei aktiviert das Plugin Bookmarks das in diesem Fall Branches simuliert. Zeile drei aktiviert das eben heruntergeladene Plugin hg-git.

Im Verzeichnis Projekte laden wir nun mit folgendem Befehl ein Git-Repository herunter (die Github-Adresse sowie das Zielverzeichnis fryboyter.git bitte entsprechend an die eigenen Gegebenheiten anpassen).

hg clone git@github.com:Fryboyter/Hugo.git fryboyter.hg

Da hierbei von Git zu Merurial umgewandelt wird, kann dies je nach Größe des Repository etwas dauern.

Als nächstes wechselt man in das Verzeichnis in dem das nun erstellete Mercurial-Respository liegt. In diesem Beispiel also fryboyter.hg. Dort führt man abschließend noch den Befehl hg bookmark -f main aus. Anstelle von main muss man die Bezeichnung des Haupt-Branch angeben. Ansonsten erkennt Mercurial bei einem Push keine Änderungen.

Nun sollte alles funktionieren. Bei meinen Tests konnte ich zumindest problemlos von Github pullen und zu Github pushen. Mehr brauche ich in meinem Fall eigentlich auch nicht. Was mir bei der ganzen Aktion aufgefallen ist, dass das lokale Mercurial-Repository weniger als 30 MB groß ist. Das lokale Git-Repository hingegen belegt etwas mehr als 60 MB. Davon geht die Welt jetzt nicht unter aber es ist trotzdem ein interessantes Detail.

OSBN | Allgemein

Heptapod - Gitlab mit Unterstützung von Mercurial

Bei Heptapod handelt es sich um eine Plattform zur Versionsverwaltung ähnlich Github. Im Gegensatz zu Github basiert diese allerdings auf Gitlab und unterstützt dank der Entwickler auch Mercurial. Vor ein paar Jahren hatte ich bereits in einem Artikel, bei dem es um die Einstellung der Unterstützung von Mercurial bei Bitbucket ging, schon einmal auf Heptapod hingewiesen. Damals war die Plattform allerdings noch neu und unfertig.

Da ich vor ein paar Tagen mir ein Git-Repository zerschossen habe (Layer-8-Problem) und mich die Lösung viel Zeit und Nerven gekostet hat, habe ich mich mal wieder im Bereich der Versionsverwaltung Mercurial umgesehen. Heptapod gibt es immer noch und inzwischen ist es auch öffentlich nutzbar. Neben heptapod.host was hauptsächlich für Unternehmen gedacht ist, gibt es auch noch das kostenlose Angebot https://foss.heptapod.net/public das sich an FOSS-Projekt wendet.

Wer selbst hosten will, findet alle nötigen Informationen unter https://heptapod.net/pages/get-heptapod.html#get-heptapod.

Intern werde ich vermutlich wieder auf Mercurial wechseln. Git ist mir zu mächtig und zu kompliziert. Zudem finde ich die Dokumentation von Mercurial deutlich besser.

Aufgrund der weiten Verbreitung werde ich aber auch weiterhin Github nutzen, da es hierfür inzwischen funktionierende Lösungen gibt. Aber das ist ein Thema für einen weiteren Artikel.

OSBN | Allgemein

Raspberry Pi Images schrumpfen

Nehmen wir an, man hat einen Raspberry Pi mit einer SD-Karte mit 120 GB komplett eingerichtet und will ein Image erstellen um dies auf andere Raspberry Pi zu installieren. Die meisten Nutzer werden hierfür Befehle wie dd if=/dev/mmcblk0 of=/home/username/raspberry.img bs=4M nutzen. Das ist einfach. Hat allerdings einen Nachteil. Die Image-Datei ist 120 GB groß egal wie viel Speicherplatz tatsächlich genutzt wird. Auch wenn Speicherplatz nicht mehr sehr teuer ist verschwendet man diesen in dem Fall. Man müsste das Image also schrumpfen. Was manuell durchaus machbar ist. Oder man nutzt PiShrink.

Damit lassen sich mittels dd erstellt Image-Dateien auf die tatsächlich genutzte Größe schrumpfen. In meinem Fall hatte ursprünglich 120 GB große Image nur noch eine Größe von 13 GB. Hierfür reicht der einfach Befehl pishrink.sh rasberry.img aus.

Erstelle man nun mittels dd den Inhalt des geschrumpften Image auf eine andere SD-Karte und bootet von dieser, passen sich die Partitionen automatisch an die Größe der SD-Karte an, so dass der gesamte Speicherplatz zur Verfügung steht. Hierfür baut PiShrink einen entsprechenden Befehl in die Image-Datei ein.

OSBN | Linux