Wie man die komplette Wikipedia auf einen Raspberry Pi bekommt

Für Gegenden mit schlechter Internetanbindung oder aber für den Katastrophenfall wäre es doch ganz nett, wenn man die komplette Wikipedia offline auf einem kleinen Raspberry Pi vorhalten könnte. Mittels der Kiwix Software ist dies möglich.

Und so setzt du das Ganze auf:

Lade dir unter

https://download.kiwix.org/release/kiwix-tools/

das entsprechende tar herunter – für Raspberry Pi wäre das dann aktuell

kiwix-tools_linux-armhf-3.1.2-4.tar.gz

und entpacke das Ganze in einen beliebigen Ordner auf dem Raspberry Pi.

Unter

https://wiki.kiwix.org/wiki/Content_in_all_languages

findest du die offline Dumps der jeweiligen Wikipedia Sprachen in unterschiedlichsten Varianten. Die (englische) Erklärung zu den Varianten (min, max, usw.) findest du hier: https://download.kiwix.org/zim/README

Für die meisten Leute dürften folgende Links relevant sein (und auf eine 128gb Karte inkl. Betriebssystem passen):

Wikipedia Deutsch (komplett)

Wikipedia Englisch (ohne Bilder)

Neben diesen kompletten Dumps gibt es auch die Möglichkeit, nur einzelne Unterbereiche/Themenbereiche der jeweiligen Sprache zu laden. Man kann beliebig viele Pakete laden und auf den Raspberry Pi werfen, die Kiwix Software macht dann alles zusammen verfügbar.

Leg die heruntergeladenen zim Dateien in einen beliebigen Ordner auf dem Raspberry Pi.

Anschließend legst du eine systemd Startdatei für den Kiwix Server unter

/etc/systemd/system/kiwix.service

mit folgendem Inhalt an:

[Unit]
Description=kiwix

[Service]
User=kiwix
Group=kiwix
ExecStart=/[PFAD_ZUM_ENTPACKTEN_TAR]/kiwix-serve -p 8080 /[PFAD_ZU_DEN_HERUNTERGELADENEN_ZIM_DATEIEN]/wikipedia_de_all_maxi.zim /[PFAD_ZU_DEN_HERUNTERGELADENEN_ZIM_DATEIEN]/wikipedia_en_all_nopic.zim
Restart=on-failure
RestartSec=30s
TimeoutSec=30s

[Install]
WantedBy=multi-user.target

Und schließlich aktivierst du den neu erstellten Service noch:

systemctl daemon-reload
systemctl enable kiwix.service
systemctl start kiwix.service

Damit wird der Server so eingerichtet, dass er jedes mal automatisch startet, sobald der Raspberry Pi gestartet wird.

Im Anschluss kannst du unter der IP des Raspberry Pi auf Port 8080 bzw. auf ihm selbst mit http://127.0.0.1:8080 auf die Wikipedia zugreifen – und das völlig offline.

Um die Daten auf den neuesten Stand zu bringen reicht es, einfach die neuen zim Dateien zu laden und den Server einmal neu zu starten.

Docker meldet Chain DOCKER does not exist

Wenn docker beim Starten neuer Container die Meldung

Chain 'DOCKER' does not exist

ausgibt, dann bedeutet dies, dass für Docker keine IP-Talbes rules hinterlegt sind. Vermutlich kann das passieren, wenn man mit docker system prune aufräumt, so richtig sicher bin ich da aber auch nicht.

Falls der Fehler bei dir auch auftritt, kannst du ihn mit folgenden 3 Commands mittles root Permission auf dem entsprechenden Server lösen:


iptables -t nat -N DOCKER
iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER

[Quicktip] Wie man auf dem iPhone Zeitrafferaufnahmen einer GoPro Kamera in ein Video umwandelt

GoPro Kameras verfügen neben dem Video- und dem Foto-Modus auch über eine Zeitraffer Funktion. In dieser werden in festgelegten Abständen Fotos geschossen, welche dann später mittels der GoPro Software am Rechner zu einem Video zusammengefügt werden können.

Nun sind wir bereits im Jahr 2021 und ich möchte mittlerweile eigentlich alles was Videoschnitt angeht auch einfach unterwegs auf dem iPhone oder iPad machen können. nur leider ist das gar nicht so einfach. Man bekommt die Zeitraffer Aufnahmen zwar mit der GoPro App von der Kamera heruntergeladen und die App erkennt das ganze auch als zusammenhängendes Werk – ein einfaches Video kann man mit ihr aber trotzdem nicht erzeugen. Nachdem ich dann den größten Teil der Apps durchforstet habe stieß ich leider immer wieder auf das Problem, dass die vielen Zeitraffer Apps nur die direkte Aufnahme von Zeitraffer Videos ermöglichen, nicht aber das zusammensetzen von einzelnen Bildern die man bereits in der Foto App hat. Mit Ausnahme eines 30€ Schnittprogramms, welches die Funktion wohl unterstützt. Das war mir für diesen einen Einsatzzweck dann doch zu teuer.

Nach etwas hin und her habe ich mir dann die Shortcuts/Kurzbefehle App angesehen und über einen Trick kann man die gewünschten Videos so direkt am Handy erzeugen: man erstellt eine neue “Sharing App”, die Bilder als Input nimmt und erstellt dann aus den Bildern ein Gif – und aus dem Gif dann ein Video 🙄 😂

In der Shortcuts/Kurzbefehle App sieht das dann so aus:

Um aus der App eine Sharing App zu machen müsst ihr oben rechts auf die drei Punkte tippen und dann “Im Share-Sheet anzeigen” aktivieren. Sinnvollerweise sollte bei “Share-Sheet-Typen” Bilder ausgewählt sein.

Bei den Einstellungen für das Gif müsst ihr mit dem Wert bei “Sekunden pro Foto” ein bisschen spielen. Soweit ich das sehe kann der Wert nur 2 Stellen hinter dem Komma. 30 Bilder/s wären 0,03333333333… daher habe ich hier erstmal 0,04 genommen. 0,03 war mir dann etwas zu schnell, kommt aber eben auf das Video an.

 

Speichert das ganze ab, und dann könnt ihr in der Fotos App die entsprechenden Fotos markieren, teilen und wählt dann eure eben erstellte Shortcuts-App auf. Nachdem der Fortschrittsbalken durch ist solltet ihr das fertig gerenderte Video in euer Foto-App sehen. Irritierenderweise ist der Sharing-Bildschirm weiter offen…

Das schöne Dresden – eine mittles K.I. aufbereitete Doku über Dresden aus dem Jahre 1936

Es handelt sich um eine private Dokumentation der Stadt Dresden aus dem Jahre 1936, welche per künstlicher Intelligenz deutlich aufgewertet wurde – aus schwarz-weiss wurde Farbe, aus den verwackelten und damals üblichen ruckeligen Aufnahmen werden ruhige Kamerabilder mit flüssigen Bewegungen. Wenn man sich das Original anschaut, dann ist es wirklich krass was man dort mittels Computer und moderner Technik rausholen konnte.

PS: Der Film selbst startet ab Minute 1.

Das Video wurde leider mittlerweile gesperrt, man findet hier aber eine ähnliche Variante:

Gedreht wurde das Video damals von Dr. Gerhard Schneider. Das Original ist hier zu finden:
http://mediathek.slub-dresden.de/vid90000810.html

[Quicktip] Wie man Daten von Freenas auf einen USB Datenträger kopiert

Um Daten von eurem FreeNAS Server auf einen FAT32 formatierten USB Stick/USB Festplatte zu bekommen sind folgende Schritte notwendig:

  • Per SSH auf die Console des Servers verbinden
  • Verzeichnis für den Stick erstellen:
    mkdir /mnt/USB-Stick
  • Finde mittels
    gpart list
    heraus, wie die Bezeichnung des USB Sticks ist (z.B. “da1p1”)
  • Nun mountest du den Stick in das entsprechende Verzeichnis, welches du unter Punkt zwei angelegt hast
    mount -v -t msdosfs /dev/da1p1 /mnt/USB-Stick
  • mittels der Kommandos “cp” und “mv” kannst du nun auf der Console die gewünschten Dateien kopieren
  • wenn du fertig bist, kannst du per
    umount /mnt/USB-Stick
    den Stick wieder auswerfen und dann anschließend vom Server abziehen.

Wie man den Zusammenbruch einer Zivilisation verhindert

In diesem extrem guten Vortrag geht Jonathan Blow auf die Problematik des Wissensverlustes von Zivilisationen ein. Er erklärt Anfangs das Grundproblem, warum viele alte Zivilisationen, die einst sehr mächtig und effizient waren, irgendwann einfach verschwunden sind – wie die Römer oder die Maya. In allen genannen Beispielen war es auf der einen Seite kein Untergang innerhalb eines Tages, sondern über viele Jahre, Jahrzehnte oder gar Jahrhunderte und sie hatten auf der anderen Seite vor allem eines gemeinsam: immer spielte der Verlust von Wissen die entscheidende Rolle.

Und mit diesen erkannten Prinzipien schwenkt er dann in die Neuzeit und münzt das Ganze auf die Problemantik, dass die moderne Welt nahezu komplett auf Hardware/Software basiert – was an sich ja erstmal nicht verkehrt ist. Allerdings befinden wir uns aktuell in einer Phase, in der nahezu viele Techniker zwar auf ihrem hohen Level sehr gut sind, aber die wenigsten noch die Grundlagen beherschen: wie funktioniert eine CPU bzw. wie baut man eine CPU, wie funktioniert ein Compiler im Detail, wie werden Daten im Speicher abgelegt und verwaltet und was exakt macht eine Garbage Collection? Das sind nur einzelne Bereiche, aber sie zeigen das Problem auf: je weniger Leute sich mit Basiswissen auskennen, desto höher die Wahrscheinlichkeit, dass dieses Basiswissen einmal verloren geht. Ja, natürlich kann man alles dokumentieren und archvieren. Trotzdem braucht es ja weiterhin Leute die dieses Wissen dann auch anwenden können.

Blow erklärt das sehr gut anhand der Situation in der Spielewelt (die Konferenz auf der er spricht ist eine Spielekonferenz) – genauer gesagt in der Welt der Indygames – in der es aktuell mehr oder weniger nur noch zwei führende Technologien gibt: Unity und Unreal. Keiner der entsprechenden Entwickler weiß, wie man selbst eine 3D Engine baut noch wie man absolut Low-Level einen Pixel auf den Bildschirm zeichen kann. Ich habe dafür mal von dem tollen Begriff des “Glue-Developers” gelesen: also ein Entwickler, der “nur noch” Libraries/Frameworks “zusammenklebt” und damit komplexe Applikationen baut. Das ist an sich etwas tolles, weil es effizient und wahrscheinlich sehr schnell ist. Aber was passiert, wenn es zu einem Fehler in einer darunter liegenden Library kommt?

Wie repariert man diesen Fehler bzw. wie findet man ihn überhaupt noch. NodeJS bzw. NPM ist ein gutes Beispiel wie absurd diese Abstraktion von Wissen werden kann, da dort selbst einfachste Funktionen in externe Libraries ausgelagert werden. Mit fatalen Konsequenzen.

Mich hat der Vortrag auf jeden Fall inspieriert, mal wieder einen Blick auf Basics zu werfen und lieber grundlegende Dinge wie Assembler/C Programmierung anzuschauen und mein Grundwissen da etwas auszubauen statt dem nächsten neuen Tech-Trend hinterherzueifern.

Erste Benchmarks für Apples M1 Prozessor sind da

Da hat Apple mit dem M1 was ziemlich heftiges rausgehauen. Die ersten Benchmarks zeigen, dass das Macbook Air (passiv gekühltes Einsteigergerät) mit dem neuen M1 Chip das am besten ausgestattete Macbook Pro 16″ in nahezu allen Kategorien schlägt. Man kann sich ausmahlen was dann die neuen Macbook Pros die hoffentlich im Frühjahr kommen leisten werden 😱

Quelle: https://browser.geekbench.com/v5/cpu/compare/4652635?baseline=4648107