Activating Warp Speed for Hubzilla's Database
zuletzt bearbeitet: Sat, 26 Jan 2019 11:04:15 +0100
How to significantly gain speed and perfomance for Hubzilla by just some minor adjustments.
Note: The DB section is about MySQL/MariaDB. However, PostgresQL will be similar effected. The solultion is database agnostic.
Note: The DB section is about MySQL/MariaDB. However, PostgresQL will be similar effected. The solultion is database agnostic.
Artikel ansehen
Boosting matrix/synapse by using workers
zuletzt bearbeitet: Fri, 13 Dec 2019 09:43:38 +0100
By using wokers, synapse becomes much more efficient on multi-core machines, although it consumes more memory
Artikel ansehen
Jabber vs Matrix
zuletzt bearbeitet: Tue, 05 Feb 2019 11:12:50 +0100
Ursprünglich wollte ich - zustätzlich zu dem öffentlichen Matrixserver matrix.netzgemeinde.eu - einen öffentlichen Jabberserver anbieten, jedoch habe ich sehr schnell meine Meinung geändert und werde den entsprechenden Jabberserver ASAP löschen. Das hat zwei Gründen: Der Server selbst (ejabberd) und das Protokoll selbst.
Soweit so gut, nun zur Dokumentation:
Wenn man eine so komplexe Konfiguration hat, ist eine gute Dokumentation das A und O, ansonsten ist man relativ aufgeschmissen und rennt ständig in Probleme. Genau das ist mir passiert, denn das Grundübel der Dokumentation: Es ist vollkommen unklar auf welche Version des ejabberd sie sich bezieht! Ich hatte 17.04 am laufen, divere Konfigurationsoptionen, die in der Doku beschrieben sind, funktionieren nicht - anscheinend bezieht sich die Dokumentation auf die allerneuste Version von ejabberd, ohne das irgendwo zu erwähnen! Besonders unangenehm war das bei der Datenbank: Ich befolgte den Rat das „neue“ SQL-Schema zu benutzen ( https://docs.ejabberd.im/admin/configuration/#database-and-ldap-configuration). Nach viel Fluchen und Herumprobieren (welche der Konfigurationsoptionen denn nun gehen und für meine Version zuöässig sind) gelang es mir endlich den Dienst zu starten - ich konnte bloß keine User anlegen. Es stellte sich heraus, dass das „neue“ SQL-Schema nicht von meiner Version unterstützt wurde!
Also die Datenbank gelöscht, neu aufgesetzt, „altes“ Schema eingespielt und endlich - nach viel Herumprobieren - funktionierte das Teil endlich!
Ich hatte drei Clients laufen - einen der in KDE/Plasma eingebaut ist (Telepathy), Kopete und einen unter Android. Und das war ein reines Glückspiel: Manche Nachrichten kamen in Android an, manche in Kopete, etc. Das macht Jabber für mich fast unbenutzbar: Normalerweise läuft bei mir ein Client unter Android und einen auf dem Desktop. Wenn ich den Desktop verlasse kann ich Unterhaltungen unter Android weiterführen und umgekehrt. Das ist unmöglich uunter Jabber - ich kann nicht auf alte Nachrichten zugreifen, und das scheint auch noch unter mobil ein Problem zu sein: Da sich dort regelmäßig die IP ändert gibt es wohl Probleme mit Jabber.
Die Erweiterbarkeit des Protokolls ist theoretisch eine gute Sache - praktisch jedoch erzeugt das massive Probleme. Als Beispiel: Ich hatte captcha für die Registrierungen aktiviert. Das führte leider dazu dass Registrierungen nicht möglich waren - der Client hatte das entsprechende XEP nicht implementiert (Die Webregistrierung funktionierte sowieso nicht. Gab nur einen 404. Warum? Keine Ahnung). Das führt dazu dass es ein zweiseitiges Problem bei der Nutzung von Jabber gibt: Zuerst muss man einen (öffentlichen) Server finden, der die benötigten XEPs implementiert, und dann noch einen Client der diese auch alle versteht - nicht nur auf dem Desktop, sondern auch unter Mobile. Das ist viel zu viel Aufwand/Ärger die man sich damit einfängt.
Es gibt einen deutschsprachigen Blogartikel zu dem selben Thema: https://www.kuketz-blog.de/messenger-matrix-das-xmpp-fuer-hobby-admins/
Ejabberd
Ich hatte mich für ejbabberd entschieden, ein Jabberserver geschrieben in Erlang, welcher schnell und effizient sein soll (das glaube ich sogar, wenn ich andere Erlang-Projekte ansehe). Die Installation als solche war unproblematisch, aber die Konfiguration, mein Gott die Konfiguration!Die Konfiguration
Die mitgelieferte Konfiguration umfasst etwa 800 Zeilen YAML (viele Zeilen davon sind Kommentare). Die Doku erkennt das Problem und versucht den Administrator zu beruhigen:Do not let this complexity scare you. Most of you will be fine with default config file (or light changes).
Soweit so gut, nun zur Dokumentation:
Die Dokumentation
Die Dokumentation befindet sich unter https://docs.ejabberd.im/admin/configuration.Wenn man eine so komplexe Konfiguration hat, ist eine gute Dokumentation das A und O, ansonsten ist man relativ aufgeschmissen und rennt ständig in Probleme. Genau das ist mir passiert, denn das Grundübel der Dokumentation: Es ist vollkommen unklar auf welche Version des ejabberd sie sich bezieht! Ich hatte 17.04 am laufen, divere Konfigurationsoptionen, die in der Doku beschrieben sind, funktionieren nicht - anscheinend bezieht sich die Dokumentation auf die allerneuste Version von ejabberd, ohne das irgendwo zu erwähnen! Besonders unangenehm war das bei der Datenbank: Ich befolgte den Rat das „neue“ SQL-Schema zu benutzen ( https://docs.ejabberd.im/admin/configuration/#database-and-ldap-configuration). Nach viel Fluchen und Herumprobieren (welche der Konfigurationsoptionen denn nun gehen und für meine Version zuöässig sind) gelang es mir endlich den Dienst zu starten - ich konnte bloß keine User anlegen. Es stellte sich heraus, dass das „neue“ SQL-Schema nicht von meiner Version unterstützt wurde!
Also die Datenbank gelöscht, neu aufgesetzt, „altes“ Schema eingespielt und endlich - nach viel Herumprobieren - funktionierte das Teil endlich!
Jabber
Nachdem ich endlich die meisten Probleme gelöst hatte habe ich mit einigen Jabber clients herumspielt und zu meinem extremen Erstaunen stellte sich heraus, das Jabber/XMPP eines der grundsätzlichensten Features eines Messengers nicht unterstützt: Die Fähigkeit mit mehr als einem Client an einer Sitzung teilzunehmen. Dieses Feature ist so grundlegend, dass es erst gar nicht glauben konnte. (Zugegeben, Whatsapp kann das auch nicht, aber wenigstens sagt Whatsapp das. Ditto Telegrams verschlüsselte Nachrichten. Auch hier eine Warnung).Ich hatte drei Clients laufen - einen der in KDE/Plasma eingebaut ist (Telepathy), Kopete und einen unter Android. Und das war ein reines Glückspiel: Manche Nachrichten kamen in Android an, manche in Kopete, etc. Das macht Jabber für mich fast unbenutzbar: Normalerweise läuft bei mir ein Client unter Android und einen auf dem Desktop. Wenn ich den Desktop verlasse kann ich Unterhaltungen unter Android weiterführen und umgekehrt. Das ist unmöglich uunter Jabber - ich kann nicht auf alte Nachrichten zugreifen, und das scheint auch noch unter mobil ein Problem zu sein: Da sich dort regelmäßig die IP ändert gibt es wohl Probleme mit Jabber.
Erweiterbarkeit (XMPP]
Ich habe herausgefunden dass es für das Problem „mehrere Clients“ ein Workaround gibt - eine Erweiterung des Protokolls (XEP). Es gibt ein Github repository für die notwendige Erweiterung (XEP-0280), aber warum ist ein solches Kernfeature als Erweiterung des Protokolls implementiert? Und selbst wenn, warum ist es nicht Teil von ejabberds Standardsetup?Die Erweiterbarkeit des Protokolls ist theoretisch eine gute Sache - praktisch jedoch erzeugt das massive Probleme. Als Beispiel: Ich hatte captcha für die Registrierungen aktiviert. Das führte leider dazu dass Registrierungen nicht möglich waren - der Client hatte das entsprechende XEP nicht implementiert (Die Webregistrierung funktionierte sowieso nicht. Gab nur einen 404. Warum? Keine Ahnung). Das führt dazu dass es ein zweiseitiges Problem bei der Nutzung von Jabber gibt: Zuerst muss man einen (öffentlichen) Server finden, der die benötigten XEPs implementiert, und dann noch einen Client der diese auch alle versteht - nicht nur auf dem Desktop, sondern auch unter Mobile. Das ist viel zu viel Aufwand/Ärger die man sich damit einfängt.
Matrix
Die Probleme unter Jabber hatte ich nie bei Matrix/synapse gehabt. Zugegeben, man muss einige Dinge konfigurieren, die Dokumentation ist aber gut und richtig, die Migration von sqlite zu PostgreSQL war gut beschrieben und lief problemlos. Es lief einfach so - mehrere Clients pro Sitzung, Voice/Videochat, Kanäle, Offline Nachrichten, egal was.Ergo
Statt den Jabberserver für die Öffentlichkeit werde ich diesen Haufen .. (man kann sich denken) löschen. Die Doku ist nicht korrekt, der Server ist einer Programmiersprache geschrieben die ich nicht beherrsche, was dazu führt dass ich bei Problemen nichts machen kann und zu guter Letzt fehlen Jabber elementare Eigenschaften eines Messengers - z.B. mehrere Clients pro Sitzung, deshalb sehe ich keinen Sinn darinen ein XMPP-Server zu betreiben. Ich habe auf einem anderen Server ein Profil angelegt falls jemand mich per Jabber kontaktieren möchte, jedoch bleibt Matrix die bevorzugte Kommunikationsform.Es gibt einen deutschsprachigen Blogartikel zu dem selben Thema: https://www.kuketz-blog.de/messenger-matrix-das-xmpp-fuer-hobby-admins/
Meine Top 10 Chefkochrezepte
zuletzt bearbeitet: Fri, 14 Dec 2018 12:50:30 +0100
Ich habe über 200 Chefkoch.de-Rezepte ausprobiert, die meisten davon waren gut und eine Vielzahl davon koche ich immer wieder mal. Ich habe hier meine Top 10 Rezepte, die ich auf chefkoch.de gefunden habe, aufgelistet, wobei ich bewusst auf Nummerierungen verzichtet habe - die Rezepte lassen sich nicht vergleichen: Was ist besser? Ein Nachtisch, ein Braten, eine Beilage? Hier sind sie, alphabetisch geordnet:
Wenn man die Bewertungen der Rezepte ansieht, sehen das andere wohl auch so :-) Einfach mal ausprobieren, sollte für jeden was dabei sein.
- Chocolate-Lava-Muffins
- Unglaublich gut, teilweise flüssig, und dazu auch sehr einfach herzustellen.
- Der beste Pizzateig
- Der Titel klingt anmaßend, aber stimmt tatsächlich: Pizza mit dem Teig (zu der Sauce kann ich nichts sagen, ich mache eine andere) aus dem Ofen kommt einer Pizza beim Italiener schon sehr, sehr nahe. Hätte man einen Ofen der so heiß würde wie in der Pizzeria, wäre es genau so gut.
- Djuvec-Reis
- Schöne, vegetarische Beilage, schmeckt mir deutlich besser als die oft eher wässrige und laffe Version in Balkanrestaurants. Ich packe noch Erbsen da rein.
- Hüftsteak in einer feinen Cognac-Sahne-Soße
- Einer der besten Hüftsteaks nebst Sauce, die ich kenne - man braucht schon ein gutes Steakhaus um das zu schlagen, oftmals gibt es das in schlechterer Qualität.
- Indisches Butter Chicken aus dem Ofen
- Für diejenigen, die gerne indisch essen (ich z.B.). Das schmeckt zu meinen Erstaunen tatsächlich wie beim Inder, und ist recht einfach zu kochen.
- Mascarpone-Himbeerquark
- Ein sehr, sehr guter Nachtisch bei gleichzeitig geringem Arbeitsaufwand (etwa 10 Minuten). Muss eine Nacht im Kühlschrank, aber das Resultat schlägt alles, vermutlich auch kalorientechnisch, das ist es aber wert :-)
- Omas beste Frikadellen
- Maggi hin oder her, Margarine im Rezept (ich nutze natürlich Butterschmalz zum Braten) - das sind bislang die besten Frikadellen, die ich kenne. Oft genug gemacht für unterwegs, hat bislang jedem (sofern er Frikadellen mag) geschmeckt :-)
- Pfeffersauce
- Ich mag Pfeffersauce (siehe Hüftsteakrezept), und die besonders :-) Wer die einmal gemacht hat wird nie wieder Fertigsaucen verwenden
- Überbackene Spitzpaprika mit Käsefüllung
- Einer meiner Lieblingsgerichte im Vegetarischen: Schmeckt auch ausgewiesenen Fleischessern sehr gut, und eignet sich daher auch gut für „gemischte“ (vegetarisch/omnivor) Gesellschaften, wenn man kein Lust hat mehrere Gerichte zu kochen.
- Wildschweinbraten
- Das bislang beste Wildrezept, was ich bisher gegessen habe, egal ob privat oder im Restaurant. Nicht ganz billig durch das Wildfleisch, ist es aber wert. Und auch nicht sonderlich viel Arbeitsaufwand.
Wenn man die Bewertungen der Rezepte ansieht, sehen das andere wohl auch so :-) Einfach mal ausprobieren, sollte für jeden was dabei sein.
Elevation (Stephen King)
„Elevation“ (gibt es zum Zeitpunkt dieser Rezension noch nicht auf deutsch) ist die neuste Novelle von Stephen King die in Castle Rock spielt
Artikel ansehen
The Divine Cities (Robert Jackson Bennett)
zuletzt bearbeitet: Sat, 27 Oct 2018 15:49:48 +0200
„The Divine Cities“ spielt in einer Urban-Fantasy-Welt, in der Götter real sind. Die Bücher sind eine sehr interessante und erfrischende Mischung aus Fantasy/Steampunk/Mystery/Spionagethriller, sehr gut zu lesen und spannend.
Artikel ansehen
Danke für die Empfehlung! Muss mir leider die deutschsprachige Übersetzung kaufen weil mein Englisch für Belletristik zu mager ist. Technische Texte gehen, Literarur ist zu anstrengend.
Aber vielleicht hab ich ja Glück mit der Übersetzung.
Aber vielleicht hab ich ja Glück mit der Übersetzung.
Ich lese Bücher schon seit langem ausschließlich im englischen Original - analoges gilt für Serien und Filme, deshalb kann ich keine Aussagen über die Übersetzungen machen :-) Dank Amazon, DVD/BluRays und PayTV sowie Cinestar Original in Berlin ist das mittlerweile auch keine Akt mehr. Das hat allerdings oft seltsame Konsequenzen: Wenn die Leute über die übersetzte Serie reden, frage ich mich wovon die Leute eigentlich reden - „Königsmund”? Häh? Ah, „King's Landing“ - welcher Schwachkopf hat denn das übersetztß :-D
why don't you !-add this to @Hubzilla Development so that others can give their input? i don't think everyone who might have something to say follows the framagit issues...