Tuning ...
Wie bereits geschrieben, musste ich ein wenig tunen.
In der ersten Stufe habe ich einige Datenbankparameter angepasst und in der zweiten Stufe die Datenbankinhalte bereinigt.
Wenn man ein Monitoringsystem - in meinem Fall Bloonix (gibt es übrigens auch in der Open-Source-Variante zum selber hosten) - benutzt, kann man sehr schön den Erfolg feststellen (die Webseite wird von extern aufgerufen).
In der ersten Stufe habe ich einige Datenbankparameter angepasst und in der zweiten Stufe die Datenbankinhalte bereinigt.
Wenn man ein Monitoringsystem - in meinem Fall Bloonix (gibt es übrigens auch in der Open-Source-Variante zum selber hosten) - benutzt, kann man sehr schön den Erfolg feststellen (die Webseite wird von extern aufgerufen).
Limits für MariaDB auf CentOS ...
Erkan hat - nachdem er mir einen entscheidenden Tipp gab - es auch gleich selber verbloggt.
Die Limits für MariaDB (ich musste an den "open files" schrauben) werden nicht - wie bei SystemV üblich - in der Datei
Die Einstellung der maximal offenen Dateien in der
Die Limits für MariaDB (ich musste an den "open files" schrauben) werden nicht - wie bei SystemV üblich - in der Datei
/etc/security/limits.conf
gesetzt, sondern neu in der Datei /etc/systemd/system/mariadb.service.d/limits.conf
, das passende Verzeichnis mariadb.service.d
muss allerdings auch noch angelegt werden.Die Einstellung der maximal offenen Dateien in der
limits.conf
, plus der Bereinigung der Logbuch-Datenbanken von Altlasten sollten jetzt zu einer annehmbaren Performance führen. (Grafik liefere ich nach).
Migration abgeschlossen ...
Ende letzter Woche habe ich meine Migration von Debian Squeeze LTS auf CentOS 7 und von Manitu zu Metanet abgeschlossen.
Es ist noch reichlich Performance-Tuning nötig, aber die Dienste laufen jetzt alle auf der neuen Hardware.
Ein Wort zu dem Wechsel:
Ich war mit Manitu nicht unzufrieden, ganz im Gegenteil, aber ich wollte die Dienste alle in der Schweiz haben, weil mir der Spagat zwischen dem Deutschen und dem Schweizer Rechtssystem nicht so gut gefällt.
Interessanterweise hat es bei dem Wechsel an Stellen geknallt, die ich nicht erwartet hatte.
Eine davon war die Apache-Konfiguration, bedingt durch den Wechsel von Apache 2.2 auf Apache 2.4 und einem Fehler in dem Upgrade-Guide.
Dort steht, dass man die 2.2er Konfiguration
Durch die folgende 2.4er Konfiguration
ersetzen soll.
Tatsächlich ist es aber so, dass man beides braucht:
Das hat mich viele Nerven gekostet.
Es ist noch reichlich Performance-Tuning nötig, aber die Dienste laufen jetzt alle auf der neuen Hardware.
Ein Wort zu dem Wechsel:
Ich war mit Manitu nicht unzufrieden, ganz im Gegenteil, aber ich wollte die Dienste alle in der Schweiz haben, weil mir der Spagat zwischen dem Deutschen und dem Schweizer Rechtssystem nicht so gut gefällt.
Interessanterweise hat es bei dem Wechsel an Stellen geknallt, die ich nicht erwartet hatte.
Eine davon war die Apache-Konfiguration, bedingt durch den Wechsel von Apache 2.2 auf Apache 2.4 und einem Fehler in dem Upgrade-Guide.
Dort steht, dass man die 2.2er Konfiguration
Order allow,deny
Allow from all
Durch die folgende 2.4er Konfiguration
Require all granted
ersetzen soll.
Tatsächlich ist es aber so, dass man beides braucht:
Order allow,deny
Allow from all
Require all granted
Das hat mich viele Nerven gekostet.
Taskwarrior 2.4.1 ...
Gestern Abend wurde Taskwarrior in der Version 2.4.1 veröffentlicht. Es kann über die bekannten Wege heruntergeladen und installiert werden.
Für den Einen oder anderen ist es vielleicht interessant, dass es mittlerweile auch eine deutsche Übersetzung gibt. Installation "in Deutsch" geht so:
Natürlich wurden auch wieder reichlich Fehler behoben.
Viel Spass!
Für den Einen oder anderen ist es vielleicht interessant, dass es mittlerweile auch eine deutsche Übersetzung gibt. Installation "in Deutsch" geht so:
$ cmake -DLANGUAGE=2 .
$ make
$ sudo make install
$ make
$ sudo make install
Natürlich wurden auch wieder reichlich Fehler behoben.
Viel Spass!
Von Sublime Text zu Atom ...
Eines vorab, ich halte Sublime Text immer noch für einen der besten Editoren, die es derzeit gibt, auch wenn er in weiten Teilen Closed-Source-Software ist. Die Entscheidung ihn einzusetzen, habe ich nie bereut und die Lizenz ist super, daran sollten sich viele ein Beispiel nehmen (einmal kaufen und auf beliebig vielen Computern einsetzen).
Was mich ein wenig nervt, ist, dass die Weiterentwicklung stagniert und der Ton im "Feature Request Forum" bei Userecho nervt.
Als einzige grafische Alternative, die auf mehreren Plattformen läuft, sehe ich nur Atom, den Editor aus der GitHub-Schmiede. Die Features sind super, aber an der Performance müssen die Programmierer noch arbeiten.
Als Plugins möchte ich minimap und save-session empfehlen, damit kann man leicht zwei lieb gewonnene Features von Sublime Text nachrüsten.
Ein weiteres Plus ist, dass Atom Open-Source-Software ist.
Was mich ein wenig nervt, ist, dass die Weiterentwicklung stagniert und der Ton im "Feature Request Forum" bei Userecho nervt.
Als einzige grafische Alternative, die auf mehreren Plattformen läuft, sehe ich nur Atom, den Editor aus der GitHub-Schmiede. Die Features sind super, aber an der Performance müssen die Programmierer noch arbeiten.
Als Plugins möchte ich minimap und save-session empfehlen, damit kann man leicht zwei lieb gewonnene Features von Sublime Text nachrüsten.
Ein weiteres Plus ist, dass Atom Open-Source-Software ist.
Restart check ...
Wenn auf einem Linux-System Updates eingespielt werden, beispielsweise von Bilbiotheken, die von vielen Programmen benutzt werden, dann werden die neu installierten Libraries erst benutzt, wenn ein neues Programm gestartet wird. Alle bereits laufenden Programme nutzen noch die Bibliothek, die vor dem Update vorhanden war.
Um festzustellen, welche Programme das sind, gibt es unter CentOS das Skript
Es lohnt sich, diese Skripte direkt nach einem Update auszuführen, um sich nicht in falscher Sicherheit zu wiegen.
Um festzustellen, welche Programme das sind, gibt es unter CentOS das Skript
needs-restarting
, es ist im Paket yum-utils zu finden. Unter Debian und Ubuntu heisst das Skript checkrestart
und ist im Paket debian-goodies zu finden.Es lohnt sich, diese Skripte direkt nach einem Update auszuführen, um sich nicht in falscher Sicherheit zu wiegen.
Serendipity-Treffen 2015 ...
Wir werden uns mit einigen Interessierten zum ersten Mal "in persönlich" Im Linuxhotel treffen.
Matthias war so freundlich, die Rahmeninformationen in einem Text zu sammeln.
Hier nur kurz die Information:
Matthias war so freundlich, die Rahmeninformationen in einem Text zu sammeln.
Hier nur kurz die Information:
- Termin: 06.-08.03.2015 im Linuxhotel in Essen
- Bei dem Wochenende geht es darum, dass wir uns kennenlernen.
- Das ist ein Community-Angebot des Linuxhotels.
- Wer im Hotelzimmer übernachten möchte, muss sich bis zum 19. Februar 2015 bei mir melden.
- Tagesgäste sind willkommen, aufgrund der besseren Planbarkeit bitte ebenfalls mir Bescheid sagen.
Serendipity 2.0 ...
Yippieh, da ist sie endlich die Version 2.0 der besten Blogsoftware der Welt.
Achtung: Das ist ein grosses Update. Macht bitte in jedem Fall vorher ein Backup Eurer Datenbanken und des Serendipity-Verzeichnisses. Wichtig ist auch, dass alle Plugins aktualisiert werden bevor es los geht.
Erfahrungsgemäss gibt es bei einem neuen Release immer Fehler, die erst auffallen, wenn eine breitere Masse testet, daher schlage ich vor, erst einmal zwei Wochen ins Land gehen zu lassen, bevor Ihr aktualisiert.
Hier im Blog läuft die 2.0 seit der ersten Beta-Version, vielleicht sogar schon früher, weiss ich gerade nicht.
Achtung: Das ist ein grosses Update. Macht bitte in jedem Fall vorher ein Backup Eurer Datenbanken und des Serendipity-Verzeichnisses. Wichtig ist auch, dass alle Plugins aktualisiert werden bevor es los geht.
Erfahrungsgemäss gibt es bei einem neuen Release immer Fehler, die erst auffallen, wenn eine breitere Masse testet, daher schlage ich vor, erst einmal zwei Wochen ins Land gehen zu lassen, bevor Ihr aktualisiert.
Hier im Blog läuft die 2.0 seit der ersten Beta-Version, vielleicht sogar schon früher, weiss ich gerade nicht.
Goodbye Flattr ...
Jetzt aber wirklich ...
Nach dem Posting von Bye bye Flattr hat sich in der Performance eine Menge getan und in meinem Nutzungsverhalten auch.
Ausser drei Abos, die ich schon seit Monaten nicht mehr angefasst habe, habe ich über ein Jahr nicht mehr ein einziges "Ding" manuell geflattrd. Damit ist das nutzlos und erfüllt seinen Zweck nicht mehr.
Ich wiederhole gerne meinen Aufruf "von damals":
Nach dem Posting von Bye bye Flattr hat sich in der Performance eine Menge getan und in meinem Nutzungsverhalten auch.
Ausser drei Abos, die ich schon seit Monaten nicht mehr angefasst habe, habe ich über ein Jahr nicht mehr ein einziges "Ding" manuell geflattrd. Damit ist das nutzlos und erfüllt seinen Zweck nicht mehr.
Ich wiederhole gerne meinen Aufruf "von damals":
Wenn Ihr mir etwas spenden wollt, schenkt mir Eure Aufmerksamkeit und beteiligt Euch an den Diskussionen hier. Das ist "Lohn" genug.
Rechtsbelehrung ...
Der Podcast Rechtsbelehrung sollte zur Pflicht für jeden gehören, der irgendwelche (!) Online-Aktivitäten durchführt. Nachdem ich die ersten paar Episoden gehört hatte, wollte ich mich schon aus dem Netz zurückziehen, so viele Stolperfallen gibt es.
Interessanterweise habe ich auch erfahren (leider weiss ich die Folge nicht mehr), dass es eigentlich völlig sinnlos ist, mit dem Rootserver in die Schweiz zu wechseln, da sich das angewendete Recht nach dem Zielpublikum richtet. So ist beispielsweise die New York Times von einem Gericht in Deutschland rechtskräftig verurteilt worden, weil sie sie sich mit Artikel direkt an eine Leserschaft in Deutschland gewendet hat.
Das dürfte auch für die Schweizer Leser sehr interessant sein.
Da wir auf unseren Webseiten, die auf dem Rootserver laufen, ausschliesslich die Deutsche Sprache verwenden, ist das Zielpublikum schon einmal sehr eingeschränkt.
Mich würde ein solcher Podcast in der Schweiz auch sehr interessieren.
Interessanterweise habe ich auch erfahren (leider weiss ich die Folge nicht mehr), dass es eigentlich völlig sinnlos ist, mit dem Rootserver in die Schweiz zu wechseln, da sich das angewendete Recht nach dem Zielpublikum richtet. So ist beispielsweise die New York Times von einem Gericht in Deutschland rechtskräftig verurteilt worden, weil sie sie sich mit Artikel direkt an eine Leserschaft in Deutschland gewendet hat.
Das dürfte auch für die Schweizer Leser sehr interessant sein.
Da wir auf unseren Webseiten, die auf dem Rootserver laufen, ausschliesslich die Deutsche Sprache verwenden, ist das Zielpublikum schon einmal sehr eingeschränkt.
Mich würde ein solcher Podcast in der Schweiz auch sehr interessieren.
Benchmarking ...
Man kann viel über Tools lernen, wenn man nachvollziehbare Messungen macht.
Für mich hat sich als sinnvoll erwiesen, fünf Mal zu messen. Die beste und die schlechteste Messung wird gelöscht ("Ausreisser") und aus den verbleibenden drei Messungen nehme ich den Mittelwert.
Die Messungen für den Artikel dd vs. fallocate vs. truncate ... habe ich mit diesem Skript gemacht:
Dabei habe ich das Kommando eingesetzt, was ich gerade getestet habe.
Interessant ist, wie sich die Blocksizes bei dd auf die wirkliche Schreibperformance auswirken ... nämlich minimal. Hier kommen nur die mittleren der fünf Werte, die komplette Liste der Messwerte lässt sich hier sehen.
Für mich hat sich als sinnvoll erwiesen, fünf Mal zu messen. Die beste und die schlechteste Messung wird gelöscht ("Ausreisser") und aus den verbleibenden drei Messungen nehme ich den Mittelwert.
Die Messungen für den Artikel dd vs. fallocate vs. truncate ... habe ich mit diesem Skript gemacht:
#!/bin/bash
set -o errexit
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd count=20971520 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=10240 count=1048576 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=20480 count=524288 ; sync)'
# echo 'sync ; time (fallocate -l 10G 10gig.fallocate ; sync)'
echo 'sync ; time (truncate -s 10G 10gig.truncate ; sync)'
for i in $(seq 1 5); do
sync ; time (truncate -s 10G 10gig.truncate ; sync)
rm 10gig.truncate
done
set -o errexit
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd count=20971520 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=10240 count=1048576 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=20480 count=524288 ; sync)'
# echo 'sync ; time (fallocate -l 10G 10gig.fallocate ; sync)'
echo 'sync ; time (truncate -s 10G 10gig.truncate ; sync)'
for i in $(seq 1 5); do
sync ; time (truncate -s 10G 10gig.truncate ; sync)
rm 10gig.truncate
done
Dabei habe ich das Kommando eingesetzt, was ich gerade getestet habe.
Interessant ist, wie sich die Blocksizes bei dd auf die wirkliche Schreibperformance auswirken ... nämlich minimal. Hier kommen nur die mittleren der fünf Werte, die komplette Liste der Messwerte lässt sich hier sehen.
sync ; time (dd if=/dev/zero of=10gig.dd count=20971520 ; sync)
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB) copied, 36.6231 s, 293 MB/s
real 2m2.442s
user 0m2.772s
sys 0m33.771s
#####
sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)
10485760+0 records in
10485760+0 records out
10737418240 bytes (11 GB) copied, 20.5773 s, 522 MB/s
real 1m55.923s
user 0m0.974s
sys 0m19.529s
#####
sync ; time (dd if=/dev/zero of=10gig.dd bs=10240 count=1048576 ; sync)
1048576+0 records in
1048576+0 records out
10737418240 bytes (11 GB) copied, 7.79126 s, 1.4 GB/s
real 1m53.523s
user 0m0.123s
sys 0m7.667s
#####
sync ; time (dd if=/dev/zero of=10gig.dd bs=20480 count=524288 ; sync)
524288+0 records in
524288+0 records out
10737418240 bytes (11 GB) copied, 6.87154 s, 1.6 GB/s
real 2m8.122s
user 0m0.068s
sys 0m6.808s
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB) copied, 36.6231 s, 293 MB/s
real 2m2.442s
user 0m2.772s
sys 0m33.771s
#####
sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)
10485760+0 records in
10485760+0 records out
10737418240 bytes (11 GB) copied, 20.5773 s, 522 MB/s
real 1m55.923s
user 0m0.974s
sys 0m19.529s
#####
sync ; time (dd if=/dev/zero of=10gig.dd bs=10240 count=1048576 ; sync)
1048576+0 records in
1048576+0 records out
10737418240 bytes (11 GB) copied, 7.79126 s, 1.4 GB/s
real 1m53.523s
user 0m0.123s
sys 0m7.667s
#####
sync ; time (dd if=/dev/zero of=10gig.dd bs=20480 count=524288 ; sync)
524288+0 records in
524288+0 records out
10737418240 bytes (11 GB) copied, 6.87154 s, 1.6 GB/s
real 2m8.122s
user 0m0.068s
sys 0m6.808s
Die Cloud ...
Hier ist endlich einmal eine gelungene Übersichtsgrafik, was mit den ganzen Abkürzungen im Cloud-Umfeld "eigentlich" gemeint ist. Die Bausteine bedingen einander.
Software as a Service (SaaS) setzt auf Platform as a Service (PaaS) auf, die als Basis Infrastructure as a Service (IaaS) hat bis schliesslich die Hardware als Fundament erreicht ist.
(Die verlinkten Wikipedia-Artikel sind auch lesenswert).
Die Grafik ist dem lesenswerten Artikel Cloud Computing - The Name of the Game entnommen und die Veröffentlichung erfolgt mit freundlicher Genehmigung von Nils Magnus und Marius Moise (beide inovex GmbH). Vielen Dank!
Software as a Service (SaaS) setzt auf Platform as a Service (PaaS) auf, die als Basis Infrastructure as a Service (IaaS) hat bis schliesslich die Hardware als Fundament erreicht ist.
(Die verlinkten Wikipedia-Artikel sind auch lesenswert).
Die Grafik ist dem lesenswerten Artikel Cloud Computing - The Name of the Game entnommen und die Veröffentlichung erfolgt mit freundlicher Genehmigung von Nils Magnus und Marius Moise (beide inovex GmbH). Vielen Dank!
dd vs. fallocate vs. truncate ...
Gerade bei Virtualisierung kommt man nicht darum herum, Filesystem-Container in einer bestimmten Grösse anzulegen, wenn man nicht komplette Devices übergeben kann oder möchte.
Der Standardweg war bisher, einen solchen Container bzw. eine solche Datei mit dem Kommando
Die Dauer resultiert daher, dass
Insbesondere ist spannend zu sehen, dass das
Ein Arbeitskollege wies mich jetzt auf
Das Programm ist so schnell, weil nicht 10 GiB an Daten geschrieben werden, sondern nur der Platz für die Datei reserviert wird. Das ist völlig ausreichend für nahezu alle Anwendungsfälle.
Die Filesysteme, die
Das dritte Programm im Bund ist
Es ist noch ein wenig schneller als
Aus Sicht des Nutzers sehen alle drei Dateien gleich aus.
Die Empfehlung ist aber, in jedem Fall
Der Standardweg war bisher, einen solchen Container bzw. eine solche Datei mit dem Kommando
dd
zu erzeugen. Das kann zuweilen schon einmal einige Zeit benötigen, wie hier auf einem Testserver zu sehen ist:dirk@testserver:~$ sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)
10485760+0 records in
10485760+0 records out
10737418240 bytes (11 GB) copied, 20.7891 s, 516 MB/s
real 1m42.645s
user 0m0.942s
sys 0m19.807s
10485760+0 records in
10485760+0 records out
10737418240 bytes (11 GB) copied, 20.7891 s, 516 MB/s
real 1m42.645s
user 0m0.942s
sys 0m19.807s
Die Dauer resultiert daher, dass
dd
jeden einzelnen Block schreibt (bzw. kopiert) und 10 GiB schreiben, dauert ein wenig ...Insbesondere ist spannend zu sehen, dass das
dd
-Kommando bereits nach etwa 21 Sekunden fertig ist, es aber weitere 80 Sekunden dauert bis alles auf der Festplatte ist.Ein Arbeitskollege wies mich jetzt auf
fallocate
hin, was ich bisher noch nicht kannte. dirk@testserver:~$ sync ; time (fallocate -l 10G 10gig.fallocate ; sync)
real 0m0.165s
user 0m0.000s
sys 0m0.013s
real 0m0.165s
user 0m0.000s
sys 0m0.013s
Das Programm ist so schnell, weil nicht 10 GiB an Daten geschrieben werden, sondern nur der Platz für die Datei reserviert wird. Das ist völlig ausreichend für nahezu alle Anwendungsfälle.
Die Filesysteme, die
fallocate
unterstützt sind btrfs, ext4, ocfs2 und xfs.Das dritte Programm im Bund ist
truncate
.dirk@testserver:~$ sync ; time (truncate -s 10G 10gig.truncate ; sync)
real 0m0.087s
user 0m0.000s
sys 0m0.007s
real 0m0.087s
user 0m0.000s
sys 0m0.007s
Es ist noch ein wenig schneller als
fallocate
, weil es mogelt. Es erzeugt ein "sparse file" und gaukelt dem Betriebssystem vor, dass dort eine Datei mit lauter Nullen zu finden ist. Spätestens wenn man eine bestimmte Position in der Datei springen oder etwas verändern will, werden die I/O-Operationen durchgeführt, die man anfänglich vermieden hat.Aus Sicht des Nutzers sehen alle drei Dateien gleich aus.
dirk@testserver:~$ ls -lah 10gig.*
-rw-r--r--. 1 dirk dirk 10G Jan 10 15:46 10gig.dd
-rw-r--r--. 1 dirk dirk 10G Jan 10 15:48 10gig.fallocate
-rw-r--r--. 1 dirk dirk 10G Jan 10 15:50 10gig.truncate
-rw-r--r--. 1 dirk dirk 10G Jan 10 15:46 10gig.dd
-rw-r--r--. 1 dirk dirk 10G Jan 10 15:48 10gig.fallocate
-rw-r--r--. 1 dirk dirk 10G Jan 10 15:50 10gig.truncate
Die Empfehlung ist aber, in jedem Fall
fallocate
zu nutzen und nicht dd
oder truncate
oder anders ausgedrückt, Ihr solltet wissen, was die drei Programme tun und dann das passende für Euren Zweck auswählen.
DeimHart ist beendet ...
Natürlich muss ich das auch hier im Blog erwähnen, nachdem ich gestern die offizielle Mitteilung über das Ende von DeimHart geschrieben habe.
Es war eine schöne Zeit - immerhin fünf Jahre - und es hat immer Spass gemacht. Wir haben viele nette Leute bei uns zu Gast gehabt und auch einige thematische Tiefen durchschritten. Was übrigbleibt, ist ein bisschen Wehmut, rund 80 Audiofolgen mit - neben dem regulären - auch experimentellen Formaten.
Durch Eure Kommentare habt Ihr und immer angespornt weiter zu machen. Das hätten wir auch gerne getan, wenn Romans Erkrankung und die daraus resultierenden Spätfolgen nicht dazwischen gekommen wären.
Mir bleibt nur ein schnief und ein grosses Danke schön! an Euch.
Eine Bitte hätte ich, kommentiert bitte drüben bei DeimHart, wenn Euer Kommentar für Roman und mich bestimmt ist.
Ach ja, und wir benötigen dringend bespendbare Projekte, an die wir das Geld für unser Crowdfunding weitergeben dürfen.
Es war eine schöne Zeit - immerhin fünf Jahre - und es hat immer Spass gemacht. Wir haben viele nette Leute bei uns zu Gast gehabt und auch einige thematische Tiefen durchschritten. Was übrigbleibt, ist ein bisschen Wehmut, rund 80 Audiofolgen mit - neben dem regulären - auch experimentellen Formaten.
Durch Eure Kommentare habt Ihr und immer angespornt weiter zu machen. Das hätten wir auch gerne getan, wenn Romans Erkrankung und die daraus resultierenden Spätfolgen nicht dazwischen gekommen wären.
Mir bleibt nur ein schnief und ein grosses Danke schön! an Euch.
Eine Bitte hätte ich, kommentiert bitte drüben bei DeimHart, wenn Euer Kommentar für Roman und mich bestimmt ist.
Ach ja, und wir benötigen dringend bespendbare Projekte, an die wir das Geld für unser Crowdfunding weitergeben dürfen.