Git Leitfaden für Beginner

Wer Projekte per git auf dem aktuellen Stand halten will, aber sonst nicht viel mit git macht, braucht immer mal wieder dieselben Befehle, um die notwendigen Aktualisierungen durchzuführen. Da sind dann immer wieder diese Leute, die dann ein paar Befehle rüber werfen, aber nicht wirklich zwei klärende Worte zum Zusammenhang hinzufügen. Das Problem ist zwar damit vielleicht aus der Welt, aber es ist nichts damit gewonnen. Konfuzius rotierte im Grabe!

Gib einem Mensch einen Fisch und du ernährst ihn für einen Tag. Lehre einen Menschen zu fischen und du ernährst ihn für sein Leben.

Konfuzius

Wenn die Mehrzahl der EmpfehlerInnen nach dieser Maxime handeln würden, wäre das Frustrationspotential auf Myriaden von Webseiten und Foren nicht so hoch. Das musste ich mal los werden.

Ich gehe am praktischen Beispiel des Fediverse Servers Friendica vor. Den geübten Umgang mit z.B. Linux und der Konsole bzw der Shell Bash setze ich voraus. Ebenso ein installiertes git .

Git und das Repo

Das Software Repository, oft auch nur Repository oder Repo genannt, von Friendica liegt z.B. auf https://github.com/friendica/friendica . Das ist der Speicherort, auf dem die Software liegt und von Entwicklern gepflegt, programmiert und aktualisiert wird. Git ist eine Software, die gleichzeitig verschiedene Versionen von Dateien verwalten kann und für die Softwareentwicklung entwickelt wurde. Kurz gesagt ermöglicht sie es sehr einfach recht komplexe Version- Upgrades oder Downgrades absolut korrekt durchzuführen, so dass als Ergebnis immer eine saubere und lauffähige Version der Software bzw des Quellcodes herauskommt.
Mehr zum Thema git

Schritt 1: Die Software installieren – Das Repo clonen

Ich nehme mal an, du willst Friendica auf deinem Server installieren und hast das Webverzeichnis für deine Domain www.MeineDomain.de eingerichtet, das sich z.B. unter /var/web/MeineDomain/htdocs befindet. Und genau hier willst du Friendica installieren, daher wechselst du in dieses Verzeichnis. Das Verzeichnis muss komplett leer sein, sonst weigert sich git die Dateien hier abzulegen.

Der Befehl der dafür vorgeschlagen wird, ist oft

git clone https://github.com/friendica/friendica

ABER! Dieser würde dir in deinem /var/web/MeineDomain/htdocs/ Verzeichnis ein Unterverzeichnis friendica /var/web/MeineDomain/htdocs/friendica/anlegen und dort alle Dateien und Verzeichnisse ablegen. Und dein Server wäre dann nur unter www.MeineDomain.de/friendica/ erreichbar. Aber du möchtest, dass der Friendica Server unter www.MeineDomain.de erreichbar ist.

Daher musst du dem vorgeschlagenen Befehl noch ein Leerzeichen (Trenner) und einen Punkt (repräsentiert immer das aktuelle Verzeichnis) mitgeben, mit dem du angibst, dass die Dateien im aktuellen Verzeichnis abgelegt werden. Und dann sieht das so aus:

git clone https://github.com/friendica/friendica .

Damit liegt nun die Software, genauer gesagt die stable (früher master) Version, auf deinem Server und du kannst mit der Konfiguration und Einrichtung beginnen. Die Dokumentation dazu findest du unter https://wiki.friendi.ca/ .

Da die Addons für Friendica ein einem extra Repo https://github.com/friendica/friendica-addons liegen, müssen diese natürlich mit den gleichen Schritten eingerichtet und später dann auch aktualisiert werden.

Schritt 2: Aktualisierungen

In so einem Software Repo wird in den meisten Fällen nicht nur eine Software Version gepflegt, sondern meist mehrere. Eigentlich sind immer stable und develop bzw origin/stable und origin/develop verfügbar. Wie oben schon erwähnt hieß stable früher standardmäßig master, aber in modernen Repos gibt es nur noch den Namen stable oder öfter main. Hintergründe Bei Friendica heisst die aktuelle stabile Version stable.

Info: Für Friendica ist ein wenig mehr erforderlich. Die kompletten Befehle führe ich weiter unten auf. Aus Gründen der Verständlichkeit vereinfache ich die Vorgehensweise hier.

Ganz allgemein: Um deine Software zu aktualisieren wechselst du zukünftig in dein Verzeichnis /var/web/MeineDomain/htdocs/ und gibst den Befehl ein

git pull

und dein Friendica wird auf den neusten Stand gebracht. (Addons nicht vergessen)

Schritt 3: Versionen und branches

Nun gibt es wie oben schon geschrieben meist mindestens 2 Versionen. Die stable und die development Version. Die Versionen in git werden branches genannt. Welche branches du hast, kannst du ganz einfach herausfinden mit den Befehlen

Welche Branches liegen (remote) auf dem Software Repo
git branch -r

ergibt z.B. so eine Ausgabe

 origin/2022.09-rc
 origin/2022.12-rc
 origin/2023.03-rc
 origin/2023.05-rc
 origin/2023.09-rc
 origin/2024.03-rc
 origin/HEAD -> origin/develop
 origin/develop
 origin/stable

Welche Branches liegen (lokal) deinem Server
git branch -a

Um zu einem anderen branch bzw Version zu wechseln, gibst du einfach z.B. ein

git checkout develop um auf die Entwicklerversion zu wechseln
git checkout stable um auf die stabile Hauptversion zu wechseln.

Allerdings sollte so ein Wechsel immer gut durchdacht sein, denn oftmals kann das weitere Abhängigkeiten haben, wie zum Beispiel bei Friendica irgendwelche Updates von Datenstrukturen in der Datenbank. Älter Versionen kennen neuere Datenbankstrukturen nicht und das wird dann vermutlich zu Fehlern führen. Prüfe stehts!

Schritt 4: Updates und Versionen – development, stable & RC

Es gibt also die development Version, die immer die neusten Funktionen und Features hat, die aktiv entwickelt werden und daher mit einer hohen Wahrscheinlichkeit Fehler enthalten, die noch korrigiert (gefixt) werden müssen. Und die stabile stable Version, die zum produktiven Einsatz freigegeben wurde.

Dann gibt es oft noch RC (Release Candiates) Versionen. Zum Beispiel eine 2024.04-RC . Das ist eine aktuelle development Version, zu der keine neuen Features dazu kommen (Feature Freeze) und die zur nächsten stabilen Version werden soll. Diese Version ist mit einer öffentlichen Beta Version vergleichbar, die zur Verfügung gestellt wird, damit sie von vielen getestet und eventuelle Fehler behoben werden können. Wenn dann alle Fehler behoben sind, dann wird diese 2024.04-RC Version in die stable Version überführt.

Das heißt, wenn die Aktualisierung des eigenen Friendica Servers immer auf das branch stable eingestellt ist, dann wird beim nächsten git pull der Server automatisch auf die neuste Version aktualisiert. Wurde zuvor auf z.B. auf das RC 2024.04-RC branch gewechselt, muss natürlich dann aktiv auf das stable branch wieder zurück gewechselt werden. git checkout stable & git pull

Friendica per Git aktualisieren

Bei Friendica gibt es wie beschrieben noch das addon Verzeichnis und zusätzlich noch den Composer, der Abhängigkeiten von bestimmten Softwarebibliotheken verwaltet und sicherstellt, dass die richtigen Versionen auf deinem Server liegen. Daher müssen bei einer Aktualisierung mindestens folgende Befehle eingegeben werden.

Ausgehend dass du dich in deinem deinem Verzeichnis /var/web/MeineDomain/htdocs befindest:

git pull https://github.com/friendica/friendica.git
bin/composer.phar install --no-dev 
cd addon 
git pull https://github.com/friendica/friendica-addons.git 

weitere nützliche Git Befehle

git fetch – Die Liste der Branches vom Repo holen
git checkout <branch name> – Den Branch wechseln
git stash – Local commits „verwerfen“
git checkout -b <NAME> – Lokal einen neuen Branch <NAME> erstellen
git branch -D <NAME> – Lokalen Branch <NAME> löschen
git push origin --delete <NAME> – Den remote Branch <NAME> löschen
git branch -r – Remote Branches anzeigen lassen
git branch -a – Lokale Branches anzeigen lassen
git remote prune origin – Löscht alle lokalen Branches, die auch nicht mehr auf dem remote Repo sind
git gc --auto – Garbage Collection. führt Aufräumarbeiten durch (komprimiert Revisionen, entfernt lose/unzugängliche Objekte). Mit der Option –auto wird zunächst festgestellt, ob Maßnahmen erforderlich sind, und wenn dies nicht der Fall ist, wird das Programm beendet, ohne etwas zu tun.

Falls es zu Fehlermeldungen und größeren Problemen kommt, dann sind folgende Befehle hilfreich. ABER bitte vorher das Handbuch dazu lesen !!! Nicht einfach per Copy n Paste von hier benutzen! Sonst selber schuld!
git reset --hard
git clean -df -x

Linux statt Windows auf dem Desktop – Nicht nur Musikproduktion

Wie Golem schreibt, erwägen wohl mittlerweile viele BenutzerInnen den Schritt auf Linux, statt von Window 10 auf Windows 11 und eventuell später auf irgendwelche monatliche Abo Varianten zu wechseln.

Da ich seit über 25 Jahren Linux auf dem Desktop nutze und immer noch absolut begeistert bin, würde ich jeden Menschen immer wieder ermutigen das auch auszuprobieren.

Um einige Zeit verschwendende Diskussionen zu vermeiden ein paar Punkte vorweg:

  1. Wer wenig visuelle Veränderungen haben will entscheidet sich für eine Linux Distribution mit KDE/Plasma z.B. die Distribution Kubuntu oder aus Deutschland das Tuxedo OS oder Mint oder eine andere Linux Distributionen
  2. Um nicht komplett ins kalte Wasser springen zu müssen, können so ziemlich alle Linux Distributionen auf einen USB Stick „installiert“ (Live-USB Stick) werden und von dort einfach mal gestartet und ausprobiert werden. Ein USB Stick ist zwar langsam, aber es geht erst mal dabei nicht um Geschwindigkeit, sondern darum, ob es läuft und einen ersten Eindruck zu bekommen. Und zum Thema Geschwindigkeit: Ein installiertes Linux ist in 99% der Fälle wesentlich schneller als ein installiertes Windows.
  3. Viele nutzen bereits schon Opensource Software, die hauptsächlich für Linux entwickelt wird. Da ist der Umstieg super einfach. Weil es gar kein Umstieg ist. Das prominenteste Beispiel dafür ist der Mozilla Firefox Browser.
  4. Viele sind über die Jahre so darauf getrimmt worden, dass sie z.B. auf Microsoft Office nicht verzichten können. Das ist aber reine Gehirnwäsche. Libreoffice bietet für 99% der Menschen mehr Funktionen, als sie tatsächlich nutzen.
  5. Eine Sache, die mir immer wieder auffällt, wenn Menschen den Wechsel von Windows zu Linux erwägen ist, dass sie aufgrund der erweiterten Möglichkeiten plötzlich vorgefertigte Funktionsanforderungen stellen, die sie zuvor noch nie hatten bzw die unter Windows nur sehr sehr umständlich möglich sind. Hier bitte die Kirche im Dorf lassen, oder sich selbst um diese hoch individualisierten Lösungen kümmern bzw die Suchmaschine dazu konsultieren. Vermutlich gibt es diese Lösung schon.
  6. Natürlich ändern sich bei einem Betriebssystemwechsel auch häufig die Namen bestimmter Softwarekomponenten. Aber auch die Eingewöhnungsphase ist recht kurz. Ich spreche da aus Erfahrung mit Menschen, die teils einfach so spontan Linux haben wollten und bis heute sehr glücklich damit sind.
  7. Ich habe im Laufe der Zeit ein paar einfach verständliche Erklär-Videos zum Thema Linux und Linux und Musikproduktion auf meinem Musikproduktions Kanal „Odo Sendaidokai“ produziert, die ich hier für alle interessierten Menschen verlinke. Und wer sich für Musikproduktion generell interessiert, ist natürlich gerne eingeladen den Kanal zu abonnieren. Seit längerer Zeit produziere ich die Videos auf Deutsch und Englisch. Inklusive regelmäßiger Livestreams auf Deutsch, in denen ich meist Tracks von Anfang an produziere bzw auch Vieles erkläre. Zum Thema Musikproduktion betreibe ich zusätzlich noch das Blog „Klangwerk“.
  8. Für die Musikproduktion unter Linux ist für dich Pipewire natürlich sehr interessant und dafür habe ich hier im Blog auch noch einige erklärende Artikel.

Hier die Liste der Linux Erklär-Videos:

  1. Linux Supersonic from Zero to Hero Musikproduktion | DE (16.01.2024)
  2. Bitwig Linux Musicproduction 11/2023 | deutsch (19.11.2023)
  3. Musikproduktion mit Linux (auch Bitwig) (12.07.2021)
  4. Windows VST mit Bitwig unter Linux (02.10.2021)
  5. Bitwig JackAudio OBS Linux (Deutsch) – UPDATE 2022 Pipewire ist jetzt der Standard (15.11.2020)

Vim – Bereiche mit Klammern umschließen


Manchmal ist die Denke einfach zu kompliziert. Da wollte ich in vim einen Bereich möglichst effizient mit runden Klammern versehen und habe eine Weile rum gemurgst, bis ich dann die einfache Lösung gefunden habe:

  1. Bereich auswählen mit v und z.B. $ bis zum Zeilenende
  2. dann c drücken
  3. () schreiben
  4. ESC drücken und
  5. ein großes (shift) P drücken

also v$c()<ESC>P

Und alles ist schön umklammert.

Wenn es egal ist den Bereich visuell zu markieren, dann geht es auch ohne das v und das $ (bis Zeilenende) muss nach dem c eingegeben werden. (Danke Rebeka!)

c$()<ESC>P oder gleich C()<ESC>P

Weitere Varianten wären:

  1. Bis zum nächsten Vorkommen z.B. des Buchstabens „m“ cfm()<ESC>P
  2. Vom vorherigem Vorkommen eines „t“ bis zum nächsten Vorkommen eines „m“ Ftcfm()<ESC>P
  3. Wenn mitten im Wort gestartet wird, das natürlich auch umklammert werden soll, als erstes ein b tippen z.B. bC()<ESC>P
  4. Die nächsten 3 Worte c3w()<ESC>P oder eben bc3w()<ESC>P

Landscape of Open Source Databases

Ein Vortrag von Lorna Mitchell auf dem emf2022 Kongress über die aktuelle Landschaft der der Opensource Datenbanken. Eine rassante und guter Einblick was es alles gibt und welche Funktionalitäten die einzelnen Datenbanken besonders macht.

Every year we collect more data than before, and the tools we use to manage that data are evolving to accommodate our changing needs – but it can be difficult to keep up with all the innovations! This session will give you a tour of what’s happening in open source databases, from someone who lives the adventures of open source data in her day job. You will travel from the well-trodden paths of relational databases, through the leafy glades of time series, to the landmarks of search and document databases. This session is recommended for people with an interest in software who want to learn about the overall trends, license changes, rising stars, and which database technologies are here to stay.

Video https://media.ccc.de/v/emf2022-325-landscape-of-open-source-databases

Android Apps 2024, App Store F-Droid & IzzyOnDroid

Für Android gibt es nicht nur den Play Store um Apps zu installieren, es gibt schon seit vielen Jahren den alternativen App Store F-Droid , der als Schwerpunkt trackerfreie und Opensource Software hat, die es teilweise auch gar nicht im Google Playstore gibt.

F-Droid kann nicht über den Google Play Store installiert werden (Grund). Damit F-Droid installiert werden kann, muss im Telefon die Installation aus „unsicheren Quellen“ zugelassen werden. Das ist nicht weiter schlimm, solange man nicht anfängt von irgendwelchen ominösen Webseiten Android APKs runter zuladen und zu installieren.

Wenn das soweit erledigt ist, kann mit einem QR Code Scanner F-Droid direkt von der Webseite installiert werden oder wenn kein QR Code Scanner zur Hand ist auch per Internetbrowser über den Download Link auf dieser F-Droid Seite installiert werden.

Die F-Droid funktioniert als Management App für verschiedene Repositories. Repositories sind Download Quellen für App Sammlungen. Standardmäßig ist das Repository von F-Droid integriert, womit der Zugriff eine große Sammlung von weiteren Apps zur Verfügung steht. Aber wie schon erwähnt gibt es weitere Repositories, die hinzugefügt werden können. Im Normalfall ist das nicht notwendig.

In meinem Falle war ich interessiert an der Android App „PDF Doc Scan“ mit der das Smartphone zu einem einfachen PDF Scanner erweitert wird. Den Tipp für diese App habe ich bei onli blogging im Artikel „Meine Appliste für Android (2023, F-Droid)“ gefunden.

Android App Liste 2024

Hier meine Liste für 2024 von Android Apps, die ich gerne benutze.
F-Droid und IzzyOnDroid F-Droid Repository sind vorausgesetzt und auch wenn die App im Google Playstore verfügbar ist, so würde ich empfehlen die Versionen aus dem F-Droid Store zu bevorzugen. Da diese meist besser die Privatsphäre schützen.

AntennaPod – Podcast

Die beste Podcast App für Android die es gibt! Ich mag an dieser App, dass sie so unglaublich effizient aufgebaut ist und viele der Funktionen sehr an das Benutzerverhalten angepasst sind und dabei noch super aussieht. Wer auf ein bisschen Schickimicki steht, findet auch hier ein paar Statistiken, die hübsch aufgemacht sind. AntennaPod

Audile – Musik Erkennungs-App

Als Alternative zu Shazam benutze ich die Audile App Audile

Audio Recorder

Für Audioaufnahmen (Sprach Memos, einfaches Field Recording) benutze ich den Audio Recorder. Er hat eine schöne funktionale Übersicht, ohne viel Klimbim. Für die Aufnahmen können verschiedene Formate (Flac, wav, mp3, Opus, m4a), Mono/Stereo, alle möglichen Sampleraten und Samplefrequenzen ausgewählt werden. Ich würde mir noch wünschen, dass ich auch in 32Bit float aufnehmen könnte, aber vielleicht kommt das ja noch, oder ich finde eine zusätzliche oder andere App. Audio Recorder

Element – Messenger

Element ist ein dezentraler Messenger für alle Plattformen für Nachrichten aller Art, Sprachnachrichten, Sprach & Video Calls und etliche mehr Features wie zusätzliche Widgets und Bots. Element.io

Etar – Kalender

Ich habe lange diverse Kalender ausprobiert und bin schließlich bei Etar gelandet. Das Killerfeature, das mich überzeugt hat und das ich bei keiner anderen Kalender App gefunden habe ist, dass ich Benachrichtigungen oder Notifications NACH Beginn eines Termins knüpfen kann. So kann ich z.B. bei einem Einstündigen Termin nach einer halben Stunde oder 45 Minuten einen Alarm ausgeben lassen. Ein kleines Feature, aber unglaublich hilfreich für mich. Etar

Firefox – Internet Browser

Versteht sich von selbst! Zusätzlich benutze ich noch die Addons Privacy Badger, uBlock Origin und Canvasblocker um mir die Tech Stalker ein wenig vom Hals zu halten. Mir ist es auch ehrlich gesagt ein Rätsel, wie Menschen es schaffen, ohne kontinuierlich schreien zu müssen, ohne solche Blocker im Internet surfen zu können. Mozilla Firefox

Fossify Gallery – Bilder Galerie

Eine einfache und schnelle Foto Galerie, ohne zusätzlichen Hipsterkram, Cloud, Online, Anmeldung, Pseudo-KI Quatsch . Fossify Galery

KDEConnect

KDEConnect ist das Beste seit geschnitten Brot! Damit lassen sich Smartphones untereinander und Smartphones mit dem Computer per WLAN verbinden. So können Daten, Dateien, die Zwischenablage ausgetauscht werden. Das Smartphone stoppt die Medienwiedergabe, wenn ein Anruf rein kommt oder getätigt wird. Ferneingabe und Präsentationssteuerung und einiges mehr. Wie gesagt: Das Beste seit geschnitten Brot! KDEConnect

Librera Reader – PDF

Für mich der beste freie PDF Viewer, der noch viele weitere Formate unterstützt: PDF, EPUB, MOBI, DjVu, FB2, TXT, RTF, AZW, AZW3, HTML, CBZ, CBR, DOC, DOCX, etc. Librera Reader

Newpipe – YouTube

Stressfrei YouTube Videos anschauen, runterladen, konvertieren. YouTube

Nextcloud – Cloud

Nextcloud ist ein umfassendes Cloud System mit vielen weiteren Apps, das auch selbst gehostet werden kann. Auf dem Smartphone nutze ich hauptsächlich die Nextcloud App recht intensiv. Nextcloud

Open Camera – Foto & Video

Eine sehr umfangreiche Foto & Video App Open Camera

Organic Maps – Karten & Navigation offline

Ich kopiere mal einen Teil der Beschreibung von der Webseite, weil ich es nicht besser beschreiben könnte: Organic Maps ist eine freie und kostenlose Offline-Karten-App für Android und iOS für Reisende, Touristen, Wanderer und Radfahrer, die auf den Daten von OpenStreetMap basiert. Es handelt sich um eine datenschutzfreundliche, quelloffene Abspaltung der Maps.me-App (früher bekannt als MapsWithMe), die von denselben Leuten gepflegt wird, die MapsWithMe im Jahr 2011 erstellt haben. Organic Maps ist heutzutage eine der wenigen Apps, die 100% ihrer Funktionen ohne aktive Internetverbindung unterstützt. Installiere Organic Maps, lade Karten herunter. Organic Maps

OSS Document Scanner

Ganz frisch im IzzyOnDroid Repository aufgetaucht und bietet noch mehr Funktionen als PDF Doc Scan. Zusätzlich noch Filter, um das Scan Ergebnis zu verbessern und eine offline OCR Funktion (entsprechende Sprachen werden automatisch runtergeladen) und kann ein PDF mit überlagertem Text für die Volltextsuche speichern. OSS Document Scanner

PDF Doc Scan – Scanner

Eine App mit der die Kamera eines Smartphones in einen Scanner umgewandelt werden kann und damit sehr einfach Dokumente durch fotografieren eingescannt und als PDF umgewandelt werden kann. PDF Doc Scan

SecScanQR – QR Code Scanner & Creator

QR Codes sind schon recht alt und erst so langsam kommen sie bei vielen Menschen erst an. Sie ermöglichen es extrem einfach Informationen visuell zu übertragen. Ob als Info auf einem Plakat oder Einblendung in einem Video, von dem ein Screenshot gemacht weden kann oder beim direkten Adressenaustausch von Smartphone zu Smartphone, wenn man sich gegenübersteht. SecScanQR

Transistor – Simple Radio-App

Transistor ist eine App zum Hören von Radiosendern über das Internet. Transistor

Tuner

Stimmgerät App zum Beispiel zum Stimmen einer Gitarre Tuner

VLC – Player

VLC kennt vermutlich jeder, weil er auf jeder Plattform verfügbar ist und alles was es so an Formaten gibt klaglos abspielt. Prädikat: Bester Player wo gibt VLC

Viel Spaß damit!

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.

Open Source Voice Assistants

Siri, Duo, Alexa, Cortana oder wie sie alle heissen. Diese digitalen Assistenten, die immer einen Kanal zur Hersteller Cloud brauchen und über diesen Kanal auch immer mithören und das natürlich auch beim Hersteller verarbeiten. Warum tut man sich sowas an und stellt sich eine Wanze ins Eigenheim? Man muss schon einen gehörigen Schaden haben sich sowas in sein privates Zuhause zu stellen und auch noch Geld dafür zu bezahlen. Egal. Es gibt für sowas OpenSource Alternativen. Hier will ich einfach mal ein paar aufzählen

Kalliopehttps://kalliope-project.github.io/
Kalliope is a modular always-on voice controlled personal assistant designed for home automation. Kalliope can be installed on multiple linux system, and also on small single-board computers like the Raspberry Pi.

Mycrofthttps://mycroft.ai/
Mycroft is the world’s first open source assistant. Mycroft runs anywhere – on a desktop computer, inside an automobile, or on a Raspberry Pi. This is open source software which can be freely remixed, extended, and improved. Mycroft may be used in anything from a science project to an enterprise software application.

SUSIhttps://github.com/fossasia/susi_linux
This project aims at creating an implementation of Susi, capable to run on Linux Devices in a headless mode. It will enable you to bring Susi AI intelligence to all devices you may think like a Speaker, Car etc.

Jasperhttps://jasperproject.github.io/
Jasper is an open source platform for developing always-on, voice-controlled applications. Use your voice to ask for information, update social networks, control your home, and more. Jasper is always on, always listening for commands, and you can speak from meters away. Build it yourself with off-the-shelf hardware, and use our documentation to write your own modules.

Snipshttps://snips.ai/
Using Voice to Make Technology Disappear. Snips provides Private-By-Design, Decentralized Voice Assistant Technology and Solutions. Snips was built from scratch to protect your privacy. Everything runs directly on-device, meaning no one will ever hear your voice but you. This required over 4 years of research, during which our team pushed the limits of what can be done with AI on tiny devices. (Raspi)
Update 21.11.2019 : Sonos kauft französische Sprachassistenten-Firma Snips

Leonhttps://getleon.ai/
Leon is an open-source personal assistant who can live on your server. He does stuff when you ask him for. You can talk to him and he can talk to you. You can also text him and he can also text you. If you want to, Leon can communicate with you by being offline to protect your privacy.

Mozilla DeepSpeechhttps://github.com/mozilla/DeepSpeech
Project DeepSpeech is an open source Speech-To-Text engine, using a model trained by machine learning techniques, based on Baidu’s Deep Speech research paper. Project DeepSpeech uses Google’s TensorFlow project to make the implementation easier. Blogbeitrag „Mozilla stellt weltweit größten Sprach-Datensatz kostenlos zur Verfügung“

Almond https://almond.stanford.edu/
Almond is the open virtual assistant that you can access through your phone and the web. It helps you configure your devices, accounts, and public services, retrieve data from them, and execute actions on them. It also lets you share your data with your friends and families easily. Oh, by the way, it’s open source and it protects your privacy!

Vosk https://github.com/alphacep/vosk-api
Update 07.07.2021

Vosk is a speech recognition toolkit. Features:
Supports 18 languages and dialects – English, Indian English, German, French, Spanish, Portuguese, Chinese, Russian, Turkish, Vietnamese, Italian, Dutch, Catalan, Arabic, Greek, Farsi, Filipino, Ukrainian. More to come.
Works offline, even on lightweight devices – Raspberry Pi, Android, iOS
Installs with simple pip3 install vosk
Portable per-language models are only 50Mb each, but there are much bigger server models available.
Provides streaming API for the best user experience (unlike popular speech-recognition python packages)
There are bindings for different programming languages, too – java/csharp/javascript etc.
Allows quick reconfiguration of vocabulary for best accuracy.
Supports speaker identification beside simple speech recognition.

Github https://github.com/alphacep/vosk-api