Never change a running System!

Die Existenz dieser fast schon elementaren Grundregel der Informatik, ist natürlich kein Hindernis, sie trotzdem regelmäßig zu brechen 😉 „Mal schnell ein Update machen“ – Und was passiert regelmäßig? Irgendetwas wird nicht korrekt verknüpft, Zugriffsrechte fehlen plötzlich in einem tief im System vergrabenen Unterordner, Absturz während dem Update etc…

Meine Nextcloud läuft perfekt im Hintergrund – in einem älteren Blogeintrag habe ich eine Cloudlösung noch per USB an der FritzBox und Weiterleitung per DynDNS realisiert – dies hatte jedoch entscheidende Nachteile:

  • Geschwindigkeit (USB 2.0 / Netzwerk)
  • Keine 24/7 Erreichbarkeit (Dynamische IP!)
  • Keine Lösung für mobile Geräte…

Zur Zeit der oben genannten Konfiguration war mir noch nicht wichtig, das mein Handy ebenfalls umfangreich synchronisiert wird. Inzwischen hat sich das geändert, so dass vor allem der letzte Punkt ausschlaggebend für ein Umdenken war! Dank des Raspberry Pi als Server mit externen Festplatte, konnte eine Energie- und Kosten effektive Lösung realisiert werden, die sogar mit verschiedenen Apps unterstützt wird:

 

Der Pi läuft rund um die Uhr im Heimnetz, ohne Zugang nach außen. (Ein Zugriff vom Internet aus, ließe sich aber realisieren und wird von Nextcloud auch angeboten und unterstützt!) Ich meine Geräte so eingestellt, das entweder über den Nextcloud Desktop Client [1] oder die Smartphone App [2] synchronisiert wird, sobald man mit dem Heimnetzwerk verbunden ist:

Das dauert zwar ebenfalls durch die USB 2.0 Schnittstelle des Pi’s ein wenig, passiert aber bequem im Hintergrund und stört damit nicht weiter.

Um zum Grundproblem zurück zu kehren – ich hatte meine Nextcloud noch auf Version 12 laufen und wollte gern durch den Integrierten Updater auf Version 13 springen – dies ist jedoch fehlgeschlagen 😦 Statt eines Logins der Weboberfläche schaute ich nur noch auf eine Nachricht, ich solle mich an meinen Admin wenden… Die Nextcloud war noch per SSH erreichbar aber keine Synchronisation fand mehr statt!

Nach stundenlangem Rumsuchen und probieren, bin ich schließlich auf [3] gestoßen und konnte die Ursache eingrenzen – beim Update ist etwas schief gelaufen und Nextcloud hat sich selbst in den „Maintenance Mode“ (=Wartungsmodus) gesetzt. Also habe Ich das Update erneut per SSH angestoßen, anschließend den Wartungsmodus händisch deaktiviert:

cd /var/www/nextcloud
sudo -u www-data php ./occ upgrade
sudo -u www-data php ./occ maintenance:mode --off

Vorsorglich ein kurzer anschließender Reboot und schon konnte ich endlich wieder auf alles zugreifen und die Synchronisation startete wie gewohnt… Das Update auf die nächste Version wird hoffentlich besser 😉

nextc

[1] https://nextcloud.com/clients/
[2] https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.full
[3] https://docs.nextcloud.com/server/13/admin_manual/maintenance/update.html
[4] https://help.nextcloud.com/t/stuck-in-maintenance-mode-after-attempt-to-go-to-nextcloud-13/27206
Advertisements

Quellcode…

Es ist 3:06 – was zur Hölle treibt einen um diese Uhrzeit zu einem Montag morgen an den PC? Ich sags euch… Es ist das Verlangen nach etwas, das den Menschen schon seit Jahrzehnten antreibt – etwas zu erschaffen.

Da ich Handwerklich eher minimal begabt bin, programmiere ich. Schon seit Jahren und immernoch mit so viel Spaß wie seit ich das erste Mal auf dem Commodore 64 angefangen habe… Und ich programmiere meine Tools, die es sicher irgendwo schon mal gibt, aber nie so wie ICH es gern hätte. Ich will auch nicht alles auf dem Silbertablet bekommen. Ich will mich hinsetzen und mir einen Kopf machen müssen, wie ich die für den normalen Endanwender gar nicht sichtbaren Probleme lösen kann. Das ist genau das was ich tun möchte. Und wenn ich wie gerade eben eine Funktion geschrieben habe, die erkennt wann neue Dateien in einem Spezifischen Ordner erscheinen, abwartet bis der Schreibzugriff von fremden Programmen aufgehört hat und dann die Datei umbenennt und verschiebt – bin ich doch manchmal recht stolz auf mich.

Ist es nachvollziehbar? Nein. Für Nicht-Nerds wenn ich das mal so sagen darf, ist dieses Verhalten nicht nachvollziehbar. Bis spät Nachts die Tastatur klappern lassen, sich rumärgern an kleinen Problemen, kämpfen wenn etwas nicht gleich so will wie es soll (was fast zu 100 % der Fall ist…) aber sich am Ende dennoch freuen wenn es funktioniert. So etwas muss man mal gemacht haben, genau wie LAN Partys – einfach um die Faszination nachvollziehen zu können.

Ja, es ist vielleicht Zeitverschwendung – aber es ist zugleich auch das sinnvollste was man tun kann wenn man ein denkender Mensch ist: Etwas erfinden um anderen zu helfen! Und auch wenn man sich manchmal nur selbst hilft – man hat seinen Kopf angestrengt um ein Problem zu lösen. Das Allein hat doch schon Applaus verdient 😉

Danke und Gut Nacht…

The Mediacenter goes on..

Media, Filme, Programmieren, Visual Basic

Version 0.2 Beta ist fertig… Keine großen Optischen Veränderungen, es gibt jetzt ein Externes Addtool, die Ordner in denen Standartmäßig nach Covern oder nach den Filmen gesucht werden sind jetzt frei definierbar und ändern sich nicht nach jeder Auswahl. Vorbei das ewige Explorergeklicke und endlich genug Platz um nochmal nachzuschauen welcher Film noch nicht im Archiv ist da das externe Addtool recht klein ist.

Zudem hab ich nun (wie man rechts sehen kann) endlich die Möglichkeit der Seitennavigation fertig. Wie es sich mit speziellen Abfragen verhält muss ich noch testen, aber ich habe schon eine gute Idee auch komplizierte SQL Abfragen zwischenzuspeichern und die Ergebnisse über mehrere Seiten anzuzeigen.

Viele kleine Veränderungen und viel Bugfixing unter der Haube was aber die Usability (wie es so schön heißt xD) deutlich verbessert. Die integrierte Traileransicht über Youtube muss leider warten, ich habe bis jetzt noch keine Möglichkeit gefunden die Flashvideos von Youtube direkt in das Programm einzubinden -.- Weiter Features die (hoffentlich) bald folgen:

  • Automatisches Scannen nach neuen Filmen (derzeitige Priorität) und stapelweises Hinzufügen der Filme mit Cover
  • Einfügen eines dynamisch erweiterbaren Abfragesyntaxes, der sich anhand der Einträge der Datenbank verändert und vordefinierte Auswahlfelder (z.b. HD Filme etc.)
  • Verteilfertiges Downloadpaket zum Selbsttesten (falls Interesse)
  • Anpassung der grafischen Oberfläche (Index soll unten und nicht mehr links angezeigt werden)
  • Plugin für eine Mediaverwaltung von Serien (Staffeln mit den einzelnen Serien etc.)

Viel zu tun würd ich sagen 😉 Über Kommentare, Anregungen und Fragen freue ich mich immer 🙂

Mediacenter – The next Chapter…

So Mediacenter ist weiterentwickelt wurden, es ist schicker gewurden, man kann leichter Filme hinzufügen, editieren, löschen,  zwischen Ihnen hin und her switchen wie man so schön sagt und sie endlich direkt aus dem Programm herraus anschauen wenn der Pfad mit dem VLC verknüpft wurde (Ist natürlich einstellbar…). Sobald ein Film gestartet wurde schaltet das Program automatisch auf Fullscreen um.

Mann kann zudem Abfragen auf die Datenbank gestalten das nur die Eintäge angezeigt werden sollen, die HD Filme sind oder alle Filme seit eines bestimmten Datums. Geplant ist, das mit fertigen Bausteinen gearbeitet werden kann und so eigene Abfragen ähnlich wie in einem Regelwerk eines Mailprogramms (Outlook, Thunderbird) erstellt werden können.

Zudem soll die Coversuche in das Programm eingebunden werden. Die Analyse der neuen Dateien in einem Verzeichnis (was der User selbst wählt) erfolgt selbstständig und prüft zugleich ob der Film nicht schonmal vorhanden war. Zudem wird nicht nur der Dateiname sondern auch andere Sachen geprüft, z.b. Dateigröße, Format etc.

Die geplante Abfrage zu imdb muss noch etwas warten da die Umsetzung schwieriger als gedacht ist. Gerade ist noch die Covererkennung bzw. eine integrierte Coversuche plus Zurechtschneiden der Bilder in Arbeit sowie die Erkennung aller Formate die der User gern wünscht. Da hakt es noch etwas aber ich denke im großen und ganzen bin ich zufrieden mit der Arbeit für mich als Programmierer schauts auch ganz schick aus ^^

Projekt: Movie Verwaltung

Da ich nun schon ein recht großes Filmarchiv habe, kam schon immer die Idee mir irgendwie dazu ein Tool zu schreiben was mit das optisch und auch technisch durchordnet. Nachdem ich das Windows Movie Center und die freie Alternative, Eliza, probiert hatte, stellte ich ernüchternd fest das mir das alles nicht reicht bzw. nicht die Funktionen besitzt die ich will.

Was liegt also näher als das ganze selbst zu schreiben? Kurz und knapp, links seht ihr die erste „Beta“ meiner Moviedatenbank. Die Technik dahinter ist ein in Visual Basic 6.0 geschriebenes App was auf eine Accessdatenbank zugreift, alle Abfragen geschehen mit SQL. Zur Zeit verzichte ich noch auf sämtliche Grafischen Elemente, zur Zeit möchte ich einfach das der Syntax steht und die Usability passt. Schließlich will ich das Teil entspannt von der Couch mit der Maus bedienen und nicht kryptische Befehle einklimpern 😉

Was mein Programm (bis jetzt :P) kann: Buchstabensuche durch das gesamte vorhandene Archiv (links im Bild), automatisches Abgreifen aller Filmnamen und Anzeige nur der Buchstaben, wo auch Filme dahinter liegen. Wenn kein Film mit „X“ vorhanden ist, wird auch in der Tabauflistung in der Mitte kein „X“ angezeigt! Die Tabs werden jedesmal zur Laufzeit generiert genauso das Laden der Cover und Filmdaten etc. Geplant sind noch mindestens folgende Features:

  • Bequemes Editieren der Filminformationen aus der Indexsuche und der Coverdarstellung
  • Datenbankintegrität prüfen (gibt es die Filme noch auf der Festplatte? Gibt es das Cover noch?)
  • Statusinformationen zur Datenbank und belegten Speicher
  • Automatisches Abgreifen der Filminformationen von imdb.de beim Anlegen eines neuen Filmes
  • Das Auge etwas mehr verwöhnen beim Starten 😛

Soweit sogut, heut ist Samstag jetzt ist erstma Schluss 😉 Und Teil zwei vom QWERTZ Smartphone Artikel kommt auch bald, versprochen!