Synology Disk Upgrade - Einbau grösserer Disks mit Übernahme der Daten

Samstag, 24. November, 2018

Ich habe daheim eine Synology Box (Modell 218 play) mit 2 Disks. Weil der belegte Speicherplatz 80% erreichte, habe ich 2 neue grössere Disks bestellt.
Bei der Bestellung darauf achten, dass man SATAII (oder III) wählt - als auch eine Festplatte, die für NAS und 24 Stunden Betrieb ausgelegt ist (zumindest beruhigt mich das). Bezüglich Marken will ich hier keinen Glaubenskrieg anzetteln.

Nachfolgend beschreibe ich in Bildern den Einbau der neuen Festplatten und die Aktionen in der Weboberfläche (DSM).

Zusammenfassend funktioniert das Speicher-Upgrade so:

  1. Einbau der ersten Festplatte
  2. im DSM: neue Festplatte verfügbar machen
  3. Festplatte 2 einbauen und initialisieren (… und der Rest geht dann automatisch :-))

[Weiterlesen…]

AMC Player - viel fehlt nicht mehr zur Version 1

Samstag, 10. November, 2018

Der auf meiner Webseite eingebundene Surround Audioplayer kommt der Version 1 immer näher.
In den letzten Tagen kam ein Feature zur Integration und Anzeige von Songinfos+Coverbild hinzu. Get-Funktionen in der API entsprechend auch.
Und so einige kleine Unschönheiten wuden ausgebügelt.

2018-11-10-amcplayer.jpg

Natürlich kann der Player auch für stereo Medien verwendet werden.

Aktuell schreibe ich an Erweiterungen, die es erlauben, Radiostreams einzubinden - analog mit denselben Metadaten und einem Coverbild. Streams oder Audiodateien sollen automatisch erkannt werden - man könnte so Mediadateien und Streams mischen. Entsprechend Medientyp sollen sich die Steuerelemente und dieFortschrittsanzeige anpassen.

weiterführende Links:

  1. Axels Webseite
  2. Dokumentation (en)
  3. Git-Repository (en)

Erstes Tutorial mit OBS: Installation Pimped Apache Status unter Lubuntu

Samstag, 27. Oktober, 2018

Ich hatte, mal irgendwann OBS auf meinem Rechner installiert … seinerzeit für einen recht banalen Zweck (Vollbild-Streaming zu Youtube) … und jenes geriet fast in Vergessenheit, weil nie wieder gebraucht.
Bis - ja bis eines wunderschönen Tages jemand in unserem Institut meinte, “… mit OBS kann ich für eine Demo sehr einfach Bild-Kompositionen auf andere Bildschirme streamen…”. Es sei einfach und verbirgt viele komplexe Einstellungen, zu denen man aber auch kommt.

Dies war der Wink mit dem Zaunpfahl, das Werkzeug gleichen Abends nochmals hervorzukramen: Man kann mehrere Bildschirmszenen ertsellen und dazwischen umschalten? Diese auch speichern? Und statt streamen vielleicht auch ein Video aufzeichnen?

Ich habe mich zu Beginn wohl zu initial wenig auf das Werkzeug eingelassen. Die Einstiegsoberfläche ist halbwegs einfach. Sobald man aber irgendeine Einstellung bearbeitet, wird man mit zahlreichen Optionen regelrecht eingedeckt. Das Speichern der erstellten Szene habe ich gar nicht gefunden, weil ich es als “Pojekt” links oben im ersten Menüpunkt erwartet hätte. Man muss sich wirklich erst etwas genauer umsehen.

Weil ich schon immer mal ein Tutorial mit Aufzeichnung des Bildschirminhaltes machen wollte, habe ich mich nochmals hingesetzt und probiert.
Als Erstlingswerk entstand ein Installationsvideo für mein Monitoring Werkzeug Pimped Apache Status.

2018-10-27-obs.png

Das Haupfenster ist spartanisch … aber hat es in sich

  1. links unten: “Szenen” - eine Liste mit verschiedenen Settings: Start-Bildschirmseite mit Text, dann eine oder mehrere mehrere mit Interaktionen, eine Outro-Szene.
  2. links unten 2: “Quellen” - pro Szene kann man ein Setup von Quellen platzieren. Ein Bild oder Programmfenster, Webcam oder Videoquelle, Text - alle Elemente kann man skalieren und verschieben und so beliebig anordnen. Die Quellen kann man in mehreren Szenen verwenden (verlinken) - damit werden Änderungen eines Textes oder einer Farbe in allen Szenen übernommen.

OBS zeichnet die Szenen-Umschaltung, die ich manuell gesteuert habe (Anm.: man kann dies auch automatisieren) und die in einer Szene eingebetten Bildschirmaktionen als eine Video-Datei auf.
Nach der Aufnahme war das per Webcam aufgezeichnete Audio zu leise - das musste noch normalisiert werden. Und das Video nochmals encodet.
Weil ich noch zusätzlich einige Annotationen einbringen wollte, z.B. weitere Texte und Hervorhebungen in der Ausgabe auf der Konsole, wurde noch ein 2. Video-Bearbeitungswerkzeug herangezogen.

2018-10-27-vsdc-video-editor.png

Und dann die Videodatei ein drittes Mal encodet. Davon wird die Videoqualität nicht besser. Hier habe ich noch Potential für Optimierungen.
Aber dann ging es “sogleich” auf Youtube.

Voila:

weiterführende Links:

  1. obsproject.com OBS Studio (Free and open source software for video recording and live streaming)
  2. videosoftdev.com VSDC Free Video Editor
  3. Axels Webseite - Docs Pimped Apache Status Get started - hier ist das Youtube Video eingebunden

Matomo-Updater

Donnerstag, 18. Oktober, 2018

Ich habe bei meinem Hoster ein shared Hosting. Dort läuft seit (gefühlt) “ewig” eine Piwik-Instanz. Heute Matomo.
Das aktuellste Matomo Zipfile enthält das Unterverzeichnis “matomo”. Aber meine Instanz liegt noch in einem andersnamigen Verzeichnis.

Damit ich auch künftig weiter automatisiert auf die aktuelle Matomo Version aktualisieren kann, habe ich ein Shellskript geschrieben, was das entpackte Achiv ins eigentliche Installverzeichnis schiebt.

Falls dies noch wer gebrauchen kann … bitteschön und am liebsten auf Github schauen [2] :-) Anzupassen ist der Bereich Config…

2018-10-19-matomo-update.png

[Weiterlesen…]

Wieder ein Nokia

Samstag, 21. Juli, 2018

Seit dieser Woche habe ich ein neues Smartphone. Ein Nokia. Als ich mein letztes Nokia hatte - puh das ist locker 10 Jahre her… danach kamen mehrere Sony Ericson… dann 2 Samsung… ähm, ich will gar nicht sagen, dass dies ein Gradmesser sein könnte, wie alt man geworden ist :-)

Einmal ausgepackt. Nach dem ersten Einschalten kam diese bekannte Nokia-Tonfolge - die vor 10 Jahren quasi omipräsenter Klingelton um einen herum (… und zwischenzeitlich fast vergessen) war.

Nach diesem kurzen Flashback kam dann auch ein Android zum Vorschein. Kaum auf dem “Desktop” … ein System-Update! Sowas hatte mein Samsung Galaxy Alpha seit 2 Jahren nicht mehr gesehen! Das ist schön: endlich wieder ein suppportetes Gerät! Das war auch einer der wichtigsten Kaufgründe: ich wollte ein Gerät mit AndroidOne.

Die meisten bisherigen Apps wurden automatisch installiert. Was fehlte, war Öffi - das ging aber auch durch die Techi-Presse, dass es von Google aus dem Google Store geworfen wurde, weil es einen Spenden Button enthält, der aber bei der Installation aus dem Google Store heraus aber gar nicht sichtbar ist. Aaalso: im Google Store sind Apps OK, die Werbung einblenden und einen heimlich ausschnüffeln toleriert - aber wenn man den Spenden Button unsichtbar macht, ist das ein Grund zum Rauswurf. Wer das tatsächlich verstanden hat, kann es mir gern nochmal erklären. Aber von Öffi kann man auch als APK herunterladen - oder in Kürze auch von F-Droid.

Das Samsung Galaxy hielt i.d.R. 1 Tag durch - hatte aber zwischendurch seine Rappel und war trotz reinem Standby nach 4 Studen saftlos.
Das Nokia bei meiner seltenen Gebrauchsweise musste ich nach 3 Tagen aufladen.

Kurz: im Moment habe ich Freude!

weiterführende Links:

  1. Öffi: oeffi.schildbach.de
  2. Heise: Öffi wird Open Source und landet auf F-Droid (17.7.2018)
  3. F-Droid - installierbarer Katalog mit FOSS-Apps (Free and Open Source Software) für Android

Windows10 - wenn man gar kein Handy anschliesst …

Donnerstag, 12. Juli, 2018

… kommt ein Dialog, was man mit seinem gar nicht angeschlossenen Handy machen kann. Oder aber könnte, wenn man denn ein Handy angeschlossen hätte.
Kommen Sie gerade noch mit?

Ach, ich verstehe es selbst nicht: ich habe doch nur eine Uhr per USB am Rechner aufladen wollen… und jene ist bereits entsperrt. Mein Handy zusätzlich zu entsperren wird nicht viel bringen.

2018-07-12-uhr-angeschlossen-win10.png

Linux: Cleanup-Jobs mit IML CLEANUP

Donnerstag, 21. Juni, 2018

Wir verwenden Puppet als Werkzeug zum Verteilen unserer Server-Konfigurationen auf Linux-Systeme. Für das Löschen von Dateien älterer N Tage in einem Startordner haben wir oft mehrere angepasste Shell-Skripte mit einem Suchbefehl verwendet.

Das IML CLEANUP macht einfach eine Aufteilung von Logik- und Konfigurationsdaten. Es ist einfacher, eine kleine Konfigurationsdatei zu erzeugen (besonders, wenn Sie Automatisierungswerkzeuge wie Puppet, Ansible oder Chef verwenden) anstatt mehrere Bereinigungsskripte zu bearbeiten.

Man kann mehrere Konfigurationsdateien anlegen, die jeweils etwa so aussehen:

dir = /your/starting/path
filemask = *.log,*.gz
maxage = 180
maxdepth =
deleteemptydirs = 1
runas = root

Jene Angaben werden aus den Konfigurationen geparst und in Parameter des find-Kommandos übersetzt.

Wie man es zum Laufen bringt:

  1. In der Datei /etc/imlcleanup.d/ können Sie (beliebig viele) Konfigurationsdateien wie das obige Snippet ablegen.
  2. ein Shell-Skript durchläuft alle Konfigurationsdateien und führt die Aktionen aller conf-Dateien aus.
  3. Sie müssen zusätzlich einen Cronjob erstellen, um dieses Skript regelmäßig (z.B. einmal pro Tag) auszuführen.

Genaueres ist auf Github zu finden. Bitte auch die dortigen Security-Hinweise beachten.

weiterführende Links:

  1. Github: imlcleanup
  2. Docs: os-docs.iml.unibe.ch/imlcleanup/

adb - Kopieren von Dateien auf ein Android Smartphone - auch ohne OS

Sonntag, 25. März, 2018

Ich habe da so ein Samsung Galaxy Irgend-Bla Smartphone mit Octa Core CPU und Schlagmichtot-Features … das bekommt seit 2 Jahren kein Update. Beim Versuch, das Android 5.02 zu aktualisieren, heisst die Meldung stets: ich bin auf dem aktuellen Stand.

Ich lach mich tot! Nein, ist es nicht. Eine Android Version 5 - das tut schon beim Lesen weh - Shame on you SAMSUNG!!

Höchste Zeit, das Ding mit einem massiv aktuelleren Custom ROM zu versorgen. TWRP wurde installiert und ich habe die Custom ROM LineageOS und Gapps draufkopiert. Dann die Installation ausgeführt.

Dann kam aber ein kleines Missgeschick: ich wollte die Installation wiederholen und habe das System in TWRP nochmal gewiped… OOPS: damit war das Betriebssystem weg, wie auch meine für die erste Installation draufkopierten Images. Das Smartphone kann man dann weder booten und auch nicht neu installieren. (OK, ich gebs zu: ich habe an der Stelle auch etwas geflucht :-))

So geht es aber weiter:

(1)
Das Telefon wurde in TWRP gebootet - dann per USB mit dem PC verbunden.

(2)
Man braucht adb (adb und fastboot wären Begriffe, um die Suchmaschine deiner Wahl zu füttern). Das Tool hatte ich bereits.

(3)
In der Konsole kann man schauen, ob das Smartphone gefunden wird:


C:\Program Files (x86)\Minimal ADB and Fastboot>adb devices
List of devices attached
4100706845537121 recovery

Yep. Ein “recovery” ist da - das ist das Smartphone.

(4)
Danach kann man beliebige Dateien zum Smartphone kopieren.

Syntax:

adb push [lokale Quelle] [Ziel am Smartphone]

Einfach die lokale Datei mit kompletten Pfad wählen (Hint: mit der Tab Taste schlägt die Konsole Datien und Verzeichnisse vor - so kann man den gesamten Dateinamen schnell komplettieren).
Als Ziel wähle ich /sdcard/ auf dem Smartphone.


C:\Program Files (x86)\Minimal ADB and Fastboot>adb push D:\Apps\Android\_data\Galaxy-alpha\lineage-14.1-20171130-UNOFFICIAL-sltexx-beta9.zip /sdcard/
[100%] /sdcard/lineage-14.1-20171130-UNOFFICIAL-sltexx-beta9.zip

C:\Program Files (x86)\Minimal ADB and Fastboot>adb push D:\Apps\Android\_data\Galaxy-alpha\open_gapps-arm-7.1-nano-20180324.zip /sdcard
[100%] /sdcard/open_gapps-arm-7.1-nano-20180324.zip

Anm.: dem ein oder anderen aufmerksamen Leser mag das LineageOs 14 auffallen, obwohl Version 15 aktuell ist … Version 15 gibt es noch nicht für mein Gerät.

(5)
Nun kann man in TWRP die Installation starten, indem man die Dateien aus dem /sdcard/ Verzeichnis wählt.
2018-03-25-twrp-dateien-in-sdcard-verzeichnis.jpg

weiterführende Links:

  1. Wikipedia: TWRP
  2. TWRP (en)
  3. Axels Webseite: Hilfe zu adb
  4. xda-developers Forum: Minimal ADB and Fastboot (en)
  5. https://www.lineageosroms.org/ - lineageOs Roms –> https://www.cyanogenmods.org/ (en)
  6. openGapps Google Apps packages (en)

20 Jahre Opensource - Check an unserem Institut

Sonntag, 4. März, 2018

20 Jahre OpenSource … und ich habe bei meinem Arbeitgeber (Institut für Medizinische Lehre der Universität Bern; ca. 70 Mitarbeiter) einmal grob überflogen, was ich da so aus meiner bescheidenen Perspektive so sehe. Nachfolgende Liste entstand, OHNE dass ich in den Teams deren Tools erfragt habe. Gut möglich, dass eine vollständige Liste doppelt so lang würde: es fehlen Werkzeuge verschiedener Teams genau so wie Desktop-Applikationen (das ginge mit dem Firefox Webbrowser ja schon los).

Ich wage dennoch zu behaupten: ohne Opensource ginge an unserem Institut nicht mehr sehr viel.

Betriebssysteme
etwa 97% unserer über 100 Server verwenden ein Linux. Bei uns sind im Einsatz
* CentOS - https://www.centos.org/
* Debian - https://www.debian.org/
* Ubuntu - https://www.ubuntu.com/

Verschlüsselung
* Mit https verschlüsselte Webseiten und applikationsinterne Kommunikation verwendet OpenSSL - https://www.openssl.org/
* wir haben Wrapper um das Backup-Werkzeug Dupicity im Einsatz - http://duplicity.nongnu.org/
* unsere Server verschlüsseln lokal ihre Daten mit GnuPG https://gnupg.org/ -
* SecureShell (SSH) für den selektiven Zugriff auf unsere Server per Shell, Filezilla oder getunnelte Zugriffe auf Datenbanken - https://www.openssh.com/
* Mittels Shibboleth können sich Accounts fremder Provider bei uns einloggen - https://www.shibboleth.net/
* Stunnel - Verschlüsselte Verbindung bei unverschlüsselten Protokollen - https://www.stunnel.org/

Virtualisierung
* Unsere Virtualisierungsserver arbeiten mit KVM - https://www.linux-kvm.org/
* Als Verwaltungssoftware für virtuelle Server verwenden wir OpenNebula, welches mit EU Fördergeldern unterstützt wurde - https://opennebula.org/
* Der Festplatten Cluster wird mit Ceph betrieben - https://ceph.com/
* lokale Instanzen von Virtualbox - https://www.virtualbox.org/

Softwareverteilung
* Puppet - https://puppet.com/
* Foreman - https://theforeman.org/

Programmiersprachen, Computing
* Javascript/ NodeJS - https://nodejs.org/
* OpenCpu - https://www.opencpu.org/
* Perl - https://www.perl.org/
* PHP - http://php.net/
* Python - https://www.python.org/
* R - https://www.r-project.org
* Ruby - https://www.ruby-lang.org

In Projekten sind div. kostenfreie Frameworks im Einsatz, darunter
* AngularJS - https://angularjs.org/
* Apache FOP Project - https://xmlgraphics.apache.org/fop/
* Bootstrap - http://getbootstrap.com/
* Fatfree PHP Framework - https://fatfreeframework.com
* FontAwesome (Iconset) - https://fontawesome.com/
* jQuery https://jquery.com/
* PureCSS - https://purecss.io/
* Ruby On Rails - http://rubyonrails.org/
* Symphony PHP Framework - https://symfony.com/

Entwicklertools
* Apache Studio https://directory.apache.org/studio/
* Mysql Workbench https://www.mysql.com/products/workbench/
* DBeaver - https://dbeaver.jkiss.org/
* Git - https://git-scm.com/
* Netbeans IDE - https://netbeans.org/
* Xamarin - https://www.xamarin.com/

Datenbanken
* CouchDB - https://couchdb.apache.org/
* OpenLDAP - https://www.openldap.org/
* Elasticsearch - https://www.elastic.co/
* Myslq - https://www.mysql.com/
* MariaDB - https://mariadb.org/
* Postgres - https://www.postgresql.org/
* Resin - https://resin.io/
* SqLite - https://sqlite.org/

Webserver
* Apache Httpd - https://httpd.apache.org/
* Nginx - https://www.nginx.com/
* HA-Proxy - http://www.haproxy.org/

Logging/ Monitoring
* CollectD - https://collectd.org/
* Grafana - https://grafana.com/
* Graylog https://www.graylog.org/
* Monit - https://mmonit.com/monit/
* Munin - http://munin-monitoring.org/
* Nagios - https://www.nagios.org/
* Sensu - https://sensuapp.org/

webbasierte Werkzeuge
* Alchemy CMS - https://alchemy-cms.com/
* Concrete5 - https://www.concrete5.org/
* Dokuwiki - https://www.dokuwiki.org/
* GitLab - https://about.gitlab.com/
* Ilias - https://www.ilias.de/
* Umfragen Limesurvey - https://www.limesurvey.org/de
* Webstatistik Mattomo - https://matomo.org/
* OpenProject - https://www.openproject.org/
* Raumplanung https://mrbs.sourceforge.io/
* Wordpress - https://de.wordpress.com/

Datenablagen, Datenaustausch
* Samba - https://www.samba.org/
* Nextcloud - https://nextcloud.com/

Ergänzt werden diese Tools durch eigene Entwicklungen: diverse Werkzeuge schreiben wir zusätzlich selbst.

Datenbank-Optimierung - mein Highlight der Woche

Sonntag, 18. Februar, 2018

Bei meiner Arbeit an der Uni Bern war ein Grossteil der Zeit in die Optimierung von Datenbank-Zugriffen geflossen. Das betraf hauptsächlich ein System für ein Portal für Dozierende und Studierende mit Stundenplänen, Kurseinschreibungen, Feeds zu etlichen Themen und nach Studienjahr getrennt, Kalendersynchronisation von personalisierten Kalendern uvm. Jenes Portal ist uralt und wurde einmal mit PHP4 entwickelt und sollte abgelöst werden. Wurde es aber nicht, sondern es wurde vor vielen Jahren mühsam unter PHP5 lauffähig gemacht, aber der Code blieb noch immer zumeist prozedural, mit vielen Includes und gespickt mit allen erdenklichen Highlights an Programmiersünden, sei es Wartbarkeit, Caching/ Performance, SQL-Injection oder Verständnis von Algorithmen und Gestaltung von Datenbankabfragen. Seit dem ersten Ablösetermin sind nun 8..9 Jahre vergangen … aber Herbst 2019 wird es endlich(!!) abgelöst. Heisst aber: bis dahin muss es weiter am Leben erhalten werden.

Es wurden 5 Applikationsteile, die “am meisten weh tun” ausgemacht und jene optimiert. Letzten Dienstag wurde es eingespielt. Doch, es hat sich gelohnt - da ist so ein markanter Abfall:

2018-02-18-dbperformance-queries-by-week.png

Man könnte meinen: da ist was kaputt. Aber nein: es funktioniert genau gleich!!
Ich hoffe, ich kann euch mit diesem Praxis-Beispiel motivieren: macht einmal eine Performance-Analyse und schaut genauer auf die Top 3!

[Weiterlesen…]