So, das sollte wieder halten. eyeem.com/p/10616647 #
Schlagwort: Bastelstunde
Isabel Bogdan hat Tatendrang-Woche ausgerufen und ich mache mit; liegengebliebene Dinge endlich mal anpacken. Sehr gute Idee.
Der erste angehakte Punkt ist „ein Buch veröffentlichen“. Das klingt gleich mal spektakulär, ist es aber gar nicht — zumindest nicht was meinen Beitrag angeht. Das Buch habe nämlich nicht ich geschrieben sondern meine Frau.
Die ist künstlerisch gleich mehrfach begabt. Neben der darstellenden Kunst, die in ihrem Blog besichtigt werden kann entstehen dabei auch immer wieder Geschichten. Und so hatte sie schon vor einiger Zeit die Idee, ein paar der Kurzgeschichten zusammenstellen und als eBook zu veröffentlichen. Für diesen technischen Vorgang bin dann ich zuständig.
Und hier schließt sich der Kreis zum Anfang dieses Artikels ein wenig, denn es war auch Isa, die den Ausschlag gegeben hat, das nicht mit Amazons Kindle Direct Publishing zu tun sondern über neobooks. Die Veröffentlichung dort war für technisch geübte Benutzer nicht wirklich schwierig, die bereitgestellten Anleitungen aber wenig hilfreich bis irreführend. So soll z.B. ein Word-Dokument hochgeladen werden, dann wird aber dessen Struktur nicht erkannt. Nach reichlich planlosem herumgeklicke habe ich die Kapitelstruktur schließlich direkt im Browser bearbeitet. Soweit ich das überblicken kann ist das Buch inzwischen auch schon erhältlich. Ich bin sehr gespannt, was jetzt passiert, und werde weiter darüber berichten.
Erweitert: DNS-Blacklist
Die DNS-Blacklist zum Leistungsschutzrecht wird weiter gepflegt:
- Ich habe die Liste mit der Sammlung auf … Kaffee bei mir? abgeglichen, und auch die dort verlinkte Whitelist von @egghat eingearbeitet.
- Mit einer Abfrage per http an lsrbl.wazong.de und angehängter Domain oder URL kann das Ergebnis der DNS-Abfrage jetzt direkt angesehen werden (also z.B. lsrbl.wazong.de/http://www.focus.de/panorama/).
Aber Achtung: Dieser Dienst ist wieder vom Betrieb des einen Servers abhängig, und ist deshalb aus technischer Sicht genau das, was man nicht haben möchte.
Viel Spaß weiterhin.
Jetzt ist es passiert: heute hat der Bundestag das Leistungsschutzrecht für Presseverleger verabschiedet. Damit ist es zwar noch nicht Gesetz, aber das könnte durchaus noch in dieser Legislaturperiode passieren. Die rechtlichen Unsicherheiten der aktuell beschlossenen Fassung sind groß. Da ist es eine nachvollziehbare Reaktion, auf die Befürworter des Leistungsschutzrechts nicht (mehr) verlinken zu wollen.
Dafür gibt es auch schon einige technische Lösungen, allen voran das WordPress-Plugin von D64. Wenn ich aber in den Sourcecode der verschiedenen Lösungen gucke, dann sehe ich entweder eine mitgelieferte Liste oder (wie bei D64) den Zugriff auf einen zentralen Server. Wenn der ausfällt, dann hängt z.B. ein Blog, auf dem ein solches Plugin aktiv ist.
Eine DNS Blacklist ist eine im Bereich der eMail-Spambekämpfung gut erprobte Methode zur Skalierung solcher Abfragen, deshalb habe ich jetzt aus der bestehenden Liste (von D64) eine solche erstellt — und bin dabei gleich noch einen Schritt weiter gegangen. Das neue Recht gilt nämlich eigentlich natürlich für alle Presseverlage, deshalb habe ich gleich eine mehrstufige Kategorisierung eingebaut.
Die Abfrage erfolgt über domain.tld.lsrbl.wazong.de
und liefert die folgenden Antworten:
- Stufe 1: kein Presseverlag
dentaku@nyx:~$ host wazong.de.lsrbl.wazong.de wazong.de.lsrbl.wazong.de has address 127.0.0.0
- Stufe 2: Presseverlag aber kein Befürworter des Leistungsschutzrechts (diese Liste ist noch im Aufbau)
dentaku@nyx:~$ host spiegel.de.lsrbl.wazong.de spiegel.de.lsrbl.wazong.de has address 127.0.0.1
- Stufe 3: Presseverlag und Befürworter des Leistungsschutzrechts
dentaku@nyx:~$ host focus.de.lsrbl.wazong.de focus.de.lsrbl.wazong.de has address 127.0.0.2
Subdomains sind auch unterstützt:
dentaku@nyx:~$ host sonderaktion.sport.bild.de.lsrbl.wazong.de sonderaktion.sport.bild.de.lsrbl.wazong.de has address 127.0.0.2
- Als Stufe 4 sind Presseverlage vorgesehen, die unangenehm mit Durchsetzung des Leistungsschutzrechts aufgefallen sind. Die ist im Moment noch leer.
Macht damit, was Ihr wollt und könnt. Viel Spaß!
(Teaserbild: CC-BY-SA von Digitale Gesellschaft)
Update 02.03.2013:
Nach Input von @moeffju habe ich die Rückgabewerte von 0.0.0.x auf 127.0.0.x geändert.
Mehr Aggregatoren für alle
Für die gerade im Aufbau befindliche Blogging Baden-Württemberg Gruppe habe ich einen Blogaggregator gebastelt. Der läuft im Moment noch in der Erprobungsphase mit 23 Blogs, soll aber bald täglich aus möglichst vielen Blogs in und aus Baden-Württemberg zitieren.
Die Seite selbst ist einfach ein Blog auf meiner WordPress-Multisite-Installation. Die Aggregation läuft mit ein paar Python-Skripten, die ich aus den Skripten fürs Iron Blogging Stuttgart adaptiert habe (die Kontoführung entfernt und dem Skript dafür beigebracht, einen Auszug aus dem Artikeltext zu erzeugen).
So ganz bin ich mit der Darstellung noch nicht zufrieden, und die Liste der Teilnehmer ist auch noch kaputt, aber die Einfachheit, in der man mit Pyhon so etwas schnell zusammenbasteln kann, begeistert mich zunehmend.
#neuesblogfürpercanta
Es hat sich so ergeben, dass ich für @Percanta ein neues Blog aufgesetzt habe (Blogspot zickte irgendwie rum, auf Twitter war Mimimi, ich bot Platz an). Das alte Blog sollte natürlich importiert werden.
Schnell ein Blog zu klicken war natürlich überhaupt kein Problem, der Import ging am Wochenende mit zwei Plugins erstaunlich schnell und einfach, ein paar kosmetische Anpassungen am HTML der Blogeinträge und ein paar Plugins zum Aufhübschen noch, und ich hatte eine Grundlage.
Mit Hilfe von Malte Widenka, der die Domain schon früher mal gesichert hatte, konnte ich heute früh noch die Adresse percanta.de (statt nur percanta.wazong.de) für die Seite aktivieren.
Im Moment sieht es bis auf die Headergrafik noch wie ein frisch aufgesetztes WordPress aus, am Design muss also noch etwas getan werden, es gibt aber schon einen Umzugsartikel. Deshalb wünsche ich der Percanta schon mal viel Spaß und uns mehr zu lesen.
(ich bin dann wieder auf der Baustelle)
Es soll eine Katze werden. #Bastelstunde instagr.am/p/PCMg9-JflO/ #
Sparkleshare Teil 2: Sharing is Magic
Im ersten Artikel wurde Sparkleshare zwar auf einem Clientrechner eingerichtet, doch interessant ist das natürlich eigentlich erst, wenn man wirklich etwas „sharen“ kann (daher der Name). Wie man das konfiguriert, will ich in diesem Artikel vorführen. Für die folgende Anleitung nehme ich an, dass der Gitolite-Server wie beschrieben eingerichtet und auf jedem teilnehmenden Rechner schon Sparkleshare installiert ist. Die dabei erzeugten öffentlichen ssh-Schlüssel seien alle bereits dort gesammelt, wo das magische gitolite-admin-Repository verwaltet wird (bei mir ist das mein MacBook, eventuell irgendwo auf dem Server, vielleicht direkt in Sparkleshare).
Was wir im folgenden tun werden ist im Endeffekt nur die Konfiguration von Zugriffsrechten auf einem Gitolite-Server.
Dropbox ist toll: auf vielen Systemen unterstützt, einfach zu benutzen, bis zu einem gewissen Volumen kostenlos und irrsinnig zuverlässig.
Aber man vertraut seine Dateien eben doch fremden Leuten an (mit den üblichen Implikationen), und dass die Größe geteilter Ordner jedem Teilnehmer einzeln vom Konto abgezogen wird, ist zumindest schwierig zu verstehen. Google Drive ist ungefähr dasselbe in blau-rot-gelb-blau-grün-rot.
An dieser Stelle tritt Sparkleshare auf den Plan. Damit kann man Ordner über mehrere Rechner (Windows, Mac und Desktop Linux sind im Moment unterstützt) und mit mehreren Personen synchron halten, ohne die Daten bei irgendeiner fremden Firma herumliegen haben zu müssen. Als Speicher fungiert die verteilte Versionsverwaltung git.
Ich will hier mal kurz vorführen, wie man sich das, sofern man einen Rootserver (oder virtuellen Server) mit ssh-Zugang hat, autark aufsetzen kann.
How I Store My 1′s and 0′s: ZFS + Bargain HP Microserver = JOY
»I’m not building one of my kickass web hosting platforms here. It’s for storing those 1′s and 0′s, serving them back up at a reasonable speed and taking reasonable precautions not to lose the data.«
Auf den Merkzettel für den nächsten Heimserver. Wenn Notebooks in Zukunft keine rotierenden Platten mehr haben, dann werde ich nicht mehr alles spazieren tragen können/wollen.
on mocko.org.uk · the article page · mocko.org.uk on QUOTE.fm
Wir kleben uns einen 911er (Bausatz aus dem Porsche Museum) instagr.am/p/LsptHeJfia/ #
Spaß mit Mailinglisten
Da war ein Spammer lustig drauf und hat seinen Spam (nichts besonders originelles: „Ich bin Frau Katie Johnson, die Kredit-Manager einer Bank in London und anderen Korrespondenzbank in Westeuropa. Ich habe einen Vorschlag mit Ihnen zu besprechen…„) über einen klassischen Listserver (Mailman, Majordomo oder so) geschickt, in dem er die zu bespammenden Adressen in einer Mailingliste eingetragen hat. Leider gibt es unter den Internetbenutzern nur wenig Sinn für Technikgeschichte, weshalb diese ehemals weit verbreitete Internet-„Kulturtechnik“ schon nach wenigen Jahren komplett in Vergessenheit geraten zu sein scheint.
Deshalb hatten fast alle „Teilnehmer“ nicht die geringste Ahnung, wie Mailinglisten funktionieren könnten und schickten hilflose Aufforderungen und Drohungen wie:
Kann es mal aufhören mit diese Emails? Ich bekomme jede paar Minuten Mails von euch und möchte das aber gar nicht. Ich kenne euch nicht und will auch diese Mails nicht mehr bekommen.
und:
Sollte ich noch einmal von Ihnen per e-mail belästigt werden werde ich eine Anzeige erstatten.
natürlich immer auch an den vermeintlichen Spammer und damit alle anderen „Mitglieder“ der Liste. Das hat größere Wellen geschlagen und sah in der Mailbox dann so aus:
Wenn das nicht so traurig wäre, dann wäre es sehr lustig.
Dabei beherrscht ein ordentlicher Listserver doch automatisches Listenmanagement. Gucken wir mal in die Header der Mails:
Mailing-List: contact bank20-help@financialsandcredit.com; run by ezmlm List-Post: <mailto:bank20@financialsandcredit.com> List-Help: <mailto:bank20-help@financialsandcredit.com> List-Unsubscribe: <mailto:bank20-unsubscribe@financialsandcredit.com> List-Subscribe: <mailto:bank20-subscribe@financialsandcredit.com> Delivered-To: mailing list bank20@financialsandcredit.com
Ah, es ist ein ezmlm, und er gibt eine Standardkonforme Unsubscribe-Adresse an. Die probiere ich jetzt aus.
Update: hat nicht funktioniert.
Svensonsan bastelt. Irgendwas klappt noch nicht so richtig. Ich habe Hilfe angeboten.
Wir stellen uns also vor, wir hätten ein WordPress (ganz normal, ohne Multisite-Funktion) auf einer Domain im Unterverzeichnis blog liegen. Das soll sich jetzt ändern, das „/blog“ soll aus allen URLs raus, die ganzen existierenden Links und Suchmaschinenergebnisse dürfen dabei aber nicht kaputt gehen. Der folgend beschriebene Weg dürfte der einfachste sein. Er funktioniert aber nur, wenn sich nicht gleichzeitig auch die Permalink-Struktur geändert hat:
Der Anfang liegt in der WordPress-Konfiguration. In der Datenbank oder wp-config.php
müssen WP_HOME
und WP_SITEURL
auf die neue Adresse eingestellt werden. Jetzt funktioniert erstmal nichts mehr.
Als nächstes rücken die Dateien alle um ein Verzeichnis nach oben. Da ist es gut, wenn man Shellzugang zu seinem Webserver hat, denn nur mit ftp wird das beliebig eklig oder zumindest langwierig (abhängig davon, was den Server kann). Also zum Beispiel:
cd /var/www mv htdocs htdocs.old mv htdocs.old/blog htdocs
Jetzt funktionieren die neuen URLs aber die alten nicht mehr (dadurch sind wahrscheinlich auch alle Bilder kaputt etc. etc. — das war beabsichtigt, also keine Sorge). Wir legen deshalb in unserem Rootverzeichnis der Domain (im Beispiel /var/www/htdocs
) einen neuen Ordner blog
an und lassen Apache die Umschreibarbeit machen. In die Datei blog/.htaccess
schreiben wir:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] </IfModule>
Dadurch werden alle angeforderten Dateien unterhalb von „/blog“ auf dieselbe Adresse ohne „/blog“ umgeleitet. Schon sollte alles wieder funktionieren. Jedenfalls habe ich so den Umzug von WordPress in einem Verzeichnis auf WordPress µ für die ganze Domain geschafft.
(Übung für Fortgeschrittene mit genug Adminrechten: den Ordner blog
muss man nicht unbedingt im WordPress-Verzeichnis anlegen, er kann auch durch die Apache-Konfiguration von anderer Stelle eingeblendet werden.)
Mit Kind.eins zusammen ein Huhn gebastelt (leider sind die Füße zu schwach) instagr.am/p/IpHSIzJfnh/ #
Mit Kind.eins heute eine Uhr gebastelt instagr.am/p/IfEbenJfpb/ #
The System is going down in 4 hours
es ist mal wieder Zeit für größere Updates. Darum wird nyx.wazong.de heute Nachmittag vorübergehend nicht erreichbar sein, und die verschiedenen Dienste könnten danach auch noch ein wenig holpern.
(mitbetroffen sind die folgenden Webseiten:
http://alertbird.de
http://chiemgauermuenchen.de
http://christina-jung.de
http://deine-zeit-es-ist.de
http://exolution.de
http://fotoroulette.de
http://gmelch.de
http://irsiegler.de
http://kahabka.de
http://leneo.de
http://monsorno.de
http://quad-damage.de
http://schlechtegedichte.de
http://shxz.de
http://steinhobelgruen.de
http://susannerenger.de
http://twoto.de
https://wazong.de
sowie deren eventuelle Unterseiten — und natürlich auch der Empfang und Versand von Mail.)
Wenn alles wieder läuft, dann gebe ich bescheid.
Bastelstunde instagr.am/p/Vzf1b/ #
Habt Ihr auch traurige Hasen rumstehen? Seit Violet (bzw. deren Nachfolgefima Mindscape) den Server abgeschaltet hat gibt es nur noch orangenes Geblinke.
Das war in der Vergangenheit auch ab und zu schon so, denn besonders zuverlässig war der Dienst noch nie, und ich hatte darum auch schon einmal einen Proxy auf Basis von OpenNab eingerichtet — und später wieder abgeschaltet weil er nur das alte Protokoll (noch ohne Jabber-Unterstützung) sprach. Jetzt, wo es keinen dahinterliegenden Server mehr gibt, ist das aber egal, und ich habe meinen Hasen deshalb nur noch auf meinem eigenen Server laufen.
Bisher funktionieren nur die Mood-Nachrichten (aber ich bastel dran, nächstes Ziel: Uhrzeit), und er unterstützt auch wohl nur den Nabaztag/tag (das kann ich nicht überprüfen, weil ich kein anderes Modell habe). Außerdem habe ich 1-2 weitere andere Projekte heruntergeladen und ein wenig Sourcecode gelesen. So schwierig wird es nicht sein, sich die wichtigsten Dinge selbst wieder zu implementieren.
Wer mitspielen will, des setze seinen Hasen auf die Serveradresse nab.wazong.de/vl/
und schreibe mir.
Der Hase wird weiterleben 🙂
Mein Speed-Setup, Teil2: Cache und PURGE
In Teil 1 haben wir Varnish (und Pound) vor WordPress gestellt. Das ergibt erstmal nur eine geringe Beschleunigung. Im Folgenden sehen wir uns an warum — und wie es besser geht:
WordPress hält sich selbst (und das nicht ganz zu unrecht) für eine dynamische Webseite. Alle von WordPress ausgelieferten Seiten enthalten daher Hinweise an den Empfänger, die Seite doch bitte auf keinen Fall zwischenzuspeichern:
Normalerweise hält sich Varnish daran und traut sich außerdem auch nicht an die Zwischenspeicherung von Seiten, die mit gesetztem Cookie angefordert wurden (schließlich könnte am Cookie ja eine Benutzersitzung mit Einkaufskorb oder ähnlichem dranhängen).
Wir müssen Varnish also unsere eigenen Vorstellungen davon aufdrängen, wie lange die Cacheobjekte ihre Gültigkeit behalten sollen, und welche Bereiche der Seite tatsächlich mit angemeldeten Benutzern arbeiten.