Automatisch generierte Kalender Geburtstags- Benachrichtigung zur Geisterstunde eliminieren

Erinnerungen sind was Schönes. Geburtstagserinnerungen auch. Aber seit je her nervt es mich, dass die automatisch generierten Geburtstagserinnerungen im Kalender immer um 24 Uhr loseiern. Also habe ich mich mal auf die Suche gemacht und bin bei Nextcloud fündig geworden.

2016 nervte das schon jemand, also wurde ein Issue auf github geöffnet und 2023 sind wir nun fast soweit eine GUI Lösung für dieses Problem zu haben. Schön wäre gewesen, erstmal das Klingeln zu später Stunde einfach als Standard auszuschalten. Millionen Menschen hätten über Jahre hinweg einen besseren Schlaf gehabt.

Auf der Server Konsole lässt sich dies durch den Server Admin schon länger ausschalten. Ich zitiere aus dem Issue Ticket

sudo -u www-data php occ user:setting <username> dav birthdayCalendarReminderOffset ""

Quelle: Users should be able to choose whether reminders are generated for events in the birthday calendar · Issue #1505 · nextcloud/server https://github.com/nextcloud/server/issues/1505#issuecomment-1636744095

Views: 0

Aus der Reihe „philosophische Rasiermesser“

Hitchens Rasiermesser
„Was ohne Beleg behauptet werden kann, kann auch ohne Beleg verworfen werden“

Hanlons Rasiermesser
„Geh nicht von Böswilligkeit aus, wenn Dummheit genügt“

Ockhams Rasiermesser
„Von mehreren möglichen Erklärungen für ein und denselben Sachverhalt ist die einfachste Theorie allen anderen vorzuziehen“

Humes Rasiermesser
„Wenn die [aus einer Theorie] vorhergesagten Effekte nicht ausreichen, um einen Effekt zu erklären, muss diese [Theorie]entweder als Erklärung verworfen werden oder nur in dem Umfang angepasst werden, dass [die Theorie] den Effekt erklärt.“

Alders Rasiermesser
„Wenn etwas nicht durch ein Experiment oder Beobachtung belegt werden kann, ist es nicht wert darüber zu diskutieren.“

Gricesches semantisches Rasiermesser
„[Aussagen und Implikationen] sollen nicht über die Notwendigkeit hinaus multipliziert werden.“

Scopies Rasiermesser
„Argumente, welche mittels des Zitierens von besonders unseriöser Quellen belegt werden, können ignoriert werden“

… weitere, die nicht direkt „Rasiermesser“ im Titel tragen, aber trotzdem zu diesen mitgezählt werden …

Poppers Falsifizierungsprinzip
„Ein empirisch-wissenschaftliches System muss an der Erfahrung scheitern können.“

Sagan Standard
„Außergewöhnliche Aussagen benötigen einen außergewöhnlichen Beweis.“
welcher von Marcello Truzzi stammt und durch Carl Sagan bekannt wurde

Views: 5

PDF Inhaltsverzeichnisse (TOC) erstellen

Ein Plädoyer gegen die Hyperlink Ignoranz

Das Wunderbare an digitalen Medien wie PDF Dateien ist, dass sie mit Strg+f durchsuchbar sind und dass sie ein klickbares Inhaltsverzeichnis und Index haben. Aber leider viel zu oft haben sie das nicht. Manchmal werden Dokumente ausgedruckt und als Bild wieder eingescannt und somit ist der Text nicht mehr verfügbar. Der entsprechende Haken Beim Export nach PDF für ein klickbares Inhaltsverzeichnis wird einfach nicht gesetzt und der Index wird oft auch nur “ausgedruckt”. Seit der großen Verbreitung des World Wide Webs haben wir die Hyperlinks schätzen gelernt und dass ein Klick so viel effizienter sein kann, als das mühsame Blättern durch Dokumente an die richtige Stelle.

Es ist einfach extrem ärgerlich, wenn Handbücher nichts davon enthalten. Mit Handbüchern arbeite ich. Heißt: ich springe von Stelle zu Stelle, muss die Suche benutzen, damit ich mir nicht ein ganzes Buch im Kopf merken muss. Leider gibt es immer noch neu erscheinende Dokumente, die aus einem Prä-Internet Zeitalter zu kommen scheinen. Und wenn einem nichts anderes übrig bleibt, als diese Dokumente zu nutzen, kann man sich beim Durcharbeiten eines kleinen kostenlosen Opensource Tools von 2011 bedienen und das Inhaltsverzeichnis (PDF Bookmarks) selbst setzen.

Am liebsten hätte ich gleich noch eine Webresource, auf der ich meine Arbeit mit anderen teilen könnte. Gar nicht mal das Dokument selbst, denn die unterliegen oft gewissen Copyright Rechten. Aber die Meta Info. Die Arbeit, die ich mir machen musste, weil jemand den Haken beim Export nicht gefunden hat.

Der Tool – JPDFBookmarks

Das kostenlose Opensource Programm von 2011 ist in Java geschrieben und läuft unter Linux und Windows. Für Mac weiß ich das leider nicht.
Die Nutzung ist sehr einfach. Die PDF Datei wird einfach rein geladen und wenn ein Eintrag im Inhaltsverzeichnis erstellt werden soll, dann muss nur ein Bookmark Strg+Alt+s erzeugt werden. Soll ein Unterpunkt erzeugt werden, dann Strg+Alt+f . Dabei speichert das Bookmark nicht nur die Seite, sondern auch auf welcher Höhe der Seite das Bookmark ist. So macht es Sinn z.B. die Kapitel Überschrift auf dem Bildschirm auszurichten und dann erst das entsprechende Bookmark zu setzen.

JPDFBookmarks Ein absolut einfach zu bedienendes Programm, das du hier finden und runterladen kannst http://flavianopetrocchi.blogspot.com/2008/07/jpsdbookmarks-download-page.html

Falls das Programm unter Linux nicht starten sollte, musst du nur (unter Ubuntu) das Paket “default-jre” installieren.

Und Bitte!

Erstellt in euren PDFs immer ein klickbares Inhaltsverzeichnis und einen Index. Wir haben schließlich das Jahr 2023. Die überleben wollen …

Danke.

Views: 0

Informationsgesellschaft statt Plattform-Satisfier

Das Informationszeitalter sollte der Beginn einer wunderbaren Zeit sein. Information immer und überall verfügbar. Doch Dinge werden immer schlecht, wenn sie nicht zu Ende gedacht wurden. So wurde das Informationszeitalter ausgerufen und niemand kümmerte sich um die Qualität.
Dazu kamen noch verschiedene Plattformen, die auch noch bedient werden mussten. Fake News, Verschwörungserzählungen, Hatespeech, Sammeln und Verkauf von Bewegungsdaten. Kann man nichts machen.

Social Media wurde zur nächsten Ausrede, damit sich niemand um Qualität kümmern musste. Reichweite ist wichtiger als Inhalt. Fake News, Verschwörungserzählungen, Hatespeech, Sammeln und Verkauf von Bewegungsdaten. Kann man nichts machen.

Das Füttern von Social Media Plattformen wurde für die meisten Firmen und öffentlichen Einrichtungen zur Bürgerpflicht. Jede neue Plattform wurde so schnell befüllt, weil KonsumentInnen befriedigt werden müssen. Die Hoheit über die Informationen wurde irgendwelchen verkoksten Silicon Valley Dudes überlassen, die jedes noch so schäbige Gewinngeschäft damit gemacht haben. Mit Ansage: Fake News, Verschwörungserzählungen, Hatespeech, Sammeln und Verkauf von Bewegungsdaten. Kann man nichts machen.

Der Rausch des Neuen. Die neue digitale Welt. Die Droge der Zukunft war so verführerisch, dass nicht darüber nachgedacht wurde, welche Spätfolgen kommen könnten. Der selbstauferlegte Zwang nach Geschwindigkeit, nach immer schnelleren und ungeprüfteren Nachrichten wurde zum Bumerang. Die Chance wurde zum unerbittlichen Peiniger und Insolvenzbeschleuniger. Fake News, Verschwörungserzählungen, Hatespeech, Sammeln und Verkauf von Bewegungsdaten. Kann man nichts machen.

Schuld war natürlich die Konsumentenschaft. DIE wollen immer alles und immer schneller. Das Verursacherprinzip wird bis heute ausgeblendet. Das Dealerprinzip wird einfach übernommen. Wir sind jetzt auf Plattform XY vertreten, sind aber nicht mehr für unsere Inhalte verantwortlich, denn was damit gemacht wird, haben wir nicht mehr im Griff. Daher müssen wir die Silicon Valley Dudes mit ihren Social Media Plattformen reglementieren, denn die sind natürlich schuld. Die Dudes, die von Anfang an gesagt haben, dass sie Informationen dazu verwenden, um Menschen zu erniedrigen und auszubeuten, Informationen zu missbrauchen und jede Falschdarstellung als freie Meinungsäußerung bei gleichzeitig völligem Realitätsverlust zu deklarieren. Fake News, Verschwörungserzählungen, Hatespeech, Sammeln und Verkauf von Bewegungsdaten. Kann man nichts machen.

Firmen, Organisationen und Medien, die diesem Trend entgegenwirken erleben seit einigen Jahren einen Aufschwung. Informationen verfeinern und die Qualität verbessern, statt stumpf vervielfältigen und es nie wieder aus dem Netz zu bekommen.

Wie sieht so etwas in der Realität im Internet aus?

Informationen nicht aus der Deutungshoheit entlassen. Weiterhin die Quelle für die Information bleiben. Informationen über Themen auf der eigenen Webseite belassen. Social Media Plattformen ausschließlich mit dem Hinweis bedienen, dass auf der Webseite die Informationen gefunden werden können. Webseite, RSS und EMail ist immer noch der zuverlässigste Service unabhängig von Zwischenhändler-Dudes mit ihren Social Media Suchtmaschinen. Denn niemand liest ernsthaft das weiße Rauschen , das in den ewigen Timelines modert.

Statt als Lieferant für zwielichtige Geschäftemacher unterwürfig zu dienen und sich beklagen, dass jene den Gewinn immer mehr an sich ziehen, kann das Pflaster mit einem Ruck abgezogen werden und ich bin mir sicher, dass das viele Menschen sehr begrüßen werden. Denn die meisten haben es satt zwischen Katzenvideos, Vollpfostenkommentaren und Lifestyledealern, neudeutsch Influencern, nützliche Informationen zu finden.

Besinnt euch auf eure Kernkompetenz. Seid nicht die unterwürfigen Diener von zwielichtigen Geschäftspraktiken. Macht aus dem Informationszeitalter ein Qualitätszeitalter der Informationen.

Achja und fallt nicht auf “Die KI macht alles für euch” herein. Das ist das neue Heroin für Menschen, die denken, das Menschen nicht wichtig sind. KI sind bis jetzt noch Automaten, die Automatendinge tun. Die können zwar riesige Mengen viel schneller verarbeiten, aber das ist wie beim Kochen. Nur weil KI schneller aus 3 Mrd Fertiggerichten auswählen kann, ist dein Kochen mit frischen Zutaten immer noch besser und gesünder.

Views: 0

Vim-Zeilenspielereien – Join

Zeilen zusammenfügen oder teilen in allen Variationen.
Der Befehl dafür heißt JOIN

Anmerkung: Groß-/Kleinschreibung ist wichtig. Großbuchstaben werden nicht extra mit einem SHIFT hervorgehoben

Join zwei Zeilen zusammenführen J mit Leerzeichen

J – Sollen zwei Zeilen, die durch einen Zeilenumbruch getrennt wurden zusammengeführt werden, so kann in der oberen Zeile einfach ein großes J gedrückt werden. Das führt dazu, dass die untere Zeile nach oben geholt UND mit einem Leerzeichen Abstand an die aktuellen Zeile angehängt wird.

Im Befehlsmodus – :join!
Suchmuster – :g/pattern/join

Join ohne Leerzeichen gJ

gJ – Soll die untere Zeile ohne Leerzeichen an die aktuelle Zeile angehängt werden, so lässt der Befehl gJ das Leerzeichen weg.

Visual Join – Mehrere Zeilen verbinden v+Motion+J

Join kann auch mit der Visual Markierung v und Motion Befehle benutzt werden.

v + Motion + J oder gJ für mit oder ohne Leerzeichen

Beispiele

  • Befehl v4kJ
    • v startet den visuellen Modus in der aktuellen Zeile
    • 4 wird das nächste Kommando 4x wiederholen
    • k eine Zeile hoch (und das dann 4x)
    • J und verbinde diese 4 Zeilen miteinander

  • Befehl v5jgJ
    • v startet den visuellen Modus in der aktuellen Zeile
    • 5 wird das nächste Kommando 5x wiederholen
    • j eine Zeile runter (und das dann 5x)
    • g der Befehl JOIN soll keine Leerzeichen hinzufügen
    • J und verbinde diese 5 Zeilen miteinander ohne zusätzliche Leerzeichen

Hilfe

Eine ausführlichere Hilfe findet sich in Vim unter :help J

Weitere Vim Artikel im Blog

Views: 0

Touchpad effizient nutzen – Touchegg & Touché

Funktioniert nicht unter Wayland.

Ein Werkzeug effizient nutzen zu können, ist die Grundlage sich ganz auf den Inhalt konzentrieren zu können. Ein Grund warum ich z.B. den Editor Vim gerne mag, weil mit ihm Test hocheffizient bearbeitet werden können. Aber das ist eine andere Geschichte.

Effizienz heisst auch, bei einer Eingabemethode bleiben zu können und nicht ständig die Eingabegeräte zu wechseln. So ist der Wechsel von Tastatur zu Maus oder Touchpad immer eine Unterbrechung. Nicht nur im motorischen Ablauf, sondern eben auch in der Konzentration.
Also bei der Eingabe ausschliesslich auf der Tastatur bleiben zu können, oder bei der Nutzung der Maus oder des Touchpads nur auf diesen Geräten bleiben zu können, hat viele Vorteile.

Für das Touchpad gibt es die Programme Touchegg, das die Erkennung von Gesten mit mehreren Fingern und Steuerung von Befehlen verwaltet, und Touché mit dem die Einstellungen komfortabel eingerichtet werden können.

Beides ist für viele Linuxsysteme verfüg- und installierbar. Für Ubuntu ist die Installation extrem einfach.

Touchegg (der Dienst) gibt es hier https://github.com/JoseExposito/touchegg und die Installation wird sehr gut beschrieben. Im wesentlichen läuft sie so ab

sudo add-apt-repository ppa:touchegg/stable
sudo apt update
sudo apt install touchegg

Damit ist der Dienst installiert und gestartet.

Jetzt nur noch Touché installieren. Bei Touchegg wird auf die Seite hingewiesen https://github.com/JoseExposito/touche . Touché wird als Flatpak über Flathub installiert. Wer nicht weiß, wie das geht sucht auf dieser Seite https://flathub.org/setup seine Distribution raus. Achtung! Es wird zwischen Ubuntu und z.B. Kubuntu unterschieden. Also ruhig lieber genauer suchen und dann der Installationsanleitung folgen.

Also wenn Flathub integriert ist, kann Touché ganz einfach installiert werden. Bei meinem KDE öffne ich dazu einfach das Programm Discover und gebe in der Suche Touché ein und drücke auf installieren. Warten. Fertig. Das Programm starten.

Jetzt können Touchgesten konfiguriert werden. Und zwar

  • 2 Finger Kneifgesten
  • 3 Finger Wischgesten
  • 4 Finger Kneifgesten
  • 4 Finger Wischgesten
  • Nur auf Touchscreens: Tippgesten für 2 und 4 Finger

Verfügbar sind folgende Optionen für eine ausgewählte Geste, die wohl so ziemlich fast alles abdecken, was so gebraucht werden könnte.

Meine Konfiguration sieht aktuell folgendermaßen aus. Eine Kombination aus “Es ist praktisch, aber nicht zu viel, was ich mir merken muss”

2 Finger kneifen Rein = Vollbildmodus an/aus
2 Finger kneifen Raus = Maximieren und zurück

3 Finger wischen hoch = Alle Fenster auf dem Desktop anzeigen / Fensterwechsler
3 Finger wischen runter = Minimieren
3 Finger wischen rechts = Programm beenden
3 Finger wischen links = Strg+w … in den meisten Programmen das Tab schliessen.

4 Finger wischen Hoch = Neues Dokument Strg+n
4 Finger wischen Runter = Speichern Strg+s

Views: 0

Tuxedo OS und Nextcloud Desktop Client

Praktischerweise ist der Nextcloud Desktop Client in den Quellen enthalten. Tuxedo OS hat als grafischen Desktop KDE als Grundlage. Der Nextcloud Client greift aber auf eine Technologie zur Speicherung von Authentifikationen zurück, die in einem Paket von GNOME, der andere große grafische Desktop. Das ist standardmäßig nicht installiert.

Das hat zur Folge, dass jedes Mal, wenn der Rechner neu gestartet wird, hat der Nextcloud Client vergessen, dass er schon authentifizier ist und fordert erneut eine Authentifikation an. Kann man mögen, muss man aber nicht.

Damit der Nextcloud Desktopclient nur einmal für immer authentifiziert werden kann, muss noch zusätzlich das Paket gnome-keyring installiert werden.

Das kann ganz fix in der Konsole oder einem Terminal gemacht werden mit dem Befehl

sudo apt install gnome-keyring

Dann nur noch einmal authentifizieren. Den Dialog mit dem gnome-keyring durchspielen. Und das war es schon.

Kleine Anmerkung, aber keine Empfehlung: Wer beim Gnome-Keyring, ein Passwort eingibt, muss auch nicht jedes Mal beim Start des Systems ein Passwort eingeben. Allerdings die Authentifizierung dann auch nicht mehr geschützt. Bequemlichkeit gegen Sicherheit. Beides ist legitim. Es sollte nur gewusst werden.

Views: 0

Tuxedo OS und Wine

Tuxedo OS bzw aktuell zur Erstellung des Artikels Tuxedo OS 2 ist ein maßgeschneidertes Ubuntu, der gleichnamigen Augsburger Computer Firma Tuxedocomputers ohne die zusätzliche umstrittene SNAP Paketverwaltung, aber dafür mit dem sehr aktuellen KDE Neon, Pipewire und einigem mehr.

Maßgeschneidert kann als “erweitert” verstanden werden.

So bleibt das Grundsystem gleich. Außer dass Anpassungen für die Hardware verfügbar sind, die Windows Wrapper Software Wine, mit der Windows Programme direkt unter Linux installiert und lauffähig sind. Und auch noch ein paar Optimierungen für den Grafikbeschleuniger Vulkan, dem Nachfolger von OpenGL.

Grundsätzlich kann gesagt werden, dass es ähnlich wie ein Kubuntu ist, nur aktueller und optimaler für die Hardware der Produkte von Tuxedocomputers angepasst.

Ich halte das hier in diesem Blogartikel fest, weil die Installation von Wine über die Installationsanleitung für Ubuntu über die Webseite WineHQ fehl schlägt. Aber Tuxedocomputers hat hier, wie oben schon erwähnt, ein zusätzliches Repository (angepasste Softwarequelle) mit der das Hinzufügen von Wine kein Problem mehr ist.

Da ich für meine Musikproduktion das Paket winehq-staging für die Windows Synthesizer und Audio Plugins und yabridge brauche, füge ich einfach das Småland-Repo wie auf der Webseite beschrieben hinzu – statt dem WineHQ Repo – und installiere es in der Kommandozeile (Konsole) mit

sudo apt install --install-recommends winehq-staging

Und damit kann ich nun alle Windowsprogramme in meinem Linux starten.

Quellen

Views: 7

Obsidian – PDF Export mit TOC

Für meine digitalen Notizen und Handbücher verwende ich seit längerer Zeit nur noch Markdown Textdateien. Aus Resilienz Gründen, um mit allen möglichen Programmen an meinen Daten arbeiten zu können und auch noch nach Jahren darauf zugreifen zu können, wenn es diverse Programme nicht mehr gibt.

Dazu benutze ich aktuell die Suite Obsidian unter Linux, weil sie mir eine sehr gute Oberfläche und Suche bietet. Ab und zu exportiere ich dann auch die eine oder andere Datei, oder eine Zusammenstellung als PDF Datei.

Der Export nach PDF ist zwar super, aber leider integriert sie kein Inhaltsverzeichnis (TOC: Table of Content). Gerade bei längeren Texten, die bei mir häufiger vorkommen, empfinde ich das als absolut notwendig.

In den Community Plugins, über das Einstellungsmenü von Obsidian, bin ich auch nicht fündig geworden. Aber glücklicherweise hat jemand dann noch ein Plugin geschrieben, das sich Obsidian Better Export PDF nennt und mit einer kleinen Installationsanleitung beschrieben wird.

Nun kann ich direkt PDFs mit wunderbaren Inhaltsverzeichnissen exportieren, ohne den Umweg über Copy n Paste über LibreOffice zu gehen.

Views: 5

Journalismus und Mastodon

Der Journalismus sucht nach Twitter aka X eine Alternative und taucht immer wieder seine Zehen in das Fediverse. Oder wie es dann immer wieder schlecht recherchiert heißt: in Mastodon.

Gerade höre ich wieder einen Podcast in dem ein Journalist sich darüber beklagt, dass das alles so kompliziert sei und nachdem er sich bei Mastodon angemeldet hat, ihm niemand folgt. Aber weder im Podcast, noch auf der Webseite des Podcasts, noch beim öffentlich rechtlichen Rundfunk oder über irgendeine Suchmaschine ist sein Account auffindbar.

Wer sich versteckt, sollte sich nicht beklagen, dass er nicht gefunden wird.

Das ist leider kein Einzelfall.
Viele dieser jammernden JournalistInnen geben nicht an, wo sie zu finden sind. Es scheint mir manchmal, als wäre das die Idee dahinter.

Allerdings gibt es auch gute Gegenbeispiele. Es gibt sehr viele JournalistInnen, die im Fediverse, oder wie der Pop-Journalismus sagt “Mastodon” vertreten und sichtbar sind. Die verstanden haben, dass Ansehen durch Vertrauen entsteht. Oder auf neudeutsch: Follower durch gute Arbeit und nicht durch Algorithmus.

Und vielleicht noch eine Sache, die dem Jammeralismus nicht so gut steht: Was ist von deutschen JournalistInnen zu halten, die das das Prinzip eines Föderalismus oder einer Basisdemokratie aka Dezentralisierung nicht verstehen?

Wer mehr über das Fediverse (Mastodon und alle anderen) verstehen möchte, dem möchte ich unseren Podcast ans Herz legen, der sich mit einigen Projekten auseinander setzt und auch hier und da mal ein wenig mehr darüber erklärt.

Alles über das Fediverse #komprimiert
https://besser.demkontinuum.de/2022/05/alles-ueber-das-fediverse-komprimiert/

Das Fediverse als Chance
https://besser.demkontinuum.de/2021/12/das-fediverse-als-chance/

Und wenn JournalistInnen es tatsächlich ernst meinen und immer noch Fragen über die Organisation und Funktion haben, dann fragen Sie mich doch gerne per Mail hoergen ett hoergen Punkt org oder über das Fediverse

Danke

Views: 0

Warum Cookie Banner doof sind

Es gibt sie immer noch: die Cookie Banner. Teilweise seitenweise Erklärungen warum diese 35 Punkte ein oder ausgeschaltet werden können und warum die Seite ohne die Zustimmung nicht angeschaut werden darf. Was dann in den meisten Fällen dann doch geht. Was dann wiederum Fragen aufwirft, für was jetzt eigentlich die Zustimmung erteilt wurde.

Auch gibt es seit längerem eine gesetzliche Regelung, dass manche Optionen nicht als Standard gesetzt sein dürfen, sondern von den BesucherInnen selbst gesetzt werden müssen. Das nennt sich “Opt-In”. Also Optional einschalten. Das Gegenteil heißt “Opt-Out” und ist in vielen Fällen nicht zulässig.

Für BesucherInnen sehr nervig. Und von Seitenbetreibern auch teilweise illegal. Wie das ZDF mit seinem Cookie Banner, das im zweiten Untermenü den Punkt “Erforderliche Erfolgsmessung” standardmäßig eingeschaltet hat. Nur weil es nach müssen klingt, ist es dennoch illegal.

Warum gibt es diese Cookie Banner überhaupt?
Sie informieren grob über 2 Dinge.

  1. Die Webseite benutzt ein Cookie für das Login oder die Session (Webshop, Artikel merken)
  2. Die Webseite nutzt externe Resourcen. Zum Beispiel Software oder Dateien, die bei deinem Besuch immer aktuell von anderen Webseiten mitgeladen werden. Bekanntes Beispiel sind die Google Fonts.

Beide Punkte sind bei einem einfachen Besuch einer Webseite ohne Login oder Session nicht notwendig.

Punkt 1 betrifft es, wenn du dich bei einer Webseite anmeldest (Webshop, Webmailer usw), dann wird so etwas natürlich gebraucht. Und hier bekommst du bei deiner aktiven Anmeldung auch die AGBs angezeigt, durchläufst einen Prozess, bei dem dir das irgendwann auffallen sollte, was du da gerade tust.

Punkt 2, das Benutzen von externen Resourcen ist absolut vermeidbar. Und Punkt 2 ist auch meist der Grund für diese ausschweifenden Cookie Banner.

Ein Vergleich aus dem echten Leben, warum Webseiten diese Cookies immer noch setzen.

Du kennst doch bestimmt die Bilder von Stromleitungen, die eher aussehen wie so ein verheddertes Wollknäuel. Im Laufe der Zeit haben sich diverse Leute dazu eingeklinkt und irgendwas davon abgezweigt. Vermutlich wusste keiner so ganz genau, ob das in Ordnung ist, ob das nicht alles überlastet und ob da nicht ein Kurzschluss mit eingebaut wird. Also ein riesiges Chaos von Verbindungen unbekannter Art und keinerlei Chance auf Einschätzung, was da genau passiert und Hoffen, dass es irgendwie gut gehen wird.

Deutlich gesagt entspricht das den Webseiten, die solche Cookie Banner einblenden. Die haben irgendwann angefangen was zu bauen, dann nützliche Funktionen von anderen Webseiten und anderen Programmbibliotheken dazu genommen, dann noch einen Drittanbieter mit rein genommen, ein anderer macht die Auswertung. Zum Schluss bleibt dieser chaotische Haufen von Funktionen, Verbindungen und DrittanbieterInnen und die WebseitenanbieterIn hat komplett den Überblick bzw die Kontrolle verloren, was da eigentlich passiert.

Die “Technologie” hinter der Webseite sieht aus und “funktioniert” wie diese chaotischen Stromleitungsknäuels.

Statt dieses Chaos aufzuräumen und mit einer zeitgemäßen Technologie aus diesem Jahrhundert zu ersetzen, werden Schilder (Cookies) mit der Aufschrift “Könnte Strom enthalten – Benutzung auf eigene Gefahr” aufgehängt.

Würdest du eine Elektrikerfirma für deine Wohnung oder Haus beauftragen, die so agiert und würdest du Gefahr laufen wollen, dass jedes Mal wenn du einen Schalter betätigst du eventuell: einen Stromschlag bekommst oder das Licht in der Küche an oder aus geht oder alle Wasserhähne im Haus auf oder zu gehen oder ein Webcam Livestream von dir auf YouTube läuft oder deine Kreditkartennummer auf Wikipedia veröffentlicht wird, oder ein Bestellung über 25.000 Liter Milch ausgelöst wird?

Cookie Banner sind doof. Aber sie zeigen wunderbar, wie sehr diese Webseite sich um das Besucherwohl beim einem reinen Besuch kümmert.

Viel Cookie = Wir haben die Kontrolle verloren
Kein Cookie = Wir wissen was wir tun

PS: Und nur weil manche Webseiten über “Computers” oder “Das Internet” reden, heißt das noch lange nicht, dass sie eine Ahnung davon haben.

Views: 0

Bock auf eine lobbyverseuchte Podcastfolge über Konsum aka weltweite Lieferketten?

Kann denn das wirklich sein?

Der Tenor “Das wird sich ganz schlimm auf die VerbraucherInnen auswirken und sie werden sehr viel mehr bezahlen müssen” wird nicht ein einziges Mal durch die Frage “Könnten denn die Produzenten, die teils riesigen Gewinnmargen nicht als Beitrag zu einer stabileren Wirtschaft senken?” unterbrochen.

Aber nein nein, die Bedrohung “Wenn wir die Produktion aus den Billiglohnländern zurück holen, wird alles teurer” schwebt als eine Art Argument (??) für das “Keep die Gewinnmarge so high wie possible” über allem.

Witzigerweise werden gerade Jeansprodukte und Pharma genannt. Die Bereiche mit den höchsten Gewinnmargen überhaupt.

Zwischendurch wird noch Supercomputer, Blockchain und CyberCyberKriminalität eingeworfen, damit das alles noch komplexer und teurer erscheint. Aber die Kabelbäume in Autos werden noch von Hand montiert “weil es hochkomplex und ein sensibler Bereich ist”.

Übersetzt heißt das: ArbeiterInnen sind immer noch billiger als Roboter. Was dann sofort die Frage aufwirft, ob diese Arbeit wirklich gerecht bezahlt wird. Also so in echt in der Realität. Denn eigentlich sind Roboter immer billiger als ArbeiterInnen …

Ein Paradebeispiel für Framing für den Profit

Hier die Beschreibung und URL zu “radio Wissen”

Weltweite Lieferketten – Wer verbindet, wer hält, wer bedroht sie?
Lieferketten halten die Welt zusammen und sind dabei anfällig für geopolitische Spannungen, Cyberkriminalität und Produktionsbedingungen. Das deutsche Lieferkettensorgfaltspflichtgesetz und die europäische Lieferkettenrichtlinie sollen sie nun transparenter und widerstandsfähiger machen. Digitalisierung ist dabei sehr wichtig. Autorin: Brigitte Kramer
Weltweite Lieferketten – Wer verbindet, wer hält, wer bedroht sie? 22 Min. | 27.9.2023 VON: Brigitte Kramer
Ausstrahlung am 28.9.2023
https://www.br.de/mediathek/podcast/radiowissen/weltweite-lieferketten-wer-verbindet-wer-haelt-wer-bedroht-sie/2052706

Views: 0

Feiglinge und Drückeberger

Ob Klimawandel, Coronaimpfung, Maskenverweigerung oder einfach nur stumpfer Rassismus und alle Varianten von Diskriminierung, sind die Hauptzutaten aus den miefigen Wohnstuben von Menschen, die zu feige sind Verantwortung für ihr Land, ihr Volk und ihre Mitmenschen zu übernehmen.

Ein Haufen Drückeberger und Feiglinge, die sich in Gruppen zusammen schließen und hoffen, dass sich nie irgendetwas ändern würde. Die hoffen, dass die Welt, von der sie maximal profitieren, nie die dazu gehörige Verpflichtung einfordern wird.

So lassen sie sich von einer dümmlichen Faschistenideologie einnebeln. Und sie sagen mit Recht “Ich bin kein Nazi”, denn der Parteieintritt in die NSDAP ist ja nicht mehr möglich. Aber sie halten dennoch die selbe Ideologie und den selben irren Geisteszustand hoch, der auch per spontanem Zufall das Feindbild von Religion auf Lebensalter, Körperfülle oder andere ausgedachte Merkmale ändern könnte.

Nach dem Grundsatz: Wer als Nächster in der Reihe das schwächste Glied ist, wird gejagt.

Die Gruppe, die zuvor noch unterstützt hat, wird von anderen Mitläufern, die weiter oben in der Nahrungskette sind, geschlachtet.

Und gerade die stillen Mitläufer, die sich lieber raus halten möchten, sind die, die ebenfalls schnell verzichtbar werden. Denn sie bremsen nur den euphorischen Blutrausch der Psychopathen und Menschenverführer.

Die Menschen, die sich als Protestwähler, eigentlich Konservative, Wutbürger, Ich bin ja kein Nazi aber oder Wachschafe bezeichnen sind einfach nur Nutzvieh, Feiglinge und Drückeberger, die ihre eigenen Schlächter züchten und deren Villen finanzieren.

Überlegt euch lieber vor der nächsten Wahl, dass ihr nicht irgendwann nach der Wahl und Machtergreifung an euer eigenes Kreuz genagelt werdet.

Views: 0

Auf der Erde gab es schon immer mal höhere Temperaturen

Nicht nur die Temperaturen steigen an, sondern auch die Extremwetterereignisse nehmen zu. Das Klimaleugnen wird zwar immer schwieriger, aber gerade der faschistische Teil der Gesellschaft verbreitet immer wieder “Es gab Zeiten auf der Erde, da war es auch schon um einiges wärmer oder kälter. Das sei normal. Das ist die Natur.”

Als Laie ist es oft schwierig in solchen Diskussionen an den gesunden Menschenverstand der Menschen zu appellieren, daher hier ein Vergleich, wie dieses “es war ja schon mal wärmer und es hat uns auch nicht geschadet” Argument sofort als absoluter Unsinn entlarvt werden kann.

Stell dir vor, Klimawandel ist wie die Beschleunigung in einem Auto. Es gibt Autos die beschleunigen von 0-100 km/H in 20 Sekunden und es gibt sehr sportliche Autos die beschleunigen in 6-8 Sekunden auf 100 km/h. Das drückt dich dann ordentlich in den Sitz. Und das beschreibt die historischen Temperaturverläufe auf der Erde.

Der Klimawandel und Temperaturanstieg, den wir jetzt haben, ist mit der Beschleunigung von 0-100 km/H im Millisekunden Bereich vergleichbar. Tendenz schneller werdend. Und das ist mit sehr großer Wahrscheinlichkeit tödlich.

Normal oder “Die Natur” ist es, wenn Menschen ohne Hilfsmittel beschleunigen, das gemeinhin auch Laufen und Rennen genannt wird.

Und nebenbei gesagt, ist es immer von Vorteil auf Menschen zu hören, die sich auf ihrem Gebiet sehr gut auskennen. Die Wahrscheinlichkeit steigt sogar, wenn ganz viele Menschen aus einem Fachgebiet das Gleiche oder sogar das Selbe sagen. Wissenschaft.

Views: 0

Passkey : alter Schuh in neuen zerlöcherten Schläuchen

Seit einiger Zeit wird ein neues “Passwortkonzept” beworben, womit die alten Passwörter nicht mehr notwendig sind. Über dieses “neue” Konzept wird viel gesprochen und viel Unsinn verzapft. Daher kurz zusammengefasst, ohne Bullshit und Buzzword Bingo

Passkey nutzt die Kombination aus

  1. Asymmetrischer Verschlüsselung wie GPG
  2. Biometrie, wie Gesicht, Fingerabdruck
  3. Synchronisation über mehrere Geräte

So gut, wie das jetzt werbetechnisch hier aussieht ist es gar nicht. So ganz gar nicht! Oder noch deutlicher

Das Konzept von Passkey ist sehr schlecht!

Ich erkläre und kommentiere diese drei Punkte in dieser Kritik, damit die massiven Probleme einfacher verstehbar werden.

Asymmetrische Verschlüsselung – GPG

Vorneweg: asymmetrische Verschlüsselung ist sehr gut!
Diese Verschlüsselung gibt es für Endverbraucher schon seit 25/30 Jahren z.B. für Email. GPG/GnuPG (GNU Privacy Guard) oder früher auch die kommerzielle Variante PGP eines Anbieters.

  1. Diese Verschlüsselung funktioniert so, dass mit Hilfe der Software ein Schlüsselpaar generiert wird (z.B. 2 Text-Dateien).
  2. Eine Datei enthält den Privaten/Geheimen Schlüssel und eine Datei enthält den Öffentlichen/Public Schlüssel. Zwei unterschiedliche Schlüssel, daher heißt diese Verschlüsselung asymmetrisch.
  3. Den geheimen Schlüssel muss ich beschützen und sicherstellen, dass niemand diesen Schlüssel in die Hände bekommt. Diesen Schlüssel brauche ich, um Daten, die mit dem öffentlichen Schlüssel verschlüsselt wurden, wieder zu entschlüsseln. Dieser geheime Schlüssel darf also niemals meine “Hände” verlassen.
  4. Ganz im Gegenteil dazu der öffentliche/public Schlüssel. Mit diesem Schlüssel können Daten nur verschlüsselt werden. Nicht entschlüsselt, sondern nur VERschlüsselt werden. Daher kann dieser öffentlich Schlüssel offen verteilt werden, überall gepostet oder irgendwelchen wildfremden Menschen in die Hand gedrückt werden. Das Einzige, was diese machen können ist dann Daten zu verschlüsseln, die nur noch ich mit meinem privaten/geheimen Schlüssel wieder entschlüsseln kann.

Das ist das grundlegende Prinzip von GPG oder asymmetrischer Verschlüsselung.

Biometrie

Auch wenn Biometrie immer wieder in Zusammenhang mit Sicherheit gebracht wird, bleibt es weiterhin absolut falsch.
Folgende Definition ist richtig:

Biometrie = Bequemlichkeit = unsicher

Und auch wenn immer noch auf die Einzigartigkeit von Fingerabdrücken, Augen bzw Iris oder anderen Körpermerkmalen hingewiesen wird, so wird auch immer wieder vergessen, dass wir unsere Fingerabdrücke bei jeder Gelegenheit unzählige Male jeden Tag hinterlassen. Dass unsere Augen, alleine durch die Smartphones zigtausend Mal fotografiert wurden und alle anderen Merkmale, wie Stimme usw überall verfügbar und aufgezeichnet sind.
Biometrie ist Bequemlichkeit und damit das absolute Gegenteil von Sicherheit.

Synchronisation

Synchronisation ist mittlerweile ein allgegenwärtiger Begriff, weil wir viele Geräte besitzen und auf jedem Gerät immer alles auf dem selben Stand halten wollen. Und das möglichst automatisch. Also synchronisieren wir unsere Dokumente, Bookmarks, Bilder, Musik usw über irgendeinen Service. Meist ist es eine Cloud eines externen Anbieters (außerhalb unserer Wohnung, auf der anderen Seite des häuslichen Internetrouters). Das ist bequem. Und wie schon weiter oben geschrieben, ist Bequemlichkeit das Gegenteil von Sicherheit.

Wenn alles zusammen kommt

So, wie passt das jetzt alles zusammen?

GPG oder die asymmetrische Verschlüsselung ist eine super Sache. Sie funktioniert hervorragend und wird auch von vielen Geheimdiensten, Botschaften, JournalistInnen benutzt, um Geheimes erfolgreich geheim zu halten. Bei “geheim halten” muss es sich dabei nicht um Staatsgeheimnisse handeln, es können auch einfach Dinge sein, die einfach Dritte nichts angehen.

Der geheime Schlüssel soll nun also z.B. auf dem Smartphone, auf einem extra Chip (Hardware) als eine Art Safe gespeichert werden, der mit Hilfe von Biometrie (Gesichtserkennung, Fingerabdruck, usw) aufgeschlossen werden kann. Das an sich ist nochmal eine Abhandlung über vorgetäuschte Sicherheit wert, die aber dieses Thema hier absolut sprengen würde.

Dieser “super extra” Hardware Safe soll mit dieser Biometrie Technologie aufgeschlossen werden, die jegliche Sicherheit zugunsten von Bequemlichkeit eliminiert.

Das ist ungefähr so, als würden wir die weltbeste Tür gegen Einbrecher einbauen, sie aber dann aus Bequemlichkeit offen lassen, weil uns der Schlüssel zu schwer ist.

Aber es kommt noch schlimmer. Damit es für uns noch bequemer wird und wir auf allen unseren Geräten (Smartphone, Tablet, Computer, Kaffeeautomat) unsere z.B. Bankgeschäfte machen können, soll nun dieser private Schlüssel auf alle diese Geräte synchronisiert werden. Also auf verschiedene Geräte, die alle unterschiedliche Schwachstellen haben können.

UND: die Synchronisation wird über einen externen Anbieter und deren Cloud durchgeführt. Zwar verschlüsselt, aber der Geheime Schlüssel wird unter Umständen mehrfach quer durch die Welt verschickt, in der Cloud eines Anbieters “zwischengespeichert” oder geBackupt, um dann auf eines unserer Geräte zu speichern. Das unter Umständen vielleicht auch gar nicht über diesen super extra Chip (Safe) verfügt. Der sowieso durch die Biometrie ausgehebelt wird.

Um in dem Bild der weltbesten Tür gegen Einbrecher zu bleiben: Zu unserer nicht mehr sicheren Tür, weil für uns und die Einbrecher bequem, bauen wir jetzt noch mehr solcher Türen in unsere Wohnung ein, die wir offen lassen, damit wir und die Einbrecher von noch mehr Seiten einfacher in die Wohnung kommen.

FAZIT

  1. GPG oder GnuPG bzw asymmetrischer Verschlüsselung ist eine super Sache und wirklich das Sicherste, was schon seit Jahrzehnten genutzt werden kann
  2. Biometrie ist nur Bequemlichkeit und absolut Unsicher
  3. Synchronisation auf mehrere Geräte verringert die Sicherheit zusätzlich und unter Umständen massiv
  4. Synchronisation über einen externen Anbieter oder gar über einen Cloud Anbieter ist das absolute Worst Case Szenario, da der Anbieter den geheimen Schlüssel dann besitzt.
  5. Externe Anbieter haben oft Abkommen mit Diensten, die Zugriff auf diese Daten haben.

So, was aber nun tun um die Passwörter sicher zu halten?
Da hilft leider nur die alte aber immer noch erste Regel der Sicherheit:

Der Grad an Sicherheit ist ausschließlich eine Frage der Höhe des Aufwandes.

Bequemlichkeit ist immer das Gegenteil von Sicherheit und daher ist es gut, sich Gedanken zu machen, wie mit solchen sensiblen Dingen wie z.B. Passwörtern umgegangen wird. Und wem Zugriff darauf gegeben wird.

Ein Anfang ist es sicherlich schon mal GPG zu nutzen und den geheimen Schlüssel selbst zu verwalten und zu sichern. Zum Beispiel in einer einfachen Textdatei. Die natürlich mit GPG verschlüsselt ist und ein komplexes Passwort hat, das wir uns merken und ab und an ändern.

Nützliches & informative Links
  1. Passkey https://de.wikipedia.org/wiki/FIDO2#Passkey
  2. GnuPG https://gnupg.org/
  3. Asymmetrische Verschlüsselung einfach erklärt https://youtu.be/yWrtCtQ7Wno
  4. Gpg4win – Sichere E-Mail- und Datei-Verschlüsselung https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Informationen-und-Empfehlungen/Freie-Software/E-Mail-Verschluesselung/GPG4Win/gpg4win_node.html
  5. Das GNU-Handbuch zum Schutze der Privatsphäre https://www.gnupg.org/gph/de/manual/book1.html
  6. Biometrie wurde vom früheren SPD-Bundesinnenminister Otto Schily forciert und als “sicher verkauft”. Nach seinem Ausscheiden wurde er Aufsichtsratsmitglied in zwei Biometrie-Unternehmen. 1 2 3 4
  7. Synchronisation, Cloud und Serviceanbieter wie Google, Microsoft, Apple, Amazon usw haben regelmäßig (spätestens im Monatsrhytmus) Einbrüche bzw wurden gehackt, oder Totalausfälle bzw Absprachen mit irgendwelchen Diensten, die ihrerseits wieder gehackt werden. 1 2 3 4

Views: 0

Vim-Cheat Sheet

Weitere Vim Artikel hier im Blog.

Vim Modi

Erklärung

Vim ist ein modaler Editor. Dies bedeutet, dass man in unterschiedlichen Modi arbeitet, was Einsteigern oft Probleme bereitet, andererseits aber eine sehr große Zahl von Tastenkürzeln erlaubt, da sich diese an einzelne Modi binden und daher auch mehrfach belegen lassen.
Es gibt sechs Grundmodi. Zusätzlich gibt es noch fünf weitere Grundvarianten der Grundmodi.

Normalmodus ESC

Vim startet im Normalmodus, oft auch als Kommando- oder Befehlsmodus bezeichnet. Hier kann man über Tastenkürzel zum Beispiel Zeilen kopieren und verschieben oder Text formatieren. Dies ist der zentrale Modus, von dem in alle anderen Modi gewechselt wird. Durch das zweifache Drücken der Esc-Taste gelangt man immer in den Normalmodus zurück.

Der Punkt . wiederholt immer den letzten eingegebenen Befehl.

Einfügemodus / Insert

Im Einfügemodus verändern Tastatureingaben den editierten Text, so wie man es von anderen Editoren kennt. Man erreicht diesen Modus vom Normalmodus aus zum Beispiel über i (für engl. insert = einfügen).

Kommandomodus / Command

Vom Normalmodus ausgehend! Dieser Modus wird durch den einleitenden Doppelpunkt : erreicht. Hinter dem Doppelpunkt können dann komplexe Kommandos wie beispielsweise zum Suchen und Ersetzen eingegeben werden. Nach dem abschließenden Enter “Eingabetaste” wird der Befehl ausgeführt und man befindet sich wieder im Normalmodus. Zu diesem Modus zählen des Weiteren die Kommandos / (Textmuster vorwärts suchen), ? (Textmuster rückwärts suchen) und das Filter-Kommando !, mit dem die UNIX-Kommandos “UNIX-Kommandos” (zum Beispiel sort) aufgerufen und auf den Text angewandt werden können.

Vim Normalmodus ESC ESC

Vim beenden & speichern (Kommandomodus)

  • :q beenden (quit)
  • :q! , :cq, SHIFT + ZQ beenden ohne zu speichern trotz Änderungen (cancel)
  • :wq , SHIFT + zz speichern (write) und beenden
  • :w aktueller Inhalt in Datei speichern
  • :w FILE.TXT speichert den Inhalt des Editors in die Datei FILE.TXT
  • :w !sudo tee FILE.TXT speichert die Datei mit dem vorangehenden sudo Aufruf

Multiplikator

:help motion-count-multiplied

Zu einem Befehl kann noch eine Zahl eingegeben werden, dann wird der Befehl entsprechend oft wiederholt.
Beispiele

  1. Wurde eine Zeile mit yy (yank) in den Zwischenspeicher kopiert, dann wird sie mit 5p 5x darunter eingefügt.
  2. Sollen die nächsten 7 Zeichen rechts gelöscht werden : 7x
  3. Sollen ab der aktuellen Position die nächsten 3 Wörter gelöscht werden: 3dw
  4. Soll ab der aktuellen Position mitten in einem Wort, insgesamt 3 Wörter gelöscht werden: 3diw (3x Delete Include Word)
  5. Soll ab der aktuellen Position mitten in einem Wort, insgesamt 3 Wörter gelöscht werden und gleich in den Eingabemodus gewechselt werden: 3ciw (3x Change Include Word)
  6. Die nächsten 10 Zeilen löschen: 10dd
:help motion
:help scroll-cursor
  • Pfeiltasten , hjkl links, runter, hoch, rechts . Die Pfeiltasten hjkl sind sehr wichtig bei der Nutzung von Multiplikatoren.
  • Bild hoch , Bild runter Eine Seite hoch / runter
  • Pos1 , 0 an den Zeilenanfang springen
  • ^ springt an den Zeilenanfang auf das erste Zeichen, das kein Leerzeichen oder Tab ist
  • Ende , $ an das Zeilenende springen
  • w ein Wort nach rechts springen (Wortanfang)
  • e an das Ende eines Wortes, auf den letzten Buchstaben springen (Wortende)
  • b ein Wort nach links springen (Wortanfang)
  • ) einen Satz vorwärts springen
  • ( einen Satz rückwärts springen
  • SHIFT + h zur ersten Zeile des aktuellen Fensters springen
  • SHIFT + m in die Mitte des aktuellen Fensters springen
  • SHIFT + l in die letzte Zeile des aktuellen Fensters springen
  • STRG + d einen halben Bildschirm runter blättern (down)
  • STRG + u einen halben Bildschirm hoch blättern (up)
  • gg an den Datei Anfang springen
  • SHIFT + g an das Datei Ende springen
  • : + ZAHL springt in die Zeile ZAHL
  • f + ZEICHEN springt zum nächsten Vorkommen des Zeichens
  • SHIFT+ f + ZEICHEN springt zum vorherigen Vorkommen des Zeichens
  • z + ENTER oder zt aktuelle Zeile in die erste Zeile des Displays scrollen (top)
  • zz oder z. aktuelle Zeile in die Mitte des Bildschirms scrollen
  • z- oder zb aktuelle Zeile an den unteren Rand scrollen (bottom)

Marks (Bookmarks)

:help bookmark

Bookmarks sind einzelne Zeichen von a-z und A-Z die im Text gesetzt werden können, um schnell hin und her zu springen.

  • m + ZEICHEN einen Marker setzen. z.B. mb setzt den Marker b
  • ' + ZEICHEN zu einem Marker springen . z.B. 'b springt zum Marker b
    • Das ' ist das Zeichen auf einer deutschen Tastatur auf dem #

Undo & Redo

:help undo
  • u Undo (Rückgängig machen)
  • SHIFT + u Undo alle Änderungen, die zuletzt in der aktuellen Zeile gemacht wurden
  • STRG + R Redo
  • :undolist zeigt den Verlauf der letzten Änderungen, die rückgängig gemacht werden können. Dabei zeigt die Nummer den Index der Veränderung, die direkt ausgewählt werden kann. Changes zeigt an, wieviele Veränderungen gemacht wurden und die Uhrzeit, wann die Veränderungen gemacht wurden.
  • NUMMER + STRG + r macht die Veränderung mit der Index NUMMER wieder rückgängig
  • Plugins wie undotree oder mundo machen das Undo & Redo sehr übersichtlich und einfacher

Copy & Paste

  • y Kopieren (yank)
  • yy Ganze Zeile kopieren
  • p vor dem aktuellen Cursor einfügen, oder Zeile
  • Shift + p nach dem aktuellen Cursor einfügen, oder Zeile
  • Zwischenablage / Clipboard (FAQ System Clipboard !)
  • "*y , "+y in den System Zwischenspeicher kopieren
  • "*p , "+p aus den System Zwischenspeicher einfügen. Analog "* oder "+ + SHIFT + p
  • Register / Vim interne Zwischenablage
    • Vim unterstützt von a-z 48 verschiedene Register (Zwischenablagen). So können unterschiedliche Dinge in verschiedene Register kopiert und an anderer Stelle in gleicher oder neuer Reihenfolge eingefügt werden.
    • Das Register wird mit " eingeleitet und der folgende Buchstabe a-z definiert in welchem Register der Inhalt gespeichert werden soll
  • "gyy kopiert die aktuelle Zeile ins Register g
  • "gp fügt den Inhalt aus dem Register ab dem aktuellen Cursor ein

Register / Zwischenspeicher 48 :registers

:help registers

  • Auszüge aus dem Hilfedokument
  • :registers zeigt alle Register an. :registers ZEICHEN zeigt das Register ZEICHEN an
  • STRG + r + REGISTER fügt im Insertmodus den Inhalt von REGISTER direkt ein.
  • "" (unnamed) Standardregister in das alles rein kopiert wird, was mit dcsx gelöscht oder mit y kopiert wurde
  • "a-z (named) mit einem großen A-Z wird das Kopierte an das a-z Register angehängt. Zusammen mit einem > wird vor dem Anhängen ein Zeilenumbruch eingefügt.
  • "0-9 (numbered) In Register 0 wird immer der zuletzt kopierte (yank) Inhalt. In Register 1 steht immer der zuletzt gelöschte Inhalt dc
  • "- Im Small Delete Register steht immer der zuletzt gelöschte Inhalt, wenn es weniger als eine Zeile war
  • Read-Only
    • ". enthält immer den zuletzt eingefügten Text
    • "% enthält den Dateinamen
    • ": enthält den zuletzt eingegeben Befehl
  • "* , "+ , "~ Zwischenspeicher / Clipboard . "~ ist der Inhalt des letzten Drag’n’Drop auf das Vim Fenster
  • "_ (black hole) bei einem Löschvorgang wird nichts in Register gespeichert
  • "/ (last search) enthält den Text der letzten Suche

Makros / Recording q

:help recording
  • MAKRO AUFZEICHNEN
    • q + a-z mit q wird das Recording gestartet und das nächste Zeichen z.b. a ist der Name des Makros. Also qa startet die Aufnahmen von Makro a
    • Mit dem erneuten Drücken der Taste q wird die Aufzeichnung des Makros beendet
  • MAKRO ABSPIELEN / AUFRUFEN
    • @q + a-z mit z.B. @qa wird das Makro a abgespielt bzw ausgeführt
    • Mit @@ wird das Makro wiederholt
    • mit 10@qa wird das Makro 10x hintereinander ausgeführt
  • MAKROS EDITIEREN
    • Makros werden als normaler Text in Registern gespeichert
    • Das REGISTER am besten in eine leere Zeile einfügen, weil nach dem Editieren einfach direkt die gesamte Zeile wieder im Register gespeichert werden kann " + REGISTERNUMMER + p z.B. "4p
    • Die Zeile editieren und (die gesamte Zeile) wieder zurück in das Register schreiben " + 4 + yy
    • Zur Kontrolle kann :registers oder :registers 4 eingegeben werden
    • Ein Makro kann einfach gelöscht werden, indem nichts aufgezeichnet wird. Z.b. Makro a = q4q
  • STEUERUNGZEICHEN EINGEBEN
    • Im Eingabemodus STRG + v + TASTE z.B. Enter/Return, ESC, F2, Backspace ….
  • REKURSIVE MAKROS
    • Im Makro selbst das Makro aufrufen
    • Läuft solange, bis es auf einen Fehler aufläuft

Autovervollständigung :abbr

  • :abbr + abkrz + AUSGESCHRIEBENER BEGRIFF wenn im Einfügemodus der Begriff abkrz und Leertaste (oder Enter, dann mit Zeilenumbruch) eingegeben wird, erscheint der AUSGESCHRIEBENER BEGRIFF
  • Beispiel: :abbr zb Zum Beispiel

Groß-/Kleinschreibung

  • ZEICHEN
    • ~ ändert das aktuelle Zeichen auf Groß oder Klein
  • WORT
    • g~w Invertiert die Groß-/Kleinschreibung des aktuellen Wortes
    • guw Ändert von der aktuellen Position bis zum Ende des Worts von Groß- auf Kleinschreibung
    • guaw Ändert das gesamte Wort auf Kleinschreibung. Egal auf welcher Position der Cursor ist
    • gUw Ändert von der aktuellen Position bis zum Ende des Worts von Klein- auf Großschreibung
    • gUaw Ändert das gesamte Wort auf Großschreibung. Egal auf welcher Position der Cursor ist
  • ZEILE
    • guu Ändert die aktuelle Zeile von Groß- auf Kleinschreibung
    • gUU Ändert die aktuelle Zeile von Klein- auf Großschreibung
    • g~~ Invertiert die Groß-/Kleinschreibung der gesamten Zeile
    • gU5jÄndert die darunter liegenden Zeilen zu Großschreibung
    • gu3k Ändert die darüber liegenden Zeilen zu Großschreibung
  • SATZ
    • gU)Ändert alles zu Großschreibung bis zum Ende des Satzes
  • ABSATZ
    • gu} Ändert alles bis zum Ende des Absatzes zu Kleinschreibung
  • DOKUMENT
    • guG Ändert alles zu Kleinschreibung bis zum Ende des Dokumentes

Auswählen/Markieren

  • v Zeichenweise
  • SHIFT + v + Pfeiltasten Zeilenweise
  • STRG + v + Pfeiltasten Vertikal
  • Beispiele: 10v markiert 10 Zeichen, 3wv markiert 3 Wörter, )vy markiert bis zum Ende des Satzes und kopiert ihn in den Zwischenspeicher/Register.

Löschen & entfernen

  • x Zeichen unter dem Cursor löschen
  • SHIFT + x Zeichen links vom Cursor löschen
  • DELETE & CHANGE
    • Gelöscht werden kann mit d (delete) oder c (change). Bei d bleibt Vim im Normalmodus und bei c wird nach dem Löschen in den Eingabemodus gewechselt und es kann direkt mit der Eingabe begonnen werden.
  • dd löscht die komplette Zeile
  • dw , cw löscht das Wort rechts
  • dip , cip Lösche nur den Absatz
  • dap , cap Lösche den Absatz und die nachfolgenden Leerzeilen

Suchen

  • /Suchbegriff<ENTER> vorwärts suchen. Vim zeigt den ersten Fundort an. Soll der nächste Fundort angesprungen werden muss die Taste n (Next) oder * gedrückt werden mit Shift + n oder # wird die Suche rückwärts ausgeführt.
  • ?Suchbegriff<ENTER> rückwärts suchen

Vim Command Modus

Datei laden

  • :e Öffnet den Dateibrowser. Bei Auswahl mit der Entertaste wird die Datei in das aktuelle Fenster geladen.
  • :e FILE.TXT öffnet direkt die Datei in das aktuelle Fenster
  • :Sex Teilt das Fenster horizontal in ein weiteres Fenster mit einem Dateibrowser
  • :Vex Teilt das Fenster vertikal in ein weiteres Fenster mit einem Dateibrowser

Fenstermanagement

  • :tabnew Neues Fenster in neuem Tab
    • :tabprev , gt gehe zum nächsten Tab
    • :tabnext , gT gehe zum vorherigen Tab
      • Bessere Lesbarkeit der Tabs
      • :hi tablinesel ctermbg=darkblue ctermfg=white
      • :hi tabline ctermbg=black ctermfg=green
    • Hilfe :help tabpage
  • :new Neues Fenster horizontal
  • :split Aktuelles Fenster horizontal teilen
  • :vsplit Aktuelles Fenster vertikal teilen
  • STRG + ww wechselt zum nächsten Fenster und rotiert bei Wiederholung durch alle Fenster
  • STRG + w<N> mit <N> sind die Pfeiltasten gemeint, oder auch hjkl mit denen direkt in das entsprechende Fenster gewechselt werden kann.
    Zum Beispiel
    • STRG + wl wechselt in das linke Fenster
    • STRG + wj in das untere Fenster
    • STRG + w<Pfeiltaste links> in das linke Fenster.
    • :ls die offenen Buffer (Fenster/Tabs) anzeigen lassen

Session Management

  • vim -S startet Vim wieder mit der zuletzt gespeicherten Session (aus der Session.vim Datei)
  • :mks! speichert die aktuelle Session in der Session.vim Datei

FAQ

  1. Paste Modes (Einfüge Modi)
    :set paste deaktiviert einige Automatismen, so dass eingefügte Daten z.B. ihre Struktur erhalten und nicht umformatiert werden. :set nopaste deaktiviert dieses Verhalten wieder.
    Hilfen :help paste , :help pastetoggle
  2. System Clipboard (Zwischenablage) Copy&Paste – Interaktion
    Damit "* und "+ funktioniert, muss ein Vim Paket mit grafischer Unterstützung installiert sein, in das die Option +clipboard mit eincompiliert wurde.
    Unter Linux mit einem X11 System repräsentiert "* die Option, womit der Inhalt mit der mittleren Maustaste an die aktuelle Stelle eingefügt werden kann.
    Um zu prüfen, ob die aktuelle Vim Installation den Austausch mit dem System Clipboard unterstützt: Im Normalmodus :echo has('clipboard') und ENTER eingeben. Wenn als Ergebnis eine 0 heraus kommt, wird es nicht unterstützt.
    Durch die Installation des Paketes vim-gtk3 (Ubuntu) wird Copy&Paste unterstützt.
    Hilfen :help clipboard , :help registers , :help cb (Current Buffer)

Weitere Vim Artikel hier im Blog.

Quellen

  1. https://de.wikipedia.org/wiki/Vim
  2. https://wiki.ubuntuusers.de/VIM/
  3. Einführung zu Vim – Tutorials Deutsch https://www.youtube.com/playlist?list=PLZ0CUq-i3Io9dAIKsHNwNAnTeKXamcQ5N
  4. Vim Tricks Live Coding auf Deutsch mit Daniel Siepmann https://youtu.be/P5tAKRVYj4E
  5. Register und Makros in Vim (clt23) Info Seite / Video

Views: 2

United Colors Of Wasserstoff

Auch wenn es absolut durchgeknallt klingt, was es auch ist, gibt es Wasserstoff in allem möglichen “Farben”. Und so schön dieser Titel auch klingen mag, die meisten Herstellungsverfahren sind sehr hässlich.

Natürlich sind es nicht wirklich echte Farben, sondern die Farben beschreiben lediglich die Herstellung und den Verbleib der Abfallstoffe. Dabei wird auch viel Framing (vorsätzliche Täuschungen) mittels “Greenwashing” von Firmen und Politik betrieben.
Also die vortäuschende Beschönigung einer schlechten Sache.

Fakten zu Wasserstoff

  • Wasserstoff ist ein chemisches Element mit dem Symbol H und der Ordnungszahl 1
  • lateinisch für Hydrogenium „Wasserbildner“
  • Der Großteil des Wasserstoffs auf der Erde ist im Wasser gebunden, der Verbindung mit Sauerstoff, deren Masse zu 11 % aus Wasserstoff besteht. In dieser Form bedeckt er über zwei Drittel der Erdoberfläche.
  • In der Erdatmosphäre liegt Wasserstoff hauptsächlich als gasförmiges Wasser (Wasserdampf) vor.
  • Unter Bedingungen, die normalerweise auf der Erde herrschen, liegt das gasförmige Element Wasserstoff nicht als atomarer Wasserstoff mit dem Symbol H vor, sondern als molekularer Wasserstoff mit dem Symbol H2, als ein farb- und geruchloses Gas.
  • Wasserstoffherstellung ist die Bereitstellung von molekularem Wasserstoff, Gas, (H2).
    • Als Rohstoffe können Wasser (H2O), Erdgas, das vor allem aus Methan (CH4) besteht, andere Kohlenwasserstoffe, Kohle, Biomasse sowie andere wasserstoffhaltige Verbindungen eingesetzt werden.
    • Als Energiequelle dient chemische Energie oder von außen zugeführte elektrische, thermische oder solare Energie.

Wirkungsgrad bei der Herstellung

Der Wirkungsgrad ist die sehr isolierte Betrachtung (unabhängig von der Art der Gewinnung) wieviel Prozent von 100% Energieeinsatz bei der Umwandlung oder Erzeugung von Wasserstoff, schließlich wieder in Energie, z.B. durch Verbrennung, zurück gewandelt werden kann.

Das sind nur die Werte, die ich bei meiner Recherche gefunden und als einigermaßen aussagekräftig erachtet habe.

  • Kværner-Verfahren (Pyrolyse) – Eine 1992 in Kanada erbaute Pilotanlage erreichte einen Wirkungsgrad von nahezu 100 % – allerdings nur unter der Voraussetzung, dass die dabei entstehende Abwärme vollständig genutzt wird. Der Energiegehalt der Reaktionsprodukte dieses Verfahrens verteilt sich etwa 48 % auf Wasserstoff, etwa 40 % auf Aktivkohle und etwa 10 % auf Heißdampf.
  • Elektrolyse mit fossilen Brennstoffen – 70% – 80% (wird CO2 freigesetzt)
  • Elektrolyse mit alternativen Energien – 34 und 44 % (es wird kein CO2 freigesetzt)
  • Thermochemisches Verfahren – bis zu 50% ABER! Den hohen thermischen Wirkungsgraden der thermochemischen Kreisprozesse (bis zu 50 %) müssen jedoch die heute noch weitgehend ungelösten material- und verfahrenstechnischen Schwierigkeiten gegenübergestellt werden

Wasserstoff Farben buzzwording

  • Grün =(alternative) mittels Elektrolyse durch Alternative Energien (Windenergie/Sonnenenergie)gewonnener Wasserstoff.
  • Orange = (alternative) Wasserstoffgewinnung aus Bioenergie, wie Biomasse, Biokraftstoff, Biogas oder Biomethan
  • Weiß = (Framing) natürliche Vorkommen werden mittels Fracking aus Gestein geholt. Ähnlich Erdgas.
  • Gelb = (Framing)
    • Bezeichnung von z.B. EnBW für Wasserstoff aus Atomstrom (rot pink, violett).
    • Bezeichnung von z.B. EWE für Wasserstoff aus fossilen Brennstoffen
    • Selten auch Wasserstoff aus Solarenergie. Meist eher aus einem Stromnetz Mix.
  • Grau = (fossile) Mittels Dampfreformierung aus Methan / Erdgas
  • Blau = (fossile) Wie “Grau” Herstellung aus fossilen Energieträgern. Anfallendes Kohlendioxid wird aufgefangen und unterirdisch gelagert.
  • Türkis = (fossile) Wie “Grau”. Bei türkisem Wasserstoff wird Erdgas mittels thermischen Verfahren “Methanpyrolyse” (Kværner-Verfahren) in Wasserstoff und festen Kohlenstoff gespalten.
  • Schwarz, Braun = (fossile) Basierend auf der Kohlevergasung von Steinkohle oder Braunkohle.
  • Rot, Pink, Violett = (Kernkraft) Elektrolyse mit Atomstrom

Diese Auflistung ist der Versuch einen Überblick über das sehr oft absichtlich verursachte Begriffs-Chaos zu bekommen, das ohne Probleme von Politik und Medien durch eine konsequente und einheitliche Kommunikation geordnet werden könnte.

Ich bin gespannt, wann die ersten Geschmacksrichtungen herauskommen. Es werden noch Wetten angenommen, welche Partei das als Erstes verkündet.

Quellen:
  1. Unser innerer Wasserstoffkonflikt https://joul.de/unser-innerer-wasserstoffkonflikt/
  2. https://de.wikipedia.org/wiki/Wasserstoff
  3. https://de.wikipedia.org/wiki/Wasserstoffherstellung
  4. https://de.wikipedia.org/wiki/Liste_der_Wasserstofftechnologien
  5. https://de.wikipedia.org/wiki/Kv%C3%A6rner-Verfahren
  6. https://de.wikipedia.org/wiki/Wasserstoffverbrennungsmotor
  7. https://www.umweltbundesamt.de/themen/klima-energie/klimaschutz-energiepolitik-in-deutschland/wasserstoff-schluessel-im-kuenftigen-energiesystem

Views: 0

Eine tmux.conf Konfiguration

Eine für mich sehr gut funktionierende tmux.conf entweder systemweit in /etc/ oder nur für einen Benutzer in der ~/.tmux.conf ist die folgende Konfiguration. Für mich waren hier die Statuszeile und die Einbindung des Maus Scrollrades zum Scrollen wichtig.

######################
### DESIGN CHANGES ###
######################

# loud or quiet?
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none

set -g mouse on

# modes
setw -g clock-mode-colour colour25
setw -g mode-style "fg=colour255 bg=colour25 bold"

# panes
set -g pane-border-style "fg=colour19 bg=colour0"
set -g pane-active-border-style "bg=colour0 fg=colour9"

# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style "bg=colour25 fg=colour255"
set -g status-left "#[bg=colour25,fg=colour255]"
set -g status-right "#[fg=colour255,bg=colour25] %d/%m/%Y #[fg=colour255,bg=colour25] %H:%M "
set -g status-right-length 50
set -g status-left-length 20

setw -g window-status-current-style "fg=colour15 bg=colour31 bold"
setw -g window-status-current-format "#I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F"

setw -g window-status-style "fg=colour0 bg=colour25 bold"
setw -g window-status-format "#I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F"

setw -g window-status-bell-style "fg=colour255 bg=colour1 bold"

Views: 0

Pipewire Latenz mit pw-metadata setzen

Wenn du Musikproduktion mit einer DAW z.B. Bitwig unter Linux machst, dann ist für dich das Thema Latenz sehr wichtig.

Was ist Latenz?

  1. Die Latenz (Verzögerung/Puffer) ist wichtig im Zusammenspiel zwischen dem Computer und dem Audiointerface (Audio und Midi).
  2. Je niedriger die Latenz, desto höher wird die CPU belastet, weil sie in sehr kurzen Abständen die Datenpakete verarbeiten muss. Je größer die Latenz, desto mehr Zeit darf vergehen, bis sich die CPU wieder um die Datenpakete kümmern muss.
  3. Wenn ausschließlich nur im Computer produziert wird, kann die Latenz ohne Probleme hoch sein.
  4. Ein guter Startwert ist schon mal 1024 Samples (21.3ms) – bei 48kHz.
  5. Erst wenn hier störende Verzögerungen bemerkbar sind, z.B. beim Spielen auf einem Controller oder Synthesizer und der Umsetzung auf den Computer, macht es Sinn diesen Wert zu verkleinern. Zum Beispiel wenn der Tastendruck und das Ertönen eines Sounds spürbar verzögert sind.

Eventuell interessiert dich noch der Artikel zum Thema Pipewire Realtime Konfiguration “Pipewire modul-rt Konfiguration” , um deine Audio/Videoanwendungen noch performanter zu machen

Pipewire Metadaten lesen mit pw-metadata

Der Befehl lautet pw-metadata und kann folgendermaßen benutzt werden

pw-metadata [options] [ id [ key [ value [ type ] ] ] ]
  -h, --help     Show this help
      --version  Show version
  -r, --remote   Remote daemon name
  -l, --list     List available metadata
  -m, --monitor  Monitor metadata
  -d, --delete   Delete metadata
  -n, --name     Metadata name (default: "default")

Die ID mit pw-metadata rausfinden

pw-metadataohne weitere Angaben ergibt so eine Ausgabe, die je nach Hardware natürlich unterschiedlich ist. Die ID steht hier immer weit links id:0

odo@computer~$ pw-metadata

update: id:0 key:'default.configured.audio.sink' value:'{"name":"alsa_output.usb-SOOPERAUDIOCARD_192k-00.pro-output-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.configured.audio.source' value:'{"name":"alsa_input.usb-SOOPERAUDIOCARD_192k-00.pro-input-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.audio.sink' value:'{"name":"alsa_output.usb-SOOPERAUDIOCARD_192k-00.pro-output-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.audio.source' value:'{"name":"alsa_input.usb-SOOPERAUDIOCARD_192k-00.pro-input-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.video.source' value:'{"name":"v4l2_input.pci-0000_00_14.0-usb-0_7_1.0"}' type:'Spa:String:JSON'

Alle verfügbaren Metadaten mit pw-metadata -l anzeigen lassen

odo@computer~$ pw-metadata -l

Found "settings" metadata 32
Found "default" metadata 40
Found "route-settings" metadata 41

Alle verfügbaren settings mit pw-metadata -n settings anzeigen lassen

odo@computer~$ pw-metada -n settings

Found "settings" metadata 32  
update: id:0 key:'log.level' value:'2' type:''  
update: id:0 key:'clock.rate' value:'48000' type:''  
update: id:0 key:'clock.allowed-rates' value:'[ 48000 ]' type:''  
update: id:0 key:'clock.quantum' value:'1024' type:''  
update: id:0 key:'clock.min-quantum' value:'32' type:''  
update: id:0 key:'clock.max-quantum' value:'2048' type:''  
update: id:32 key:'clock.force-quantum' value:'64' type:'(null)'  
update: id:64 key:'clock.force-quantum' value:'64' type:'(null)'

Settings temporär setzen mit pw-metadata -n settings id key value type

Hier werden nun Samplefrequenz auf 48kHz und die Samples auf 1024 gestellt, so dass 1024/48000 = 0,021333 als 21,3 Millisekunden Latenz raus kommen.
Soll es eine niedrigere Latenz bei einer Samplefrequenz von 48kHz sein, müssen die 1024 Samples herunter gesetzt werden. z.B. 768 (16ms) , 512 (10,6ms), 256 (5,3ms), 128 (2,6ms), 64 (1,33ms), 32 (0,68ms).

pw-metadata -n settings 0 clock.rate 48000
pw-metadata -n settings 0 clock.quantum 1024

Die Konfiguration permanent machen. Auch nach einem Reboot.

Folgende Datei im folgenden Verzeichnis erstellen ~/.config/pipewire/pipewire.conf.d/choppy-under-load.conf. Sie sollte z.B. diesen Inhalt enthalten. Wenn andere Werte ausgewählt wurden, dann natürlich die anderen Werte.

context.properties = {
   default.clock.rate = 48000
   default.clock.quantum = 1024
}
Quellen
  1. Pipewire Module-rt https://docs.pipewire.org/page_module_rt.html
  2. Pipewire Docs https://docs.pipewire.org/index.html
  3. Pipewire Configuration https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire
  4. pw-metadata https://docs.pipewire.org/page_man_pw_metadata_1.html
  5. pw-top https://docs.pipewire.org/page_man_pw_top_1.html
  6. Troubleshooting & XRuns https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#xruns
  7. Pipewire Ubuntuusers https://wiki.ubuntuusers.de/Pipewire/
  8. Pipewire Home https://pipewire.org/

Views: 0

Pipewire modul-rt Konfiguration

Hier findest du eine kurz & knackige Anleitung und Erklärung, wie du das Realtime Modul von Pipewire für deine Audio/Video Anwendungen einrichtest.

Für die Musikproduktion mit einer DAW z.B. Bitwig unter Linux kann dieses Thema für dich sehr wichtig sein.

Eventuell interessiert dich noch der Artikel über pw-metadata, mit dem du temporär und permanent deine Pipewire Konfigurationen verändern kannst

Benutzer in Gruppen aufnehmen

Der Benutzer unter dem die Applikation laufen soll, muss in die entsprechenden Gruppen (wenn vorhanden) aufgenommen werden mit einem Editor (z.B. nano oder vim) und Superuser Rechten die Datei /etc/group editieren

sudo vim /etc/group

und in den Zeilen, in denen rtkit und pipewire steht den Benutzernamen anhängen

rtkit:x:117:BENUTZERNAMEN
pipewire:x:136:BENUTZERNAMEN

Damit das wirksam (aktiv) wird, muss die Session neu gestartet werden. Entweder einfach ausloggen und wieder einloggen, oder den Computer neu starten.

Module-rt konfigurieren

Falls noch gar keine Pipewire Konfiguration vorhanden ist, muss diese erst angelegt werden. Das kann Systemweit in /etc/pipewire gemacht werden. Zu empfehlen ist es aber bei den meisten Systemen, da es sich meist um Eine-Person-Computer handelt im Heimverzeichnis des Benutzers z.B. /home/BENUTZERNAME/.config/pipewire/pipewire.conf.d .

Warum im Heimverzeichnis? Weil bei einem Backup des Benutzerverzeichnisses gleich die Pipewirekonfiguration der BernutzerIn mit gesichert wird. Gibt es auf dem Computer mehrere BenutzerInnen mit unterschiedlichen Konfigurationen, werden alle entsprechenden Konfigurationen mitgesichert und werden beim Zurückspielen einer Sicherung wieder “aktiviert”.

Info: Im Verzeichnis /usr/share/pipewire/ liegen bereits einige Beispiele von Konfigurationsdateien. Diese brauchen wir aber für unsere Aufgabe nicht. Und diese sind auch so generisch, dass sie nicht unbedingt auf unsere Konfiguration passen, ohne dass wir größere Änderungen an den gesamten Konfigurationsdateien vornehmen.

Konfiguration erstellen

Wir erstellen uns einfach die Datei pipewire.conf im Verzeichnis /home/Benutzername/.config/pipewire/pipewire.conf.d/ ganz einfach mit dem Aufruf eines Editors wie nano oder auch vim

vim /home/BENUTZERNAME/.config/pipewire/pipewire.conf.d/pipewire.conf

Und tragen folgende Zeilen ein. Das RTKit Modul libpipewire-module-rtkit ist hier deaktiviert und greift je nach Konfiguration nicht immer. Probiert es einfach aus, ob es bei euch funktioniert.
Darunter befindet sich dann das Pipewire Modul libpipewire-module-rt . DAS braucht ihr!

# Reload Configuration File
# systemctl --user daemon-reload
#
# Restart Pipewire Daemon 
# systemctl --user restart pipewire.service pipewire-pulse.socket

context.modules = [  

    # Uses RTKit to boost the data thread priority.
    #{ name = libpipewire-module-rtkit
    #    args = {
    #       nice.level   = -11
    #       rt.prio      = 88
    #       rt.time.soft = 2000000
    #       rt.time.hard = 2000000
    #   }
    #   flags = [ ifexists nofail ]
    #}

   # Set thread priorities without using RTKit.
   { name = libpipewire-module-rt  
       args = {  
           nice.level    = -11  
           rt.prio      = 88  
           rt.time.soft = 2000000  
           rt.time.hard = 2000000  
           rlimits.enabled = true  
           rtportal.enabled = true  
           rtkit.enabled = true  
       }  
       flags = [ ifexists nofail ]  
   }  
]

Pipewire als Benutzer neu starten

Da sich die Konfiguration auf der Festplatte geändert hat, müssen zwei Befehle mit ganz normalen Benutzerrechten eingegeben werden.

Neuladen der Konfiguration

systemctl --user daemon-reload

Pipewire neu starten

systemctl --user restart pipewire.service pipewire-pulse.socket

Check rt Prio Prozess

Mit dem folgenden Befehl kannst du im Systemjournal sehen ob eine Anwendung mit dem rtkit gestartet wurde.

journalctl --no-hostname -b 0 -e -u rtkit-daemon

Erklärung zu Xruns

Zur Vollständigkeit, weil das Thema Xruns in diesem Zusammenhang manchmal kommt.

Es gibt 2 Ursachen für Xruns

  1. Die Anwendungen können den Zyklus nicht rechtzeitig abschließen. Das kann daran liegen, dass der Kernel sie nicht rechtzeitig aufgeweckt hat oder dass sie nicht genügend Zeit zugewiesen bekommen haben.
  2. Das Timing des Treibers ist zu eng. Der Treiber wird nicht schnell genug aufgeweckt, um den Puffer gefüllt zu halten.
  • Ursache 1 kann zu Ursache 2 führen.
  • Ursache 2 kann durch Hinzufügen von mehr Pufferung (Vergrößerung des Headrooms) verbessert werden.
  • Das Hinzufügen von Headroom verbessert Ursache 1 aber nicht.

Mit pw-top kannst du sehen, was die Xruns verursacht.

  1. Wenn die Xruns der Anwendung zunehmen, ist es Ursache 1
  2. Wenn nur der Treiber die Xruns erhöht, ist es Ursache 2
  3. Wenn beide zunehmen, ist es Ursache 1, die Ursache 2 verursacht
Quellen
  1. Pipewire Module-rt https://docs.pipewire.org/page_module_rt.html
  2. Pipewire Docs https://docs.pipewire.org/index.html
  3. Pipewire Configuration https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire
  4. pw-metadata https://docs.pipewire.org/page_man_pw_metadata_1.html
  5. pw-top https://docs.pipewire.org/page_man_pw_top_1.html
  6. Troubleshooting & XRuns https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#xruns
  7. Pipewire Ubuntuusers https://wiki.ubuntuusers.de/Pipewire/
  8. Pipewire Home https://pipewire.org/

Views: 4

Youtube RSS Feeds Kanal und Playlisten

Wer viele Nachrichten und Informationsquellen hat, verliert schnell mal die Übersicht. Da hilft das uralte Konzept der RSS Feeds sehr elegant weiter. Nur weil es alt ist, kann es auch gut sein.

Kanal RSS Feed

Der Kanal RSS Feed ist schnell mit jedem einfachen RSS Feed Addon von Firefox gefunden.

Von meinem Kanal muss nur die Kanal ID oder “channel_id” gefunden werden, die meist in der URL Leiste steht. Und wenn sie da nicht zu finden ist, dann einfach den Quellcode der Webseite öffnen – bei Firefox einfach Strg+U drücken und mit Str+F nach dem folgenden Text suchen “https://www.youtube.com/feeds/videos.xml?channel_id=“, dann wird automatisch zur richtigen Stelle gesprungen, wo dann auch die gesamte URL steht, wie z.B, diese hier

https://www.youtube.com/feeds/videos.xml?channel_id=UCCQ0claPBEXXt4YP36ewKSQ

Playlist RSS Feed

Bei der Playlist ist es aktuell noch einfacher, die RSS Adresse herauszufinden.
Dazu wird einfach die Playliste aufgerufen und dann steht in der URL Leiste ungefähr so etwas

https://www.youtube.com/playlist?list=PLdIGJzeTcaAcGtRMOStGpGQXGe063oZab

Die Zeichenfolge nach list= ist dabei wichtig.

Jetzt muss nur noch https://www.youtube.com/feeds/videos.xml?channel_id= in https://www.youtube.com/feeds/videos.xml?playlist_id= umgewandelt und die “list=” ID dran gehängt werden und schon ist der RSS Feed zusammengebaut.
Der sieht dann in diesem Fall so aus

https://www.youtube.com/feeds/videos.xml?playlist_id=PLdIGJzeTcaAcGtRMOStGpGQXGe063oZab

Viel Spaß mit mit euren Nachrichtenquellen und dem RSS Reader!

Views: 0

Audio in Video normalisieren mit ffmpeg

Manchmal ist das Audio in einem Video relativ leise und eigentlich ist da noch richtig Luft nach oben es lauter zu machen. Ein schöner und sehr eleganter Weg ist es mit ffmpeg die Normalisierungsfunktion zu nutzen, ohne das Video selbst erneut zu encoden. Das Audio muss natürlich neu encoded werden.

Zuerst muss ermittelt werden welches der lauteste Peak (lauteste Stelle) im gesamten Audio ist

Lautstärkenermittlung – Highest Peak

ffmpeg -i Videodatei.mp4 -af "volumedetect" -vn -sn -dn -f null /dev/null

Dann steht in der Ausgabe irgendwo relativ weit oben so etwas:

[Parsed_volumedetect_0 @ 0x00000000000] mean_volume: -29.1 dB
[Parsed_volumedetect_0 @ 0x00000000000] max_volume: -3.6 dB

Das “max_volume mit -3.6 dB” ist das Interessante für uns. Das maximale Level in der digitalen Welt ist 0dB . Alles was darüber “gedrückt” wird, wird sehr hässlich verzerrt. Das sollte unbedingt vermieden werden!!

Lautstärkenlimit beachten!

Und vielleicht ein kleiner Sicherheitsabstand wäre auch noch ganz gut, denn beim Umwandeln über D/A (Digital/Analog) Wandler passieren auch je nach Qualität manchmal merkwürdige Dinge. Stichwort Truepeak bzw True Inter-Sample Peak Level.
Also als Empfehlung wäre hier einen Puffer von 0,5 dB bis 1 dB einzuhalten.

In unserem Beispiel von “max_volume mit -3.6 dB” nehmen wir mal einen Puffer von 1 dB, das würde dann heissen, dass wir das max_volume um 2.6dB erhöhen: -3.6+2.6= -1dB Ziellautstärke

Lautstärkenanhebung

Der Befehl dazu lautet (Ziel Audioformat: AAC)
ffmpeg -i Videodatei.mp4 -af "volume=2.6dB" -c:v copy -c:a aac -b:a 192k VideodateiErgebnis.mp4

Alias und Function

Und in der Shell Bash ist das natürlich schöner mit einem kurzen Alias aufzurufen. Aber ein Alias ist nur ein anderer Name für ein bestehender Name. Also könnte ich dem Programm Ulrike den Namen Peter geben und egal, welchen Namen ich jetzt eingebe Ulrike oder Peter, das selbe Programm wird ausgeführt.

Da sich hier aber Aufrufparameter, wie Videodatei und die 2.6dB handelt, reicht ein Alias nicht. Dafür gibt es in der Bash die Function. Hier können dann auch die Aufrufparameter abgefragt werden.

Diese Functions weiter unten gelten immer nur für die aktuelle Session. Sobald das Fenster geschlossen oder die Bash beendet wird, ist auch die Function gelöscht. Soll die Function für immer bleiben, muss sie in der Datei .~bashrc im eigenen Homeverzeichnis definiert werden.

Lautstärke herausfinden

Der Aufruf sieht so aus myMaxvol Videodatei.mp4

myMaxvol() { ffmpeg -i "$1" -af "volumedetect" -vn -sn -dn -f null /dev/null; }

Lautstärke anheben

Der Aufruf sieht so aus: myGainvol Videodatei.mp4 2.6

myGainvol() { ffmpeg -i "$1" -af "volume=""$2""dB" -c:v copy -c:a aac -b:a 192k output.mp4 && mv output.mp4 "$1" ; }

Erklärung was hier passiert: Es wird als Parameter Videodatei.mp4 und 2.6 als Lautstärkenanhebung mitgegeben. Das Ergebnis wird in eine Datei namens output.mp4 geschrieben. Wenn die Lautstärkenanhebung erfolgreich war, dann wird die Datei output.mp4 umbenannt in die Videodatei.mp4, die damit natürlich überschrieben wird.

Wenn die Aktion schief läuft, dann liegt da eine Datei output.mp4 herum und noch die originale Datei Videodatei.mp4.

Bash Script

Vielleicht bastle ich noch ein kleine Bash Script, das automatisch die Lautstärke ermittelt, dann auch automatisch die Anhebung ermittelt und danach gleich die Lautstärkenanhebung durchführt. Und dann das ganze noch auf ein ganzes Verzeichnis anwendet.

Schaumermal.

Views: 7

11 Podcasts die du kennen solltest

Podcasts höre ich seit ungefähr, ich glaube 20 Jahren. Davor waren es spezielle Radiosendungen. Teilweise waren es Unterhaltungssendungen und zum größeren Teil Informations- bzw Wissenssendungen. Das habe ich beim Übergang zu den Podcasts beibehalten, wobei der Teil der Unterhaltungssendungen immer weniger geworden ist.

Der Grund dafür ist, dass mittlerweile jeder Hänsel und Gretel, ComedyOnkel und StandupTante, Computerant und Notebookteusse unglaublich belangloses und teilweise wirklich gefährliches Halbwissen verbreiten. Oder FeuiletonFrida oder KulturKurt, die sich im eigenen Spiegelbild bei Weihrauch suhlen. Für mich ist das entweder Belästigung oder einfach reine Zeitverschwendung. Aber glücklicherweise haben wir alle unterschiedliche Geschmäcker

Daher will ich mal meine absoluten Lieblingspodcasts allen ans Herz legen, die gerne ausgewogen und gut informiert sein wollen.

PS: Die meisten Podcasts können mit ganz normalen Podcast Catcher Programmen abonniert werden. Auf jeden Fall diese, die wirklich gut präsentiertes Wissen vermitteln. Die anderen Special Apps, bei denen eine Mitgliedschaft notwendig ist, bieten meist nur Unterhaltung und Zeitvertreib.

hr2 – Der Tag – Ein Thema, viele Perspektiven

Seit sehr vielen Jahren bietet dieser Podcast eine unglaublich hohe Qualität. Jeden Tag in der Woche wird ein Thema unter die Lupe genommen und von vielen verschiedenen Seiten besprochen. Mit FürsprecherInnen und GegnerInnen. Es handelt sich dabei meist um relativ aktuelle Themen. Nie um tagesaktuelle Themen, da hier Journalismus ernst genommen und sehr gut die Perspektiven und GesprächspartnerInnen recherchiert wird.

Per RSS abonnieren https://podcast.hr.de/derTag/podcast.xml
Webseite https://www.hr-inforadio.de/podcast/der-tag/index.html

WDR5 – Das philosophische Radio – Denn Denken hat was

Ein wunderbar moderierter Podcast mit Jürgen Wiebicke! Viele interessante Themen mit interessanten Gästen und wichtigen Perspektivwechseln. Auch wenn selbst das Wissen über Philosophie recht gering ist, wird sehr darauf geachtet alle ZuhörerInnen thematisch mit zu nehmen. Ein sehr guter Podcast, der einlädt innezuhalten und bei dieser Entschleunigung mit den SprecherInnen zusammen die Gedanken schweifen zu lassen, über alles was die Menschheit bewegt, zerteilt und zusammenhält.

Per RSS abonnieren https://www1.wdr.de/radio/wdr5/sendungen/philosophisches-radio/uebersicht-das-philosophische-radio100.feed
Webseite https://www1.wdr.de/radio/wdr5/sendungen/philosophisches-radio/index.html

Deutschlandfunk Nova – Hörsaal

Mal hören, wohin uns die Wissenschaft bringt. Was Forscher*innen über unser Leben herausfinden. Welche Antworten sie für unsere Zukunft haben.

Ein wunderbarer Service von DLF, mit dem sie Vorträge von WissenschaftlerInnen aus allen Disziplinen senden, die in diversen Hörsälen aufgenommen wurden. Ein wahrer Schatz an Erkenntnissen und Fakten.

Per RSS abonnieren https://www.deutschlandfunknova.de/podcast/hoersaal-der-podcast
Webseite https://www.deutschlandfunknova.de/podcasts/download/hoersaal-der-podcast

SWR Wissen

Täglich Neues aus Gesundheit und Ökologie, Wissenschaft und Weltgeschehen im Podcast von SWR2 Wissen. Wichtige Zusammenhänge, gründliche Recherchen, überraschende Hintergründe.

Per RSS abonnieren https://www.swr.de/~podcast/swr2/programm/podcast-swr2-wissen-100.xml
Webseite https://www.swr.de/swr2/programm/podcast-swr2-wissen-100.html

Welt der Physik

„Welt der Physik“ ist ein Onlinemagazin, das vom Bundesministerium für Bildung und Forschung und der Deutschen Physikalischen Gesellschaft herausgegeben wird. Seit 2003 berichtet die Redaktion auf der Website leicht verständlich über Themen rund um die Physik und möchte so für diesen und angrenzende Fachbereiche begeistern.

Die Redaktion veröffentlicht regelmäßig Nachrichten über aktuelle Forschungsergebnisse sowie Interviews, in denen Physikerinnen und Physiker einen Einblick in ihre Arbeit geben. Die Rubrik „Physik hinter den Dingen“ widmet sich Fragen des Alltags – etwa wie eine Klimaanlage funktioniert oder wie weit man mit einem Teleskop schauen kann.

Per RSS abonnieren https://www.weltderphysik.de/podcast.xml
Webseite https://wissenschaftspodcasts.de/podcasts/welt-der-physik/

Deutschlandfunk – Forschung aktuell

Was der Titel schon verspricht: Alle aktuellen Themen aus der Forschung. Kurz und präzise behandelt und erklärt.
Hilft hervorragend gegen Blödheit, Glaubens- und Meinungsgesellschaften, bei gleichzeitiger Stärkung des gesunden Menschenverstandes.

Per RSS abonnieren https://www.deutschlandfunk.de/forschung-aktuell-100.rss
Webseite https://www.deutschlandfunk.de/forschung-aktuell-100.html

WRINT – Geschichtsunterricht

Wer redet ist nicht tot und wer deutsche Podcasts hört, aber Holgi (Holger Klein) nicht kennt, sollte jetzt etwas peinlich berührt sein. Info übernächster Absatz.

Holgi fragt und Matthias von Hellfeld erzählt sehr unterhaltsam und ohne nerviges Datumaufgezähle ein Thema aus der Geschichte.

Beide (Holgi & Matthias von Hellfeld) produzieren noch wesentlich mehr Podcasts, Blogs und andere Veröffentlichungen.

Hintergrund: Zu Zeiten als Podcasts noch als perverses Hobby von pickeligen Computers Nerds (nicht diese “Hipster” mit zwei verschiedenen Socken und dem Frl. Rottenmeyer Gedächtnisdutt) verstanden wurde, wurde Holgi von Tim Pritlove, dem Urvater des deutschen Podcastes und Blinkenlights angestiftet ebenfalls Podcasts zu machen. Das muss wohl gut 20 Jahre her sein? Und diesen beiden dürfte es wohl auch zu verdanken sein, dass sich dieses Format über sehr lange Jahre in Deutschland gehalten hat und auch groß geworden ist.

Per RSS abonnieren https://wrint.de/category/geschichtsunterricht/feed/
Webseite https://wrint.de/category/geschichtsunterricht/

Geschichten aus der Geschichte

Seit über sieben Jahren erzählen sich die Historiker Daniel Meßner und Richard Hemmer Woche für Woche gegenseitig eine interessante Geschichte aus der Geschichte. Dabei geht es um vergessene Ereignisse, außergewöhnliche Persönlichkeiten und überraschende Zusammenhänge der Geschichte aus allen Epochen.

Per RSS abonnieren https://www.geschichte.fm/feed/mp3/
Webseite https://www.geschichte.fm/

WRINT – Politikunterricht

Holgi (Holger Klein) fragt Thomas Brandt (Lehrer für Sozialkunde und Englisch an einer beruflichen Oberschule in Bayern) zu Themen aus Politik und Gesellschaftskunde. Und dieser erzählt auf gut verständliche und auch unterhaltsame Art, was dieses und jenes ist und sowieso wie es funktioniert.

Per RSS abonnieren https://wrint.de/category/politikunterricht/feed/
Webseite https://wrint.de/category/politikunterricht/

Peter und der Wald

Weil der Wald einer unserer wichtigsten Verbündeten im Kampf gegen die Klimakatastrophe ist, bringt dieser Podcast Wissen und Hoffnung.

Was macht den Zauber der Wildnis aus? Haben Bäume Gefühle? Wie funktioniert ökologische Forstwirtschaft? Deutschlands bekanntester Förster Peter Wohlleben spricht mit Experten, Wissenschaftlern, Aktivisten und Prominenten über Wege, wie wir das Klima und den Wald besser schützen können, warum Artenvielfalt so wichtig ist – und was jeder von uns tun kann, damit die grüne Wende in Deutschland gelingt.

Per RSS abonnieren https://rss.art19.com/peter-und-der-wald
Webseite https://www.peter-wohlleben.de/podcast

WDR5 – Grüße aus der Zukunft

Und wie versprochen noch ein Podcast aus Absurdistan mit schönen kurzen und völlig abstrusen … oder vielleicht doch wahren Folgen?

Per RSS abonnieren https://www1.wdr.de/mediathek/audio/wdr5/wdr5-neugier-genuegt-gruesse-aus-der-zukunft/gruesse-aus-der-zukunft-106.podcast
Webseite https://www1.wdr.de/mediathek/audio/wdr5/wdr5-neugier-genuegt-gruesse-aus-der-zukunft/index.html

Natürlich …

Höre ich noch mehr Podcasts, aber das hier waren jetzt die Podcasts, die ich uneingeschränkt empfehlen kann. Bei den anderen, die ich sonst noch so höre, würde ich nur die einzelnen Folgen empfehlen, die mir persönlich gut gefallen.

Podcast Catcher – AntennaPod

Wer eine gute PodcastCatcher App sucht, sollte sich die App AntennaPod anschauen. Zu bekommen im App Store (F-Droid/Gogle Ple Store) deines Vertrauens. Eine absolute Empfehlung. Die App kann richtig viel!

Leider …

Es gäbe noch weitere tolle Wissenspodcasts von der ARD, aber die werden leider nur eingezäunt und ohne öffentlich zugängliche RSS Adresse von der ARD App angeboten und ohne Selbstvertrauen als Oridschinäl bezeichnet. In der Fachwelt nennt sich das Pen … Facebook/Netflix-Neid. Daher keine Empfehlung.

Viel Spaß damit.

Views: 0

Digitalisierung in der Öffentlichen Verwaltung

Eigentlich heisst der Vortrag

“WSP.NRW: Vielfältiger Einsatz von Open-Source-Anwendungen in der öffentlichen Verwaltung
Innovation durch Partizipation: Wie vielseitige Open-Source-Technologien die Transformation der öffentlichen Verwaltung vorantreiben”

aber der Einsatz oder Realisierung von OpenSource Software geht praktischerweise gut einher mit der Digitalisierung.

Für Interessierte ein wirklich sehr guter Vortrag, der teilweise mit guten Beispielen in die Tiefe geht und auch zeigt, dass das Problem nicht nur Software ist, sondern sehr viel auch Prozess und Organisationsstandardisierung, die dann wiederum durch Software gestützt wird.

Herzlichen Dank für diesen Einblick ! Und hier der Link zum Vortrag. Oder direkt unten auf das Video aus der Mediathek des CCC klicken und anschauen.

Views: 0

WordPress & der Fulltext RSS Feed

In WordPress kann eingestellt werden, ob der RSS Feed nur einen Auszug (Excerpt) oder den gesamten Blogartikel (Full Text) enthalten soll. Das ist eine Einstellung unter “Einstellungen -> Lesen -> “Füge für jeden Beitrag in einem Feed Folgendes hinzu” -> ganzen Text.

Eigentlich ganz einfach. Denn es funktioniert ja auch.

Allerdings prüfte ich das mit meinem Browser und da kam nur der Auszug (Excerpt) an und nicht der volle Text.

Um eine lange Geschichte kurz zu machen, die sich über Wochen hinzog mit Teufelsaustreibungen an Suchmaschinen, Anbetungen von bisher unbekannten Gottheiten aus anderen Dimensionen und völlig neuartigen Verfluchungsritualen, bekam ich den Hinweis, ich solle doch mal mein eigenes Blog nicht im Browser prüfen, sondern in meinem Feed Reader.

Ich lese mein Blog normalerweise nicht in meinem Feed Reader. Ick hab dit Artikel ja wohl ooch selba jeschriem und ick wess was da drinne steht. Übawiegend.

Nun es zeigte sich, dass WordPress den Auszug (Excerpt) UND den Full Text in den Feed packt, aber der Browser nur den Auszug anzeigt. 🤦

Ich habe also wochenlang nach einer Lösung eines Problems gesucht, das gar keins war.

Daraufhin habe ich gleich mal noch das Firefox Browser Addon RSSPreview dessen seine sich Standardeinstellungen (konditional hart emotional Präsenz) geprüft und dort gibt es tatsächlich eine Einstellung:

“Display full articles even when summaries are present”

Diese Einstellung ist jetzt angehakt. Vielleicht brauche ich sie ja mal wieder.

Danke an vinz ! 🌻 Er hat mich darauf hingewiesen.

Und ich hoffe dieser Blogbeitrag hilft noch ein paar Menschen, die an dem fehlenden Hilfetext in WordPress oder der schlechten Standardeinstellung des Addons verzweifeln.

Views: 0

Lernvideos sinnvoll organisieren

Es gibt, oder es gab, ich weiss es ehrlich nicht genau, daher schreib ich mal in der Gegenwartsform, das Kommandozeilenprogramm youtube-dl oder andere Varianten wie yt-dlp oder ähnliche, mit denen es einfach möglich ist Videos herunter zu laden, um nicht von einer funktionierenden Internetleitung abhängig zu sein. Wer in Deutschland lebt, weiss, was ich meine.

Vor allem bei Lernmaterial ist das super, wenn es offline verfügbar ist und immer wieder angeschaut werden kann, ohne wieder und wieder durch das Streaming CO2 zu erzeugen.

Viele dieser Lernvideos haben Kapitelmarken und auch Untertitel in verschiedenen Sprachen, die natürlich auch im offline Modus sehr hilfreich sind. Und nicht nur als Kapitel, sondern eventuell auch zur Zerteilung in einzelne Videoclips, so dass bei einer Suche direkt auf den entsprechenden Clip zugegriffen werden kann.

Wenn also ein Video legal runtergeladen werden darf, dann helfen folgende Parameter und folgender Workflow bei den entsprechenden Programmen, die ich jetzt einfach mal unter dem Programmnamen DLPGRM zusammenfasse

Verfügbare Formate auslesen

Um erst mal zu sehen, in welchen VIDEO und AUDIO Formaten die Quelle vorliegt, gibt es folgenden Befehl, mit dem eine Tabelle ausgegeben wird.

DLPGRM -F URL-Link

Am Anfang der Tabelle steht in jeder Zeile eine ID und rechts daneben jede Menge weiterer Parameter. Wichtig ist, sich hier die IDs für das gewünschte VIDEO und AUDIO Format zu notieren, denn das wird für den nächsten Schritt gebraucht.

Hinweis: Wenn es einfach nur ein Redebeitrag ist, ohne dass Dinge gezeigt werden, die wichtig sind, wäre es unter Umständen sogar sinnvoll, das als Audiodatei (weiter unten) zu speichern, oder wenigstens als Video mit einer sehr geringen Auflösung. Wenn die Lernvideos nur auf dem Smartphone gespeichert werden sollen, dann sind hohe Auflösungen eh meist sinnlos. Da kann dann schon mal 256×144, 426×240 oder 640×360 genommen werden. Das spart CO2 und zuletzt auch eine Menge Festplattenplatz.

Lernvideo mit Kapitelinformationen speichern

Ist also die ID Nummer für VIDEO und AUDIO ausgesucht, dann kann mit folgendem Befehl das Lernvideo gespeichert werden. Gleichzeitig werden die Kapitel und deutsche & englische Untertitel mit rein gepackt und als Datei kommt eine MP4 Datei heraus, die auf allen Endgeräten abspielbar ist.

DLPGRM -f VIDEO+AUDIO --merge-output mp4 --embed-chapters --sub-langs "de,en" --embed-subs --write-auto-subs --embed-metadata URL-LINK

Soll das Lernvideo als reine Audio Datei, z.B. mp3 gespeichert werden, dann geht das auch mit

DLPGRM -x --audio-format mp3 URL-LINK

Kapitel nachträglich auslesen

Die Kapitel können nachträglich aus der Videodatei mit ffmpeg ausgelesen werden. Genauer gesagt mit dem Tool ffprobe. Dazu muss einfach nur der Befehl

ffprobe -show_chapters VIDEODATEI

eingegeben werden und als Ergebnis kommt eine Textausgabe der Kapitel heraus. Allerdings im sehr ausführlichen ffmpeg Format, aus dem dann die entsprechenden Informationen entnommen werden können. Dieses Format sieht z.B. so aus

[CHAPTER] 
id=0
time_base=1/1000
start=0
start_time=0.000000
end=60000
end_time=60.000000
TAG:title=Einleitung
[/CHAPTER]
[CHAPTER]
id=1
time_base=1/1000
start=60000
start_time=60.000000
end=95000
end_time=95.000000
TAG:title=Kanäle / Tracks umschalten
[/CHAPTER]
[CHAPTER]
id=2
time_base=1/1000
start=95000
start_time=95.000000
end=177000
end_time=177.000000
TAG:title=Parameter ändern (Volume, Pan, Send Effekte/Kanäle) und resetten
[/CHAPTER]
[CHAPTER]
id=3
time_base=1/1000

Kapitel als einzelne Videos speichern

Soll das Lernvideo nun aber in einzelne kleinere und leichter auffindbare Dateien aufgeteilt werden, so würde das auch mit dem Programm gehen, allerdings gibt es da den einen oder anderen unschönen Seiteneffekt, der durch sogenannte fehlende Keyframes (ein komplettes Vollbild) an der richtigen Stelle entsteht, so dass es manchmal beim Beginn der Kapitel aussieht, als würde jemand mit Wasserfarben durchs Bild wischen, oder aber das Lernvideo muss komplett neu codiert werden. Und das kann ganz schön lange dauern.

Es gibt da einen kleinen Trick, der nicht nur schneller, sondern auch Resourcen schonender ist. Das Programm LossLessCut kann diverse Videoformate einfach zerteilen, ohne dass irgendwas neu berechnet werden muss. Und es bietet eine einfache und praktische Lösung zu dem Keyframe Problem an. Nämlich schaut es, wo das Kapitel beginnt und dann “spult” es so lange zurück, bis es das letzte Keyframe findet und legt den Anfang des Kapitels dorthin.

Dabei handelt es sich dann meist um eine Wiederholung maximal 1-3 Sekunden zum vorherigen Kapitel aber dafür mit einem klaren Bild.

Also wird das Lernvideo in LossLessCut reingeladen und dann wird zuerst gefragt, ob die Segmente oder Chapters auch importiert werden sollen. Auf diese Frage mit Ja antworten. Danach kann gleich rechts unten auf den Export Knopf gedrückt werden und diese Einstellungen sollten übernommen werden.
Wichtig sind: Separate files, mp4, Cut mode=Keyframe cut, preserve all MP4/MOV metadata

Und nach 3 Sekunden liegen alle Kapitel als einzelne Videoclips vor.

Viel Spaß bei der Organisation eurer Lernvideos, die ihr jetzt noch viel effizienter ablegen könnt.

Views: 0

Vim – Suchen & Ersetzen – RegEx

Reguläre Ausdrücke (RegEx) sind DER Shit, wenn es darum geht extrem schnelle und auch sehr komplexe Dinge mit Texten bzw Strings oder einfach generell bei Suchen zu veranstalten.

Ein Anwendungsfall kommt immer wieder vor, nämlich das Suchen&Ersetzen.

Das Muster sieht so aus

:[range] s / [pattern] / [string] / [flags] [count]

[range]

  • bei range steht meist ein Prozentzeichen % das für den gesamten Text aka alles steht
  • hier können auch 1,$ = erste Zeile, erstes Zeichen bis letzte Zeile, letztes Zeichen
  • .,$ heisst von der aktuellen Zeile bis zum Ende
  • {Nummer} – in Zeile Nummer sowieso z.B. Zeile 14
  • Die Übersicht der schier unendlichen Bereichsangaben bekommst du, wenn du vim aufrufst und dann :h range eingibst

s (substitute)

  • Substitute ist die Suchen&Ersetzen Funktion. Wichtig zu wissen ist, dass alle Zeichen, die nicht in a-z und A-Z sind, müssen mit einem vorangestelltem Backslash \ “escaped” werden.
  • Also Zahlen, Punkte, Klammern und Sonderzeichen mit einem Backslash \ escaped werden.
  • Ein Backslash wird dann natürlich auch mit einem Backslash escaped \\. Und ein Slash im Suchstring wird natürlich auch mit einem Backslash escaped \/ . Auch ein Leerzeichen bzw Blank wird mit einem Backslash escaped.
  • Der Grund dafür ist, dass viele dieser Zeichen selbst eine Funktion für die Suche darstellen. Und damit da keine Verwechselung entsteht muss extra “escaped” werden.

[pattern]

  • Pattern ist der zu suchende Text
  • In einem Pattern können auch wiederum Pattern-Funktionen eingefügt werden, wie z.B. ab dem 5. Zeichen (spalte/column) %5c oder bis zum 5. Zeichen %>5c und viele weitere.
  • in vim :help pattern

[string]

  • String ist der Text, der das gesuchte Pattern ersetzt werden soll.

[flags]

  • g (global) wiederholt das Suchen&Ersetzen, bis zum Ende des Textes. Wird g nicht angegeben, wird nach dem ersten Suchtreffer aufgehört.
  • c (confirm) zum Bestätigen des Ersetzens
  • i (ignore) um Groß/Kleinschreibung zu ignorieren

[count]

  • der Parameter count wird bei Bedarf in einer positiven ganzen Zahl wie z.B. 5 angegeben. Er wirkt sich auf das Suchen&Ersetzen so aus, dass z.B.
  • %s/blah/blubb/g 5 – vom Textanfang die ersten 5 Zeilen bearbeitet werden
  • 10,$ s/blah/blubb/g 5 – ab Zeile 10, die Zeilen 10, 11, 12, 13, 14, also insgesamt 5 Zeilen bearbeitet werden.

Slash / – das Slash “/” trennt die verschiedenen Parameter voneinander.

Will ich also den merkwürdigen String “Maier/(Schmidt)-Hans\Jens.Familie?” in meinem gesamten Text mit “Bullshit!“ersetzen, sähe der Aufruf so aus

:%s/Maier\/\(Schmidt\)\-Hans\\Jens\.Familie\?/Bullshit\\!/g

Einfach vor jedes nicht a-zA-Z Zeichen ein Backslash

Views: 7

Bock auf Realität? Time is up: Messungen Stand Herbst 2023

15.08.2023 LINNEAN SOCIETY OF LONDON Kriminal-Biologe Dr. Mark Benecke stellt die neuen Messungen zu Umwelt & Klima für Herbst 2023 mitten im heißesten Sommer seit Menschen-Gedenken vor.

Diesmal live aus der Linnean Society of London, in der Charles Darwin & Alfred Russel Wallace die Evolutions-Überlegungen und -Messungen erstmals vorstellten.

Nebst einer Anmerkung zu von Ernst Haeckel geprägten Begriff des ‘Anthropozäns’ und neuesten Untersuchungen zu Umwelt, Klima, Eis-Schmelze und Hitze-Warn-Stufen.

Zum Vortrag auf YouTube hier klicken oder direkt auf das Bild

Views: 0

Nützliche Bash Shortcuts

Wenn du in Linux die Konsole öffnest, dann öffnest du in den meisten Fällen eine Bash Shell. Eine Shell ist einfach nur ein Programm, mit dem du Befehle an deinen Computer senden kannst wie : Zeige mir alle Dateien und Verzeichnisse an, oder starte Programm XY. Eine Shell ist also eine Kommunikationsschnittstelle zu deinem Betriebssystem. Es gibt viele verschiedene Shells und eine davon ist eben Bash. Siehe auch Wikipedia https://de.wikipedia.org/wiki/Bash_(Shell)

So eine Shell (Mensch-Maschine-Schnittstelle) bietet sehr sehr sehr viele verschiedene Möglichkeiten. Darunter auch viele Shortcuts (Tastenkombinationen), die das Eingeben, Suchen, Editieren usw viel einfacher machen.

Hier habe ich einige und für mich sehr nützliche Shortcuts zusammengestellt

Die Buchstaben hier sind zwar alle groß geschrieben, aber das einfach nur wegen der besseren Lesbarkeit und Einheitlichkeit. Alle Buchstaben können ohne die Shift Taste eingegeben werden. Also ein L ist eigentlich ein l, das sonst schnell mit einem großen i verwechselt werden könnte. Ich schreibe extra Kommandozeile, weil die sich über mehrere Zeilen erstrecken kann und damit klar wird, dass nicht die Bildschirmränder gemeint sind.

Nützliches

  • TAB Tabulator Taste bei der Eingabe drücken, um die Autovervollständigung zu nutzen. Am Anfang der Zeile wird nach Befehlen aus dem System gesucht, wenn bereits ein Wort am Anfang steht, dann werden Datei- und Verzeichnisnamen vervollständigt
  • Strg + L Löscht den Bildschirm. Wie auch der Befehl clear
  • !! Den letzten Befehl nochmal wiederholen (NOCHMAL !! !! !! !!)

Suchen

  • Pfeil hoch / runter – Befehlshistorie hoch und runter (vor und zurück) blättern, um bereits ausgeführte Befehle nochmal zu wiederholen. Bash speichert eingegebene Befehle in einer Datei namens .bash_history in deinem Homeverzeichnis und diese wird dann durchsucht.
  • Strg + R Inkrementelle Rückwärtssuche der Bash Historie. Erneut Strg + R drücken, um das nächste Suchergebnis anzeigen zu lassen.
  • Strg + J die aktuelle Suche in der Bash Historie mit der Übernahme des aktuellen Befehls beenden (Jaaaaa)
  • Strg + G die aktuelle Suche in der History mit leerer Eingabe beenden (Geh weg!)

Cursor Navigation

  • Strg + A Springe ganz an den ANFANG der Kommandozeile
  • Strg + E Springe ganz an das ENDE der Kommandozeile
  • Alt + F schiebt den Cursor vorwärts (FORWARD) vor das nächste Wort
  • Alt + B schiebt Cursor zurück (BACK) auf den ersten Buchstaben des vorangegangen Wortes

Löschen & Tauschen

  • Strg + U Löscht alles links des Cursors bis zum Anfang der Kommandozeile (Uuuuund zurück)
  • Strg + K Löscht alles rechts des Cursors bis zum Ende der Kommandozeile (Kawumm)

  • Strg + W Löscht ab dem aktuellen Zeichen links den “Rest” bis zum WORTanfang
  • Alt + D Löscht ab dem aktuellen Zeichen den “Rest” DES Wortes rechts

  • Alt + T Das Wort an der aktuellen Cursorposition wird mit dem vorangehenden Wort vertauscht (Tausch)

Ausgabe Display

  • Strg + S Stoppt die Ausgabe von Meldungen auf dem Bildschirm – einfrieren/screenshot (das aktuell laufende Programm wird nicht gestoppt. Im “Hintergrund” laufen die Meldungen weiter)
  • Strg + Q Beendet das Strg + S (screenshot/einfrieren)

Beenden

  • Strg + C Abbruch eines Programms
  • Strg + D Schliesst die Bash Shell und damit auch meist das Konsolen Terminal

Views: 0

Markdown Suite – Logseq, nicht nutzbar

Ich benutze sehr gerne Markdown Editoren, weil diese leichtgewichtig sind und einen super Kompromiss zwischen einem formatiertem Text, also mit Überschriften, Absätzen, fett und kursiv, Tabellen und so weiter und der Archivierung, weil einfacher Text noch in 50 Jahren mit jedem x-beliebigen Editor auf jedem denkbar möglichen Betriebssystem und Plattform gelesen und bearbeitet werden kann.

Aktuell nutze ich Obsidian und bin damit eigentlich super zufrieden. Obsidian ist eine Markdown Suite. Das heisst, dass rund um den Editor eine Menge Helfer mit dabei ist. Also sowas wie ein Dateimanager, automatische Inhaltsverzeichnisse, eine gute Suche, eine Hashtag Verwaltung und jede Menge weiterer kleine Helfer, die das Leben einfacher machen.

Das Ganze synchronisiere ich dann noch mit meiner Nextcloud und habe so immer den aktuellen Stand auf den Geräten, auf denen ich das will. Da es sich dabei nur um kleine Textdateien handelt, sind meine rund 1000 Dateien mit Dokumentation, Ideen, Anleitungen, Entwürfen und Planungen um die 8MB groß. Jede Änderung ist blitzschnell übertragen, weil Änderungen und Erweiterungen an Textdateien immer nur ein paar Byte sind. Das wäre sogar mit uralten Modems aus den 1990er Jahren blitzschnell möglich.

Und dennoch schaue ich immer mal wieder über den Tellerrand und schaue mir andere Markdown Suites an.

Diesmal hatte ich mir Logseq angeschaut. Dafür gibt es Desktopversionen für alle Betriebssysteme und für Smartphones. Installiert habe ich eine 0.9.9 Flathub Version vom 13.06.2023 unter Kubuntu Linux.

Eine dreispaltige Aufteilung, was mir persönlich schon mal sehr gut gefällt. Aber dann ärgerte mich ein bisschen die Umschaltung auf das DarkTheme. Es dauerte mehrere Neustarts des Programms und neu einstellen, bis es übernommen wurde. Ich habe keine Ahnung woran es lag.

Und dann scheiterte ich daran einen ganz einfachen Dateimanager zu finden. Es gibt zwar eine Suche über alle Dateien, aber diese kann nur genaue Dateienamen verarbeiten und nicht mehrere Wörter, die in einer Datei vorkommen könnten. So fand ich dann auch meine Dateien nicht.

Ich fand dann ein Plugin “File Manager”, das zu finden irgendwie wohl nicht so richtig möglich ist. Damit war für mich dann der Test zu Ende.

Fazit
Eine Suche mit der ich meine Dateien nicht finden kann und ein Filemanager, der nicht aufzufinden ist, sind das absolute KO Kriterium für so eine Suite. Schade. Ich werde es einfach irgendwann in der Zukunft nochmal probieren. Vielleicht wurde dann an der Usability ein wenig gearbeitet.

Views: 1