Serendipity mit Cache beschleunigen - Tester gesucht
Das wichtigste zeigt das Diagramm:
Serendipity könnte durch Caches erheblich beschleunigt werden. Für kleine Blogs ist das weniger wichtig, für etwas größere wird es schnell relevant. Selbst dieser kleine Blog hier, der auf einem guten Server läuft, kam durch ein paar häufiger besuchte Artikel so sehr ins Schwitzen, dass ich das Cache-Plugin installieren musste. So etwas hätte ich daher gerne direkt im Core.
Es gibt verschiedene Ansätze. Ein Cache kann s9y in eine statische Seite verwandeln, der Effekt ist immens. Das ist Nealks Text-Cache im Diagramm. Der printEntries-Cache dagegen cached zwar das Ergebnis des Datenbankaufrufs, führt beim späteren Aufruf aber immer noch die Event-Hooks für Plugins aus. Funktioniert das wie geplant, wird s9y ohne jegliche Einschränkung für den Nutzer beschleunigt.
Wir sparen einen komplizierten Datenbank-Select samt Join, und einiges an auszuführenden PHP-Code.
Der Cache, den wir im Entryproperties-Plugin schon haben, hilft zwar bereits, ist aber nicht genug.
Nach einem Stupser im Forum und interner Rücksprache habe ich den printEntries-Cache nun in den aktuellen Master, das zukünftige s9y 2.1, eingebaut.
Nutzer mit Testblog, bitte testet den Cache, indem ihr s9y mit ihm nutzt: $serendipity['use_internal_cache'] = false;
in der serendipity_config.inc.php auf true
setzen. Feedback bitte hier in die Kommentare, ins Forum oder in das Github-Issue.
Für mich ist Ziel, zwei-drei Serendipity-Version später diesen Cache als Standard an zu haben.
Ohne Feedreader ist das Internet leer
Weil die Domain abgelaufen ist, die ich für meinen Feedreader auf Digitalocean genutzt habe, habe ich diesen auf uberspace umgezogen. Leider funktioniert dort das Zusammenspiel mit superfeedr-rack noch nicht - anders als vorher unter / soll er nun unter /feedtragon auf Superfeedr-Nachrichten warten, und das will nicht. Vielleicht ein Problem mit dem Setup, dem Rack-Server hinter Apache und .htaccess, oder ein Bug.
Ich gehe aber davon aus, das Julien das hinbiegen wird, und würde einen etwaigen Bug in feedtragon auch gerne fixen, deshalb mache ich nicht einfach einen neuen uberspace auf und lasse es da unter / laufen. Das Resultat ist, dass ich seitdem keinen Feedreader habe. Und das fühlt sich seltsam an.
Sicher, es gibt immer noch Seiten mit interessanten Inhalten. Hackernews ist die erste. Dann reddit, wo ich mir vor kurzem einen Account angelegt habe, seitdem die auf der Startseite angezeigten subreddits anpassen kann und so eine interessante Seite ohne all den Schwachsinn zusammenbekommen habe - und mit /r/buildapc gibt es sogar ein subreddit, das durch pc-kombo für mich besonders interessant ist. Reine Nachrichten-Seiten vermeide ich inzwischen lieber, nur Zeit Online rufe ich noch manchmal auf. Drei Seiten, das ist nicht viel zum Browsen.
Auf Youtube habe ich noch ein paar Channels abonniert, aber das fällt mir erst gerade wieder ein. Wenn ich warte und mit Tablet oder dem Handy etwas Zeit totschlagen will, ist das eben keine Option.
Mit dem Feedreader als vierte Seite ist das genug. In meiner (inzwischen aufgeräumten) Feedliste stehen 126 Einträge. Nicht alle sind Blogs, aber auch von denen schreiben nicht alle täglich, natürlich. Manche Blogs habe ich sogar aussortiert, weil sie inzwischen verwaist waren, doch es sind noch genug in der Liste, die nur periodisch schreiben. Doch zusammengenommen ist diese Liste eine Quelle von einigen neuen Artikeln pro Tag, wovon eigentlich immer mehrere interessant sind.
Und das ist, was fehlt - plus den Ritualen. Mittwochs kriege ich nicht mehr mit, wenn Yahtzee ein Spiel bespricht. Und generell, wann es einen neuen xkcd-Comic gibt. Worüber die von mir seit Jahren gefolgten Blogger wie Dirk schreiben geht an mir ebenso vorbei wie die Kurzübersicht der deutschen Linuxszene durch osbn.de.
Der Browser mit seinem Internet ist so ein ganz anderer, ein statischer Ort.
Natürlich, so bleibt mehr Zeit für anderes. Die Ablenkung an der Seite abzuschalten lässt mehr Zeit für die anderen Ablenkungen auf der Seite, ich könnte zum Beispiel mehr spielen, coden, Serien schauen oder den Computer ausschalten.
Ich könnte aber auch Bugs fixen. Ich hätte da einen ganz oben auf der Liste…
Wlan-Stick TL-WN727N unter Linux nutzen
Es ist ein paar Jahre her, dass ich so viele Probleme mit einem Wlan-Stick hatte. Dieser von TP-Link ist ein Stick mit 150Mbps und 802.11n, und ich wollte ihn mit meinem Pogo unter Arch Linux ARM nutzen. Nach vielen Umwegen habe ich das nun geschafft.
Der Stick identifiziert sich als
ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
Laut Wiki wäre der richtige Treiber der freie mt7601u_sta. Diesen aber nicht von dort herunterladen, denn er ist kaputt. Stattdessen nimmt man die gepatchte Version aus diesem Github-Repository (via):
git clone https://github.com/porjo/mt7601.git cd mt7601/src make make install mkdir -p /etc/Wireless/RT2870STA/ cp RT2870STA.dat /etc/Wireless/RT2870STA/ modprobe mt7601Usta
Funktioniert das nicht, kann man es auch mit diesem Github-Repository probieren. Der zu ladende Treiber ist dann der rtnet7601Uap, die Firmware die RT2870AP.dat, die nach /etc/Wireless/RT2870AP/ muss. Wichtig ist in jedem Fall, nach dem Laden per dmesg
zu prüfen, ob die Firmware erfolgreich geladen werden konnte, und sie ansonsten ins richtige Verzeichnis zu kopieren.
Die Ausgabe von iwconfig sieht nun komisch aus, das einfach ignorieren. Denn die Karte kann trotzdem konfiguriert und gestartet werden:
ifconfig ra0 inet 192.168.0.100 up iwconfig ra0 mode managed iwconfig ra0 key s:PASSWORD iwpriv ra0 set SSID="DEINE_ESSID"
Damit das aber funktioniert und der Treiber starten kann, muss eventuell ein Boot-Parameter gesetzt werden (via): coherent_pool=2M
.
Das ist nötig, wenn der Treiber wegen zu wenig Speicher stirbt:
ERROR!!! Failed to allocate memory - TxRxRing
Die von mir damals installierte uboot-Version macht das sehr schwierig. Deswegen habe ich die uboot-Version von Arch installiert:
wget http://archlinuxarm.org/os/armv5te/boot/pogo_e02/pogo_e02.sh chmod +x pogo_e02.sh ./pogo_e02.sh
Danach kann eine /boot/uEnv.txt angelegt werden, die den Parameter beim nächsten Reboot setzt und bei mir so aussieht:
optargs=coherent_pool=2M
Wie gut der Adapter am Ende funktioniert, habe ich noch nicht wirklich getestet. Den ersten Versuchen zufolge sieht erstmal alles okay aus. Es ist aber wirklich schade, dass der Treiber trotz freier Lizenz in einem so schlechten Zustand und die Dokumentation so lückenhaft ist.
Serendipity als Instant-App auf Scaleway
Serendipity wurde von Scaleway in den Image-Hub aufgenommen. Das heißt, dass Nutzer beim Erstellen eines Servers das Serendipity-Image auswählen können. Nach dem Start des Servers (~40 Sekunden) ist dann alles vorbereitet, um direkt den Installer auszuführen.
Im Forum hatten wir öfter mal Probleme mit von Hostern bereitgestellten s9y-Installationen, denn ihre Version war oft modifiziert und Support so unmöglich. Hier ist das anders: Das Image basiert auf einem Skript von mir, das automatisch die aktuelle Serendipity-Version herunterlädt, entpackt und ihre Abhängigkeiten (Apache, SQLite) installiert. Serendipity selbst wird also nicht modifiziert.
Ich habe Scaleway hier schonmal vorgestellt und war ganz angetan, und wie das jetzt ablief ist ein weitere Pluspunkt, die Leute waren sehr ok. Die Server sind zudem Quad-Core-ARM-Rechner, die für fast jede s9y-Installation völlig ausreichen sollten. Zusammen mit 2 GB Ram und 50 GB Speicherplatz ist auch noch genug Luft, um auf dem Server noch andere Webdienste laufen zu lassen.
Webmentions sind nur Trackbacks
Ich bin gerade etwas enttäuscht. In letzter Zeit bin ich mehrfach über die IndieWeb-Bewegung gestolpert, unter anderem über diese Howto-Seite. Und ich fand das super, das ist genau, was dsnblog machen wollte, nur in richtig. Daher nahm ich mir für gestern vor, mir ihre Webmentions anzuschauen und wenn möglich in Serendipity und ursprung einzubauen. Und stellte dann fest, dass Webmentions nichts anderes als Trackbacks sind.
Webmentions sind damit pures Not-Invented-Here-Syndom (NIH), und fast alles was sie als Abgrenzung zu Trackbacks in ihrem Wiki schreiben ist falsch:
-
Für Trackbacks gibt es genau wie für Pingbacks ein rel-Attribut,Fragile discovery
Trackback uses RDF in HTML comments to provide an unnecessarily complex (having to parse a completely different format) and fragile (HTML comments get stripped all the time in processing, e.g. by search engines) method of discovery. Pingback abandoned such methods, instead using an HTTP link header or link tag with rel for discovery.
rel=trackback
, z.B. von mir in ursprung implementiert. Das Suchengines HTML-Kommentare ignorieren beeinflusst den Entdeckungsprozess kein bisschen. Selbst wenn der Kommentar problematisch wäre (er ist es, aus anderen Gründen), der RDF-Weg ist nur ein möglicher.
Das ist Unsinn. Das mag in der Spezifikation nicht explizit drin stehen, ist aber gängige Praxis. Natürlich müssen Blogs die Quelle überprüfen und dürfen den Trackback nur akzeptieren, wenn der Quelllink auch existiert. Blogsysteme wie Serendipity machen das selbstverständlich seit Jahren so, wahrscheinlich bald seit einem Jahrzehnt.Lack of link verification
Trackback "works" by a one-way HTTP request from the linker to the linkee, and the linkee is not expected to do any verification that the linker actually has a link to the linkee. Thus it was immediately overrun with spam and is considered useless. Pingback deliberately improved upon this by requiring verifying that the source links to the target.
-
Wie eins obendrüber beschrieben: Link-Verifizierung wird betrieben. Ich bekomme hier ne ganze Menge Kommentarspam, manchmal kommen sie sogar durch die Spamplugins. Aber Trackback-Spam habe ich seit Jahren nicht mehr gesehen.Spam
Due to the lack of link verification, Trackback is particularly easy for spammers to overwhelm and thus has been largely abandoned due to being pretty much all spam at this point.
Was mich am meisten daran stört ist die Verschwendung. Selbst wenn Trackbacks durch fehlende Link-Verifizierung kaputt wären, hätten sie genausogut Trackbacks nehmen und Link-Verifizierung verpflichtend dazubauen können. Wobei, genau das haben sie gemacht, nur um es dann in Webmentions umzubenennen. Aber ohne diese Umbennenung wäre es einfacher, etwaige Änderungen am Protokoll direkt als Update für das Trackback-System einzubauen. Dann könnten sie sich auch das Nachdenken über Anti-Spam-Maßnahmen sparen, denn wie wir mit Trackbacks umgehen müssen wissen wir inzwischen, das System ist stabil.
Der nächste Grund wirkt nur noch vorgeschoben. Als nächstes wird die Darstellung der Trackbacks kritisiert - als ob das nicht etwas wäre, was sie problemlos auf ihrer Seite anders handhaben könnten, was sie dann sogar als Empfehlung und Ergänzung zum Trackback-Protokoll veröffentlichen könnten. Darstellung ist übrigens etwas, was in der offiziellen Webmentions-Spezifikation vollständig fehlt.
Vielleicht sollte man trotzdem Webmentions einfach unterstützen, denn wie Trackbacks sind sie immer noch eine gute Idee. Und es wäre gut, einen POST-basierten Linkback-Mechanismus zu haben, der von Blogs und Social Networks gleichermaßen unterstützt wird. Pingbacks sind durch ihr XMLRPC sowieso ein Relikt, aber auch Trackbacks werden teils selbst von Blogs nicht mehr gut unterstützt, leider schwächelt da auch Wordpress. Aber bisher wirken Webmentions so, als habe da jemand Linkback mit POST gedacht ohne Trackbacks zu kennen, ist dann später drüber gestolpert und sucht jetzt Abgrenzungsmerkmale. Zusammen mit großartigen Vorschlägen zur Spamvermeidung in der Spezifikation wie "Nutze nofollow-Links" - was den halben Sinn von Linkbacks zerstört, die ja eben ganz im Gegenteil auch für Suchmaschinen gedacht sind; gegen Spam bei Kommentaren noch nie etwas gebracht habt - machen Webmentions einen sehr schlechten Eindruck auf mich. So schlecht, dass ich sie zumindest erstmal nicht implementieren werde.
Bash wortweise vor und zurück
Ein Beispiel: Ich tippe in ein Terminal apt-get instal icewm
. Es müsste install
heißen. Also muss ich mit den Pfeiltasten Buchstabe für Buchstabe zurückgehen und das l
eintippen. Natürlich geht es besser.
Stattdessen könnte ich Alt+b drücken. Das setzt den Cursor ein Wort zurück. Mein Problem damit ist, dass ich es immer vergesse.
Im Gnome-Terminal auf meinem Laptop funktioniert auch Strg+Pfeiltaste, um wortweise nach links oder rechts zu gehen. Um das in meinem Desktop nachzurüsten, musste ich folgenden Code in die ~/.inputrc einfügen:
"\e[1;5C": forward-word "\e[1;5D": backward-word
Seitdem funktioniert Strg+Pfeiltaste auch im xfce4-Terminal und im Terminator (via).