Mit dem Release 26.04 LTS hat Canonical den minimalen Arbeitsspeicher für Ubuntu um 50 Prozent angehoben.
Normale Ansicht
Ubuntu setzt jetzt mehr RAM voraus als Windows 11
JSON Alexander: Syntax-Highlighting und Baumdarstellung im Browser
OpenAI: Positionspapier zur Zukunft mit KI empfiehlt 32-Stunden-Woche
OpenAI hat ein Papier veröffentlicht, dass sich als Grundlage für eine Diskussion darüber versteht, wie die Menschen ihre Zukunft gestalten wollen, wenn eine starke KI realisiert sein wird.
Podcast Besser Wissen: Wie der PDP 1 die Welt veränderte
Google veröffentlicht KI-Diktier-App für iOS
Google hat eine App veröffentlicht, die unter iOS auch offline Diktate aufnimmt und mit KI verbessert, indem sie beispielsweise Füllwörter oder Ahs und Ohs automatisch entfernt.
Dawarich ersetzt die Google Timeline
Erinnerungen führen uns zurück in erlebte Situationen. Google dokumentiert unsere bewegten Erinnerungen in seiner Tikmeline. Mit Dawarich gelingt das auch ohne Google und es gibt sogar einen Mehrwert obendrauf.
Rauschen im Office-Wald
ONLYOFFICE beklagt Lizenzverletzung durch Euro-Office. Die Document Foundation zankt sich mit Collabora über Meritokratie. Und wir halten eine Recherche zurück.


Ubuntu 26.04 erhöht Mindestempfehlung beim RAM
Fast alle bekannten Linux-Distributionen geben 4 GB RAM als Hardwarevoraussetzung an. Canonical erhöht diesen Wert für Ubuntu 26.04 auf 6 GB und liegt damit höher als Windows 11.
-
OSB Alliance
- Cyber Resilience Act und Open Source: Umsetzung entscheidet über sichere digitale Infrastrukturen
Cyber Resilience Act und Open Source: Umsetzung entscheidet über sichere digitale Infrastrukturen
Rund 96 Prozent aller Softwareprodukte enthalten Open-Source-Komponenten, Open Source ist damit ein unverzichtbarer Treiber der IT-Industrie und der gesamten Wirtschaft. Entsprechend zentral ist die Sicherheit von Open-Source-Lösungen für die Funktionsfähigkeit von Unternehmen und der Verwaltung.
Debian reagiert vorsichtig auf mögliche Altersprüfungen
Debian untersucht derzeit die Folgen neuer Altersprüfgesetze. Projektleiter Andreas Tille erklärt, dass noch keine Position feststeht. Das Team wartet auf juristische Einschätzungen. Im aktuellen Bericht des Debian Projektleiters geht es vor allem um die Frage, ob Betriebssysteme künftig altersbezogene Daten an Anwendungen liefern müssen. Mehrere Open Source Projekte sprechen darüber und die nichtkommerzielle Organisation „Software […]
Der Beitrag Debian reagiert vorsichtig auf mögliche Altersprüfungen erschien zuerst auf fosstopia.
How we celebrate "I Love Free Software Day" in Poznań, Poland
How we celebrate "I Love Free Software Day" in Poznań, Poland
Not so long ago, the Free Software community celebrated the "I Love Free Software Day". A day in which the FSFE, our volunteers and many other organisations and individuals thank all contributors for their commitment to use, study, share and improve Free Software. Without them there is no software freedom!
For the "I Love Free Software Day" in 2026, 22 events were organised across 12 European countries. Several of them were organised by the FSFE's local groups. At these celebrations people came together to share their knowledge and stories about Free Software, discuss and inspire others to study, use, improve and share the software we all love. Each of these celebrations is unique and showcases the commitment of our community, from local gatherings with pizza and fun Free Software games to larger events addressing new people with talks and networking.
The biggest "I Love Free Software" event in our 2026 celebrations took place in Poznań (Poland) with around 80 participants. The event was organised by the local FSFE group with the collaboration of their local university. Here, they were allowed to use a lecture hall for presentations and they also had some time to network afterwards.
One of the main organisers of the event was Paweł Wiczyński, also known as ‘pomidor’. Paweł, is a founding member of Knyfyrtel Poznan Hackerspace, and he has been a Free Software enthusiast for a very long time. The first time he got in touch with Free Software was when he was very young, just about 10 years old. At that age he heard about GNU/Linux, a Free Software alternative to Windows, and tried it out on his computer. From there onwards he has been hooked and learned more and more about the FLOSS ecosystem.
FSFE: Hello Paweł, thank you so much for finding time to do this interview. Let's start by getting back to the roots, why do you believe Free Software is important?
Paweł, one of the FSFE Poznań coordinators: I think that Free Software is important because it allows people to keep control over the technology they use. Today, our lives are increasingly dependent on various types of software. We use it every day on many different devices. If we do not ensure that this software is free, we allow entities, such governments, companies or corporations, to control us. This is why I believe that Free Software should be promoted and used wherever possible.
FSFE: How did you first hear of the “I Love Free Software Day”? And what were your thoughts about this initiative?
Paweł: My colleague Damian, who is the FSFE coordinator in Poland, told me about the "I Love Free Software Day" initiative. I had not heard of this day before. I really liked it and thought it would be great to join in. As a member of Knyfyrtel Poznan Hackerspace, I enjoy organizing events for the community. And this was a great idea to do something new that fits in with our mission.
I very like that the event is organized in many places across numerous cities in Europe. I believe that such initiatives are truly needed, because they make it possible to reach a much wider audience. By acting together on an international scale, we can amplify the message and show that the Free Software community is strong, connected, and active beyond local borders.
FSFE:Why did you decide to organise an “I Love Free Software Day” event in 2026?
Paweł: We were inspired to organise this year's “I Love Free Software Day” by the success of last year's edition and the enthusiasm of the community. We had enough willing organisers to hold a large meetup for the community.
Moreover, we have very good connections with the academic community in Poznań. We wanted to use it to reach not only students, but also IT professionals, enthusiasts, and regular users interested in Free Software. Our goal was simply to bring these groups together in one place and give them an opportunity to learn something new, network, and get involved in Free Software initiatives.
FSFE: This was the second time you organised the local celebration in Poznań. How was the event in 2026 compared to the event in 2025?
Paweł: That’s right. We organised “I Love Free Software Day” for the first time last year, and we had no idea how many participants to expect. The reality exceeded our expectations – there were about 50 people, and they almost did not fit in the room.
This year, the event was even bigger – there was more pizza, more speakers, and more participants. Around 80 people attended, and this time we made sure to book a larger room. We also carefully planned the schedule to avoid delays, including an extra break for networking and socialising. Additionally, we organised a campaign to write cards to Free Software creators and maintainers.
FSFE: And in general, how was the 2026 celebration of the “I Love Free Software Day”?
Paweł: We organised the in the form of a meetup at Poznań University of Technology – short 15-minute talks with additional Q & A from participants. A total of six speakers talked about various FLOSS projects and how they use it in their daily work. After that, there was time for networking and refreshments with pizza and drinks. Overall, the event was very successful – we received positive feedback from the community, made new contacts and exchanged knowledge.
FSFE: How did you start the cooperation with the University?
Paweł: As Knyfyrtel Poznan Hackerspace, we already had the opportunity to organise events in cooperation with scientific clubs at Poznań University of Technology. For “I Love Free Software Day,” we leveraged these connections and invited them to collaborate.
Last year, our main co-organiser was PUTrequest_ team, while this year it was Linux Academic Group. They handled all the formalities, secured the venue, and arranged support from the university authorities. We really appreciate working with the academic community and look forward to building even more joint initiatives in the future.
FSFE: Did you use any of the materials the FSFE provides for organising a local celebration?
Paweł: We had a lot of materials from last year – stickers, posters, cards, and leaflets. We also printed some of the stickers ourselves. Presentation templates used during the opening and closing of the event were very helpful. It would surely be easier if package arrived, but this year we managed without it.
FSFE: What would you recommend to others when they want to organise an “I Love Free Software Day” celebrations and what are pitfalls you would say should be avoided?
Paweł: First and foremost, do not hesitate, just do it! All you need is a venue and motivation. If possible, collaborate with local groups, students, and academic circles, as they can help you attract participants. Take care of promotion – use social media, event aggregators, chats, and online groups to advertise your event. Tell your friends to tell their friends. You can also create a dedicated website and put up posters in the neighbourhood.
As for pitfalls, if you are organising an event at a university, be prepared for delays with formalities and permits – handling these can take much more time than expected. Also, make sure to order promotional materials well in advance; in our case, one month was not enough. Planning these details early will save a lot of headaches and help the event run smoothly.
FSFE: Thank you for sharing your very hands-on advice! Just a quick follow-up here, how many people are involved in organising the event?
Paweł: There were about 20 people who took part in the organisational meetings.
FSFE: Do you also organise additional events throughout the year and what would be the next meeting where others can join you?
Paweł: Yes. We organise many different events, but our biggest one is P.I.W.O. – Poznań Free Software Fest". It is a free conference that we organise in cooperation with the academic community in Poznań. It has over 20 years of tradition, but it was inactive for over 7 years. The Knyfyrtel Poznan Hackerspace reactivated it last year – and it was a great success. Almost 200 participants, 2 tracks, free pizza, LAN Party and lightning talks. This year, we are planning another edition on an even larger scale. This year, it will be on 30 May 2026 at the Faculty of Mathematics and Computer Science, AMU in Poznań (English website and social media).
FSFE: Is there a Free Software project, which you would like to highlight and say ‘Thank you’ to?
Paweł: There are many Free Software projects that I use and would like to thank. But if I had to choose one, it would be Thunderbird. It is my favourite email client. I have been using it for years. And recently, it has been developing very dynamically. I really appreciate the Thunderbird team and wish them continued success and growth with the project.
FSFE: Paweł, thank you very much for your time! I hope there will be many more “I Love Free Software Day” celebrations in Poznań.
CachyOS mit Pamac
Die Distribution CachyOS ist einfach zu installieren und läuft sehr schnell. Bei der Paketverwaltung gibt es Licht und Schatten. Hier lest ihr, wie es besser geht.


Ephraims Wochenrückblick: KW 14, 2026
In Woche 14 ist in der FOSS-Welt einiges passiert. Von Thunderbird über Archlinux zu Office und Matrix.


Anthropic: OpenClaw kostet ab jetzt extra
Ab sofort ist die Nutzung von Drittanbieter-Tools, darunter des beliebten OpenClaw, nicht mehr von den Abo-Modellen von Anthropic gedeckt.
Der Wechsel von WordPress zu Hugo
Ich habe nun endlich eine Mammutaufgabe für mich erledigt. Den Wechseln von WordPress hin zu Hugo. Ich war mir hier der große der Aufgabe bewusst, aber dass er so schwer werden würde, hätte ich nicht gedacht. Ich hatte den Wechsel schon einmal vor 15 Jahren vorgenommen, aber aus Gründen der Faulheit dann doch wieder zu WordPress gewechselt. Hier möchte ich Euch an meiner Reise teilhaben lassen, vielleicht hilft euch der eine, oder auch andere Hinweis.
Grundlegende Informationen
Bei Hugo handelt es sich um einen Generator für statische Webseiten, welcher aus Textdateien im Markdownformat HTML Seiten erstellt. Anhand eines Grundgerüsts, sogenannte Templates, lassen sich Webseiten generieren.
Dies bedeutet ich muss von einem CMS ( Content Management System), welches die Webseite aus den Daten einer SQL-Datenbank mit Hilfe von PHP generiert in ein neues Format bringen. Hierbei spielt auch noch der Einsatz von Erweiterungen, welche im CMS installiert werden können, eine große Rolle. Dies haben Einfluss auf den Inhalt, wie zum Beispiel Text, Bilder und Code, welcher sich in den einzelnen Seiten, oder auch Blogposts befindet. Auch haben diese Erweiterungen Einfluss auf das Aussehen der Webseite, in meinem fall dem Blog, welchen ich später nachbilden muss.
Da ich hier sehr viele Erweiterungen, Plugins, für WordPress im Einsatz hatte, war für mich erst einmal ein Punkt für das Deployments eines neuen Blog sehr wichtig:
Teil 1: Das Ziel ein schlankes WordPress als Basis
Sind wir ehrlich, ich habe mich doch sehr verhaltend in dem letzten 3-4 Jahre verhalten, wenn es um das schreiben von Artikeln ging. Auch schon vorher waren die Kommentare nicht wirklich en masse, sodaß ich sagen würde, ich brauche unbedingt eine Kommentarfunktion. Da die abgegeben Kommentare nicht meine eigenen sind, gehören diese auch nicht mir. Somit habe ich mich entschieden diese Kommentare zu behalten und für später zu erhalten.
Mit dieser Entscheidung konnte ich schon 3 Plugins aus meiner Installation verbannen. Eines gegen Spamschutz, eines für die datengerechte Anfrage für das Informieren über neue Kommentare und das andere für die Vorschau während des Kommentarschreibens.
Ich habe dann als weitere Plugins für die Entfernung das Einbinden von Gists von Github, sowie ein datenschutzgerechtes Einbinden von Youtubevideos vorgesehen. Hierzu musste ich alle Blogposts umschreiben in welchen die Kürzel der Plugin vorgekommen sind. Und den Code dort direkt einfügen. Ein Link zu dem Gist wurde auch hinzugefügt.
Mit dem weiteren Schritt, die Entfernung eines Gallerieplugins und einem Plugin, welches bei einem Mausklick das Originalbild anzeigt, hatte ich schon sehr viel von dem Code bereinigt. Mein WordPressblog war immer noch fähig die Artikel in umgeänderter Form anzuzeigen. Das ist nur die halbe Wahrheit, da ja das Gallerieplugin fehlte. Aber so viele Gallerien mit Bilder hatte ich nicht und ich verlinke lieber auf ein eigenes Fotoblog, eingebunden im Fediverse, als weiterhin die eierlegende Wollmilchsau zu betreuen.
Teil 2: Einfache Transformation?
Es war ein ewiges hin und her, sowie ein Abwiegen zwischen einem Plugin, oder einem selbstgeschriebenem Script.
Auch hier hatte ich sehr viele Fragen offen. Viele Fragen handelten davon, ob ich alle Informationen, inklusive der Formatierungen, aus den Artikeln übernehmen kann. Mir waren die die Kommentare, die enthaltenen Bilder, inklusive der Bildbeschreibungen, sehr wichtig. Ich fragte mich, ob die SEO Informationen hoffentlich auch exportiert, oder hatte ich diese umsonst jahrelang eingegeben? Wenn Ja, wo landen diese. Das Internet brachte hier leider nicht alle Informationen. Aber da es zum Glück einige Plugins für den Export in das Format markdown gibt, war ich guter Dinge.
Aber mir stellte sich auch noch eine sehr interessante Frage. Können über 1350 Blogposts aus zwei Jahrzehnten exportiert werden, oder stoße ich bei dem Webspace von Netcup an die Grenzen der Ausführungszeit für PHP-Scripte?
Ich habe mich Schlussendlich für das Plugin WordPress to Hugo Exporter entschieden und dies via Shell in meinem Wordpress installiert. Nach der Installation hatte ich in meinem Webroot des Webspace das Verzeichnis hugo_export erstellt und den Export angestossen.
cd httpdocs/got/wp-content/plugins/wordpress-to-hugo-exporter/
php hugo-export-cli.php /httpdocs/hugo_export/Dieser Befehl zog sich dann eine Weile hin und ich hatte bei dem ersten Mal Angst dass jener ohne eine Fehlermeldung abgebrochen war. Heraus kam am Ende die Datei wp-hugo.zip mit einer Größe von 61GB. Ich hatte vergessen den Optionsparameter –no-zip mitzugeben. Ich denke das Komprimieren war einer der Gründe für die Dauer des Exports. Der andere war definitiv jener, welcher das Verzeichnis des WordPress-Plugins BackWPup für das automatische Backup betraf. Dieses Verzeichnis ist nämlich auch mit in das Backup eingeflossen. Natürlich mit den darin befindlichen letzten erstellten 5 Backups. Nach dem Dekomprimieren und dem Löschen des Verzeichnisses backwpup nur noch 1,5GB an wirklichen Nutzdaten übrig. Wir reden nicht darüber.
Teil 3: Exportierte Daten
In meinem jugendlichen Leichtsinn dachte ich dass der Befehl hugo server doch schon ein rendern des Blogs ergibt. Mein Verdacht bestätigt sich, Page not found wird im Browser bei er lokalen Adresse http://localhost:1313/ angezeigt.
Eine Auflistung des Verzeichnisses ergab dann folgende Struktur:
❯ ls
about config.yaml impressum index.md public
blog homepage impressumalt posts wp-contentUnd der Blick in die config.yaml war auch sehr ernüchternd:
❯ cat config.yaml
url: https://got-tty.org
name: Got tty
description: It is time for ...In dem Verzeichnis posts sind alle posts vorhanden und in wp-content alle meine Bilder. Danke WordPress in jeder erforderlichen Auflösung. Hierzu später mehr.
Ich habe mir einmal den ältesten Post angeschaut und war doch über die Syntax im Headerbereich verwundert:
---
title: Blog ist installiert
author: Christian M. Grube
type: post
date: 2006-11-24T18:22:06+00:00
url: /blog-ist-installiert/
explore_page_layout:
- default_layout
iawmlf_links:
- 'a:0:{}'
categories:
- Software
tags:
- Blog
---
Nur muss ich, wie ich sehe mal massiv an dem Design arbeiten.
Hoffe nicht , dass es ein Fass ohne Boden wird ;)
Aber trotzdem freue ich mich insgeheim auf die Arbeit, muss ich zugeben, denke aber erst, dass ich am Mittwoch oder Donnerstag die Herausforderung annehmen kann, da ich leider bis definitiv Mittwoch bei einem großen schwäbischen Autokonzern mein Brot verdingen muss.
Aber somit wünsche ich noch viel Spaß mir und Euch und harren wir der Dinge die da noch kommen.%Über den Schreibstil lässt sich streiten 😉, aber über einige Anweisung/Parameter nicht. Die Anweisung iawmlf_links sagt mir leider nichts und auch das explore_page_layout ist mir nicht bekannt.
Ich habe exemplarische dann einmal diesen Post in die Form gebracht in welche er sein sollte:
---
title: Blog ist installiert
author: Christian M. Grube
date: 2006-11-24T18:22:06+00:00
slug: blog-ist-installiert
url: /blog-ist-installiert/
categories:
- Software
tags:
- Blog
---
Nur muss ich, wie ich sehe mal massiv an dem Design arbeiten.
Hoffe nicht , dass es ein Fass ohne Boden wird ;)
Aber trotzdem freue ich mich insgeheim auf die Arbeit, muss ich zugeben, denke aber erst, dass ich am Mittwoch oder Donnerstag die Herausforderung annehmen kann, da ich leider bis definitiv Mittwoch bei einem großen schwäbischen Autokonzern mein Brot verdingen muss.
Aber somit wünsche ich noch viel Spaß mir und Euch und harren wir der Dinge die da noch kommen.%Dies ist das Minimum welches ich mich jedem Post erreichen muss.
Somit habe ich nach einigen Abfragen auf der Kommandzeile die zu löschenden Artefakte eingegrenzt und zum löschen freigegeben.
Hier eine kurze Liste der nicht mehr nötigen WordPresshinterlassenschaften:
- iawmlf_links
- ample_page_layout
- tc-thumb-fld
- explore_page_layout
- type
- s_gallery_properties
- enclosure
- format
Des Weiteren habe ich alle vorkommen wp-content/uploads/ in /uploads/ geändert, versteckte WP Plugin DIVs entfernt ( diese gibt es nicht in meiner CSS unter Hugo) und fehlerhafte Datum- und EntwurfsURLs gefixt. Letzte haben den Buildprozess von hugo gestört.
Nach einem durchsuchen nach dem Kürzel wp- habe ich dann sehr viele Hinterlassenschaften von Wordpress gefunden. Jedes wp-block-{Gallery,quote,group,video,etc.} und jedes vorkommen der foogallery-{link, Lightbox, foobox, etc.} wurde gelöscht bzw. angepasst.
Hiernach habe ich mir dann noch mit einem Pythonscript geholfen, welches mir WP-Markup/HTML in sauberes Markdown/HTML umwandeln kann.
Nach einem erstellen meiner eigenen hugo.toml und dem Implementieren von fixIT als Theme hatte dann meinen ersten funktionierenden und grauenhaft aussehenden Build meines Blogs. Und dann wollte ich erst einmal nicht mehr.
Teil 4: Lassen wir es einmal gut aussehen und dann sehen wir weiter
Ich bin ganz offen. Ich habe erst einmal mein komplettes Projekt hinterfragt und mir gesagt, komm lass das WordPress, schreibe ab und zu. Das Leben geht weiter. Man hüpft dann von einem Projekt zum anderen.
Geht es mit Jekyll besser? Hier gibt es ja noch dieses und jenes Theme, welches vielleicht die komplette Sache besser aussehen lässt. Ich habe versucht mich zu selbst zu überreden und einen Funken Hoffnung zu finden. Ein guten Weg zum nächsten Plateau. Leider gab es diesen nicht und ich habe das ganze Projekt für gute 4 Wochen liegen gelassen.
Aber irgendwann bin ich dann ein wenig genervt und als Entspannung neben meiner Arbeit brauche ich auch etwas Ablenkung. Dies habe ich mir dann mit dem Projekt “Wir machen einmal Design” geholt. Wenn ich nun die Aufstellung so lesen, ich glaube ich hätte niemals damit angefangen. Das Durchsehen der git-Logs ist hier sehr Aufschlussreich gewesen. Aber ich habe in den Commitnachrichten nicht geflucht. Das ist eher eine Angelegenheit bei dem Schreiben von ansible playbooks und der YAML-Formatierung. YAML bedeutet auch “Yelling At My Laptop” 😆
Teil 4.1 eine kleine Aufstellung
-
Ich habe das komplette Farbschema passend zu meinem alten Blog welches mit GeneratePress betrieben wurde angepasst.
-
Die Schriftart wurde geändert, sowie auch die Schriftgrößen entsprechend dem alten Blog angepasst
-
Ich habe teilweise die Fontawesome Icons entfernt. Als Beispiel, bei dem Autor und Tag als Meta, ersetzt wurden jene mit einem Veröffentlicht am $DATUM
-
Ich habe das Menü überarbeitet und neue nicht vorhandene Punkte hinzugefügt. Es fehlt noch das Untermenü für die Kategorie
-
Die Paginations hatte einen Bug und es gab die Auflistung 1 2 3 … … … … … … 133. Diese habe ich in 1 2 3 … 133 bzw. 1 … 48 49 50 51 52 … 133 geändert.
-
Im Breadcrumb Stand “Startseite / Artikel / $ARTIKELTITEL”, dies habe ich in “Startseite / $KATEGORIEKLICKBAR / $ARTIKELTITEL” geändert.
-
In der Übersichtsseite stand unter jedem Artikel ein “Weiterlesen”. Hier habe ich einen Check auf den Tag gesetzt, sodaß nur noch “Weiterlesen” bei “truncated” Posts erscheint.
-
Ich habe das Footerlayout angepasst, sodaß es aussieht wie in dem alten Blog.
-
Auf der Übersichtsseite gab es eine komische Trennlinie, welche ich mit einer eigenen ersetzt habe.
-
Ich habe die Tags aus dem Footer entfernt und diese neben den Autorennamen in den Singlepost gesetzt. Über die Fontawesomeicons bin ich mir hier noch im uneins. Schön zu klicken und unterscheiden, aber ich habe das Gefühl das Blog sei im Moment überfüllt im Design.
-
Der Singlepostfooter musste enagepasst werden. Da sind ja die Tags entfernt worden, siehe oben. “Zurueck | Startseite” mussten zentriert werden.
-
Es gab eine komische Sidebar auf der linken Seite, welche ich für die “Ähnlichen Inhalte” nicht haben wollte, denn jene sind schon unter dem Artikel.
-
An den Footer musste ich nochmals ran. Hier fehlte die Vorstellung meiner Person und der Hinweis auf das OSBN.
-
Des weitern habe ich den Link zu Hugo und FixIT angepasst und diesen komischen Zähler deaktiviert.
-
Eigentlich hab eich noch die Lightbox aktiviert. Für eine Vollansicht des Bildes bei klick. Aber sie funktioniert scheinbar noch nicht. Hier muss ich mir nochmals den Code anschauen
-
Die Codeboxen waren immer zugeklappt und mussten manuell geöffnet werden. Ich habe ein maxShownLines -1 gesetzt, aber leider ist hier immer noch nicht die komplette Box zu sehen. Eine weitere Baustelle,
-
Der Darkmode ist per Knopfdruck vorhanden, fehlt aber noch die Automatisierung. Offener Punkt.
Teil 5: 50% geschafft, oder?
Hugo erstellt aus dem markdown der Blogposts, der Layouts und Templates endlich eine Seite. Aber hier fehlt natürlich noch etwas essentielles. Die Suche. Diese habe ich mit Hilfe von hugo-fuse-search implementiert. Diese findet sich oben im Header rechts neben dem Menü.
Wenn ich via hugo server -D meine Entwürfe sehen wollte kam es zu einem absoluten Chaos, welches ich noch nicht lösen konnte. Es wurde jedes mal nur ein einzelner Post aus den Entwürfen angezeigt und keine der bis jetzt veröffentlichten. Faszinierend war, es war jedesmal ein einzelner anderer Entwurf. Somit habe ich 136 Entwürfe in einen eigenen zu ignorierenden Ordner verschoben. Diese Artikel bekomme ich mit allen anderen angezeigt, wenn ich den Entwurfsmodus von hugo nutze. Ich werde mir auf jeden Fall mal die anderen Entwürfe anschauen. Vielleicht finde ich hier noch die eine, oder andere Perle.
Ich habe dann noch via Script in jedem Post nachgeschaut, welches Bild wirklich genutzt wird und die nichtgenutzten in ein eigenes Verzeichnis zur Sicherheit verschoben.
Bisheriges Fazit
Das war einiges. Ich kann mir aber sicher sein, dass ich nur einmal die Arbeit in die Entwicklung stecke und eine sehr lange Zeit davon zehren kann. Ich bin unheimlich froh, dass ich hier für das Deployment git nutzen kann und die Dateien dann via rclone auf den Netcup Webspace schiebe. Leider kann ich hier nicht mit Checksummen arbeiten und nutze hier die Dateigröße für den Vergleich. Ein weiterer User für SSH lässt sich bei Netcup für den Webspace nicht anlegen.
Es ist noch nicht alles so in der Form wie ich es haben möchte. Aber ein grundlegender Anfang ist nun geschafft und ich bin ein Stück Sicherheitsdruck im Nacken mit der Abkehr von WordPress losgeworden. Nicht dass ich WordPress per se für unsicher halte, aber nach einem 10 Stundentag in der IT möchte ich nicht noch zuhause Deployment und Serversicherheit betreiben. Hierfür habe ich meinen Webspace bei Netcup inklusive Mailserver und meine Ruhe. Und so etwas ist manchmal unbezahlbar.
Ich Danke Euch für das lesen des langen Textes und hoffe Ihr habt einen kleinen Einblick bekommen.
Kritische Sicherheitslücke in Langflow
Langflow ist ein Open-Source-Tool zur Entwicklung und Verwaltung von Anwendungen mit Künstlicher Intelligenz.
Übergroßer Cursor in Kali Linux unter VMware Fusion 25H2
Die Lösung ist die Eigenschaften der Virtuellen Maschine aufzurufen, hier die Volle Auflösung des Retina Display verwenden zu aktivieren und nach dem Anmelden im Kali Linux Desktop Kali HiDPI Mode zu wählen. Nach einem Restart sollte alles beim alten sein.
Nach dem aus sicherheitsupdategründen erzwungenen Upgrade auf macOS 26.3 mit einem anschließenden Update auf VMware 25H2 war dies einer der kleinen Schluckauf, welche ich zu bewerkstelligen hatte.
Tube Archivist HTTP Error 403: Forbidden
Hier haben wir wieder ein „Henne und Ei“-Problem.
Zwar sind die Cookies richtig kopiert worden und auch die Dateien sind zugänglich, sie lassen sich ja via Browser aufrufen, aber leider ist ytdlp veraltet. Bis ein neues Image für Tube Archivist erscheint, muss man sich mit der Variable TA_AUTO_UPDATE_YTDLP helfen.
Mit dieser Variable in der Compose-Datei und dieser den Wert release mitgeben. Nach einem Neustart des Containers wird eine neue Version von ytdlp heruntergeladen und die Videos können wieder lokal gespiegelt werden.
TA_AUTO_UPDATE_YTDLP = release
Thinkpad T450s ACPI Error unter Debian GNU/Linux
Was bei mir so vor der Eingabe des LUKs Passwortes und dem Starten von Debian vorbeihuschte, hatte mich dann doch einmal interessiert:
0.21027?] DMAR: [Firmware Bug: No firmware reserved region can cover this
MRR T®x00000000cd800000-0x00000000c/rFTfffl, contact BIOS vendor for Fixes
0.4880091 ACPT Error: Needed type tReferencel, found (Integerl ( ptrual_
→ (20220331050-665
0. 488035] ACPT Brror: AE AML OPERAND_TYPE, While resolving operands for tOp codeNane unavailable] (20220331/dswexec-431)
0. 488052] ACP Error: Aborting method PR.CPUO. PDC due to previous error (AE_AML, OPERAND TYPE) (20220331/psparse-529)
1.9383933 DMAR: DRHD: handling fault status reg 3
1.9384083 DMAR: EDMA Read NO_PASID] Request device [00:16.7] fault addr Oxc cdf1000 [fault reason Ox02] Present bit in context entry is clear
1.938649] DMAR: DRHD: handling fault status reg 2
1.9386563 DHAR: COMA Write NO_PASID] Request device [00:16.7] fault addr 0x ccdf/000 [fault reason 0x02] Present bit in context entry is clear
1.9386963 DMAR: DRHD: handling fault status reg 2
1.938702J DMAR: CDMA Write NO_PASID] Request device [00:16.7] fault addr 0x
ccd/P000 [fault reason 0x02] Present bit in context entry is clearKurz und knapp, es ist ein Fehler im BIOS, welcher schon seit 2013 besteht und vom T440 bis an den T460 weitergereicht wurde.
Lenovo behebt den Fehler, welcher bekannt ist nicht.
Jemand hat den zugehörigen Thread im Jahr 2018 erstellt, zwei Jahre nach dem Erscheinen des T460.
Lenovo kocht natürlich auch nur mit Wasser. Ich hätte mir jedoch mehr Support gewünscht, besonders wenn dies sogar unter Windows einen Bluescreen verursacht. Hier hätten doch einige Geschäftskunden unerfreut gewesen sein müssen. Schade, dass Firmen, welche ich als zuverlässig aufgrund Ihre Historie ansah, jenes nicht mehr sind. Gerade betreffend ThinkPads wäre es mir doch sehr wichtig.
Lenovo hatte mich schließlich mit einem Montagsthinkpad P53 enttäuscht, sodass ich mich zunächst für Apple Silicon entschied.
Aber wie man sieht, immer noch ThinkPads nutze 😉
Die Lösung wäre ein acpi=off , noacpi oder acpi=strict in der Konfiguration von grub zu setzen.
Weiterführende Informationen zu den Kernelparametern
Glow Markdown in der Shell rendern
Markdown ist eine leicht verständliche Auszeichnungssprache für Texte. Einige von Euch kennen jene aus Readme-Dateien aus Git Repositories, Dokumentationen und von statischen Bloggeneratoren wie Hugo, oder Jekyll. Markdown bietet für mich entscheidende Vorteile.
Ein in Markdown formatierter und strukturierten Text ist für immer in der gewünschten Formatierung betrachtbar. Er ist nicht an ein bestimmtes Programm und seiner Syntax gebunden. Im Gegensatz dazu öffnen sich alte Dateien aus Officeanwendungen aus Redmond der 90er Jahre nur mit Verlusten in neueren Programmen, wobei bereits viel der Formatierung und dessen Struktur verloren geht. Besonders problematisch wird es, wenn Programme nicht mehr auf neuen Systemen laufen, oder wenn sie für eine Installation nicht mehr verfügbar sind. Hier drohen uns in Zukunft digitale Verluste.
Markdown überzeugt durch seine gute Lesbarkeit ohne Rendering, sowie durch die einfache Syntax bei der Erstellung von Texten, Tabellen und Listen. Markdown erlaubt es, Text mit einfachen Symbolen zu formatieren. So rahmen zwei ** einen fetten Text ein, während ein * kursiven Text markiert und eine H1-Überschrift ihre Formatierung durch eine Raute mit Leerzeichen vor dem Text erhält. Für Überschriften in unteren Ebenen verwendet man entsprechend zwei, drei oder vier Rauten. Weitere Informationen finden sich in dem Artikel auf Wikipedia. Ich selbst nutze für die einfach und schnelle Auszeichnung Typora unter Linux und macOS. Ich gebe auch zu, damit meine README.md gerne in Git zu gestalten. Typora erstellt mir auf Knopfdruck ein Inhaltsverzeichnis aus den Überschriften inklusive Anker 😉
Während Markdown-Dateien in dafür bestimmten Texteditoren, wie z.b. dem oben genannte Typora, gut formatiert lesbar sind, benötigen Markdown-Dateien zum Rendern in der Shell eine spezielle Software, um eine perfekte Darstellung zu bekommen. Hier kommt Glow ins Spiel.
Was ist Glow?
Kurz und knapp: Glow ist ein auf ein der Programmiersprache Go basierendes Shellprogramm, welches Markdown-Dateien direkt in der Shell rendert. Es stellt die Inhalte übersichtlich formatiert, inklusive Links, und farbig dar.
Je nach System wird Glow über die Paketmanager der Linuxdistribution installiert. Glow lässt unter Debian, macOS ( via brew), FreeBSD, Fedora und sogar Android installieren. Natürlich besteht auch die Möglichkeit, glow über die Sprache go selbst zu installieren.
Nutzung
Glow kann mit einer lokalen Markdown-Datei aufgerufen werden:
glow README.md
Auch eine Vorschau von Markdown-Dokumenten aus dem Internet wäre möglich:
glow https://raw.githubusercontent.com/charmbracelet/glow/refs/heads/master/README.md
Des Weiteren bietet glow noch einen Pager und die Möglichkeit eigene Styles zu definieren und herunterzuladen.
Glow ist Teil des Charmprojektes welches eine Sammlung von Open-Source-Tools/-Bibliotheken für die Entwicklung von terminalbasierten Anwendungen ist. Das Charmprojekt ist die Glamourecke der modernen und benutzerfreundliche CLI-Programme 😉
Readeck eine Read it later Alternative
Ich habe im Jahr 2013 das erste Mal Wallabag geschrieben, zu diesem Zeitpunkt hieß es noch Poche. Für mich der Beginn einer sehr langen, bis heute noch andauernden, Freundschaft mit der Software. Es ist aber wichtig auch immer wieder einmal über den Zaun zu schauen, falls ich mit einer Software in Zukunft nicht mehr zufrieden sein könnte. Zu groß wird der Stress und die Enttäuschung, wenn ich den jahrelangen Workflow so schnell wie möglich ändern muss. Beziehungsweise einen Stichtag habe, an dem ich die Änderung herbeizuführen habe.
Ich habe mir als Player neben Wallabag einmal Readeck angeschaut und hier meine Wallabaglesezeichen importiert. Ich habe den Ablauf ohne Hindernisse ausgeführt, aber er hinterließ einige Leichen. Einige der mit Wallabag konservierten Webseiten sind nicht mehr Online, oder konnten nicht richtig von Readeck abgeholt werden. Ich bin zwar auf ein Script gestoßen, welches leider aber dann alle fehlerhaften Einträge löscht, wobei manche nur einmal angestoßen werden müssten.
Readeck unterscheidet sich nicht wirklich groß von Wallabag. Auch hier gibt es eine gute Browserintegration und die Oberfläche ist mehr als ein Quentchen besser als jene von Wallabag. Hierzu sei aber gesagt, dass Wallabag in sehr reger Entwicklung ist und mit dem nächsten Majorupdate, 3.0/4.0, auch hier nachzieht. Ich hatte hierzu mal eine Aussage im Fediverse gelesen, aber bedauerlicherweise findet sich in den alten News kein Hinweis. Readeck ist aber in der Tat momentan etwas „polierter“ und Anwenderfreundlicher. Im Gegensatz zu Wallabag bietet es ab Werk kein RSS-Feed an, dieser kann aber mit dem Projekt readeck-rss nachgerüstet werden. Ich selbst brauche diese Funktion aber nicht.
Ich selbst habe Readeck als Container bei mir installiert und den dort schon laufenden Apache als Proxy genutzt.
Apache Prox-Teil:
RequestHeader set X-Forwarded-Proto https
ProxyRequests off
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
ProxyPreserveHost Ondocker-compose.yml:
services:
readeck:
container_name: Readeck
image: codeberg.org/readeck/readeck:latest
mem_limit: 8g
cpu_shares: 1024
security_opt:
- no-new-privileges:true
restart: unless-stopped
ports:
- 8000:8000
volumes:
- /volume1/docker/readeck/data:/readeck:rw
environment:
READECK_USE_X_FORWARDED: true
READECK_DATABASE_SOURCE: postgres://readeck:readeckpass@readeck-db:5432/readeck
readeck-db:
image: postgres:16
container_name: Readeck-DB
hostname: readeck-db
mem_limit: 1g
cpu_shares: 768
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD","pg_isready","-q","-d","readeck","-U","readeck"]
timeout: 45s
interval: 10s
retries: 10
volumes:
- /volume1/docker/readeck/db:/var/lib/postgresql/data:rw
environment:
POSTGRES_DB: readeck
POSTGRES_USER: readeck
POSTGRES_PASSWORD: readeckpass
restart: on-failure:5Backup:
Das Backup landet dann inklusive des Datums in dem Volume von readeck ( /volume1/docker/readeck/data).
docker exec Readeck readeck export -config /readeck/config.toml /readeck/export_$(date +"%Y_%m_%d").zipiOS/ipadOS
Für das Share-Menü gibt es einen Shortcut“/Kurzbefehl unter send-page-to-readeck. Hier muss im Kurzbefehl, dann die Domain, sowie einen APi-Token, welcher unter Einstellungen > API-Token erstellt wird, eingegeben werden.
Damit der Befehl im Teilenmenü erscheint:
- Langer Klick auf den Kurzbefehl bis zu dem Öffnen des Menüs
- Details auswählen
- Im Share-Sheet anzeigen aktivieren
Android
Für Android gibt es eine Readeck App, welche unter F-Droid zu finden ist. Ich selbst habe sie noch nicht installiert, da mein daily driver ein iPhone 16 Pro ist.
Fazit
Readeck hat mich mit seiner sehr eleganten Benutzeroberfläche und vor allem der unkomplizierten Installation überzeugt. Es fällt mir jedoch schwer, Wallabag nach über einem Jahrzehnt treuer Dienste den Rücken zu kehren. Da spielt sicherlich auch eine nicht kleine Portion Nostalgie mit 😉
Momentan teste ich beide Lösungen im Parallelbetrieb und werde in den nächsten Wochen entscheiden, welches Projekt das richtige für mich ist. Mir wäre es auf jeden Fall wichtig, auch wenn den Weg zu Wallabag zurückzugehen. Bis jetzt gestaltet dies sich wohl sehr schwierig. Seiten der Wallabag 2.x Dokumentation ist hier über den Import nichts zu finden. Hier bleibt wohl nur dann einer der Wege den Export von Readeck in das JSON-Format von Wallabag zu konvertieren, Datenbanklevel-Migration vorzunehmen, oder noch schlimmer, Zeit mit einer manuelle Rearchivierung zu verbrennen. Dies ist für mich ein großer Negativpunkt bezüglich Readeck. Keine Sackgassen.
Nextcloud Falsches Zeilenformat ROW_FORMAT=Dynamic
Nach einem Update auf Nextcloud 31.0, Hub 10, hatte ich im Backend folgende Meldung die Meldung:
Falsches Zeilenformat in Ihrer Datenbank gefunden. ROW_FORMAT=Dynamic bietet die beste Datenbankleistung für Nextcloud. Bitte aktualisieren Sie das Zeilenformat in der folgenden Liste:…
Folgender SQL-Befehl fixt die Datenbank
mysql -u root -p -D DATENBANKNAME -N -e"
SELECT CONCAT(
'ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' ',
'ROW_FORMAT=DYNAMIC;'
)
FROM INFORMATION_SCHEMA.TABLES
WHERE ENGINE='InnoDB' AND ROW_FORMAT <> 'DYNAMIC';" | mysql -u root -p DATENBANKNAMEIch empfehle vorher ein Datenbankbackup mit z.B. mydumper vorzunehmen
Docker Verschieben von /var/lib/docker
Da auf meinem Server einige Container laufen, wurde durch mein Rollout des Containers Tubearchivist der Platz langsam eng.
Hier habe ich mich entschlossen, den Standardspeicherplatz von Docker auf eine der 6 TB Datenpools zu verschieben. Das Umschreiben des Servicekonfigurationsdatei innerhalb von SystemD wäre hier der falsche Weg. Der richtige Weg ist hier JSON-Konfigurationsdatei des Daemon von Docker umzuschreiben. Falls diese noch nicht angelegt ist, muss diese angelegt werden.
Erstellen des neuen Datenspeicherplatzes für Docker
mkdir /data/IronWolf1/DOCKER_DATAStoppen des Dockerdienstes
systemctl stop docker && systemctl status docker && docker psKopieren der Daten in das neue Verzeichnis
rsync -avxP /var/lib/docker/ /data/IronWolf1/DOCKER_DATAErstellen der Datei /etc/docker/daemon.json
{<br />"data-root":"/data/IronWolf1/DOCKER_DATA"<br />}Neustarten des Dienstes Docker
systemctl restart docker.serviceÜberprüfen, ob der Standardspeicherort übernommen wurde. Hierzu habe ich Vaultwarden als Beispiel genommen
docker inspect vaultwarden/server:latest |grep WorkDir<br />"WorkDir":"/data/IronWolf1/DOCKER_DATA/overlay2/b419d698e9ba693188a2f517f53891702a25ea20f974993aca879206818ab328/work"Der Inhalt des alten Verzeichnisses /var/lib/docker kann nun gelöscht werden
Invidious: The media could not be loaded format not supported
Invidious ist eineSoftware, die es ermöglicht, Videos von YouTube anzusehen, ohne direkt die offizielle YouTube-Website, oder App zu verwenden. Die selbstgehostete Software ermöglicht eine werbefreie Nutzung von Youtube und schützt die Privatsphäre der Nutzer, indem es Tracking durch Google verhindert. Invidious bietet die weiteren Funktionen wie das Herunterladen von Videos, das Ansehen ohne Anmeldung und die Möglichkeit, nur den Audiostream abzuspielen.
Ich hatte nun etwas länger meine private Instanz auf dem Homeserver genutzt und stieß auf den Fehler
„The media could not be loaded, either because the server or network failed or because the format is not supported“.
Damit die Software wieder produktiv arbeitet, muss hier ein weiterer Container erstellt und die Datei docker-compose.yml für Euren Stack umgeschrieben werden.
Als Erstes wird ein einzelner Container via
docker run quay.io/invidious/youtube-trusted-session-generatorgestartet und nach einem Start die Ausgabewerte des Containers für visitor_data und po_token kopiert.
Dieser Container beendet sich nach der Ausgabe von selbst und sollte nicht detached gestartet werden.
docker run quay.io/invidious/youtube-trusted-session-generator
[INFO] internally launching GUI (X11 environment)
[INFO] starting Xvfb
[INFO] launching chromium instance
[INFO] launching browser.
[INFO] waiting 10 seconds for the page to fully load.
visitor_data: TOLLERHASHWERT1
po_token: TOLLERHASHWERT2
successfully removed temp profile /tmp/uc_3aimnef0Jene Werte habe ich, inklusive des neuen Containers, in die Datei docker-compose.yml eingepflegt.
version:"3"
services:
invidious:
image: quay.io/invidious/invidious:latest
container_name: invidious
restart: unless-stopped
ports:
- "4000:3000"
environment:
INVIDIOUS_CONFIG: |
db:
dbname: invidious
user: kemal
password: kemal
host: invidious-db
port: 5432
check_tables: true
signature_server: inv_sig_helper:12999
visitor_data: TOLLERHASHWERT1
po_token: TOLLERHASHWERT2
quality: dash
registration_enabled: false
top_enabled: false
related_videos: false
comments: ["",""]
login_enabled: false
domain: TOLLERFQDN
hmac_key:"BLABLABLABLABLA"
depends_on:
- invidious-db
logging:
options:
max-size:"1G"
max-file:"4"
inv_sig_helper:
image: quay.io/invidious/inv-sig-helper:latest
init: true
command: ["--tcp","0.0.0.0:12999"]
environment:
- RUST_LOG=info
restart: unless-stopped
cap_drop:
- ALL
read_only: true
security_opt:
- no-new-privileges:true
invidious-db:
image: docker.io/library/postgres:14
restart: unless-stopped
container_name: invidious-db
volumes:
- ./postgresdata:/var/lib/postgresql/data
- ./config/sql:/config/sql
- ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
environment:
POSTGRES_DB: invidious
POSTGRES_USER: kemal
POSTGRES_PASSWORD: kemal
healthcheck:
test: ["CMD-SHELL","pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
networks:
- defaultWeiterführende Informationen bezüglich einem Fehler mit sigv_helper und kontobasierter Authentifizierung finden sich in der Issue 4947 auf Github
Viel Spaß mit Invidious.