Ermittlungen gegen netzpolitik.org: Verdacht des Landesverrats
Gegen netzpolitik.org wird wegen Verdacht des Landesverrates durch Veröffentlichung geheimer Dokumente des Verfassungsschutzes ermittelt. Was ironisch ist, denn es sind die veröffentlichten Pläne, die verfassungswidrig sind und damit einem Landesverrat viel näher kommen als die Veröffentlichung der Dokumente. Noch dazu ist der einzige wirkliche Fall von Landesverrat in letzter Zeit das Verhalten der Geheimdienste und der Bundesregierung angesichts der NSA-Affäre. Wo natürlich keine Ermittlungen erfolgen.
Netzpolitik braucht jetzt zwei Dinge: Aufmerksamkeit und Geld. Eine kleine Spende ist raus, und obwohl Aufmerksamkeit ihnen gewiss ist, ist dieser Blogartikel mein Beitrag dazu.
Monitorbrummen abstellen
99 und 100. Das sind die verbliebenen Helligkeitseinstellungen, mit denen mein Dell U2312HM nicht brummt bzw summt. Als ich ihn bekam schrieb ich noch, dass bei niedrigen Einstellungen keinen Lärm zu machen einer seiner Vorteile sei. Erst vor kurzem merkte ich, dass dem nicht mehr so ist, dass ein Teil des Lärms meines PCs gar nicht vom Computer kommt, sondern vom Monitor.
Das kann mehrere Ursachen haben. Nach drei Jahren Benutzung hat er vielleicht erst jetzt begonnen, Lärm zu machen. Oder es ist mein PC, der nun nochmal wesentlich leiser ist als damals und das Summen jetzt nicht mehr schluckt. Alternativ könnte es auch mein Gehör sein, das empfindlicher geworden ist.
Einzige mir bekannte Lösung ist das Hochregeln der Helligkeit beim Monitor bei gleichzeitigem Runterregeln der Helligkeit auf Softwareseite. Xrandr kann das zum Beispiel so:
xrandr --output DVI-0 --gamma 0.5:0.5:0.5
Bei mir wurden das nach wenigen Sekunden immer wieder von redshift zurückgewechselt, worauf ich auch erst einmal kommen musste. Redshift hat aber zum Glück mit -g
auch einen Parameter zum Einstellen der Helligkeit:
redshift -l …:… -t 6500:5000 -g 0.5
Problem an den Softwarelösungen ist, dass sie bei mir beschissen aussehen. Die Farben werden dunkler, aber das weiß bleibt viel zu hell. Das könnte ein Treiberproblem oder ein Bug sein, verbaut aber in jedem Fall diese Lösung. Für mich war es besser, stattdessen die Kontrasteinstellung des Monitors runterzuregeln. Am besten funktionierte das Farbprofil: Das auf Custom zu stellen gibt mir drei Regler, rot grün und blau. Dort die Werte von 100 auf 60 runterzusetzen ergibt ein wesentlich besseres Bild, wobei redshift bei mir dann nochmal auf 0.9 abdunkeln darf.
Lieber wäre mir eine Hardwarelösung. Mein Monitor ist ansonsten noch einwandfrei, ich würde am liebsten den wohl für den Lärm verantwortlichen Backlight-Inverter auswechseln. Beim Spulenfiepen gibt es scheinbar die Lösung, die Spulen mit Kleber oder Lötlack einzusprühen, vielleicht würde so etwas ja auch hier funktionieren. Oder vielleicht könnte man das PWM-Modul durch einen einfachen Widerstand ersetzen, wodurch die Helligkeitssteuerung wegfiele und er generell dunkler wäre? Leider fand ich dazu nirgendswo brauchbare Informationen.
Um das einfach so selbst zu versuchen habe ich zu wenig Ahnung. Hat jemand hier seinen Monitor schonmal auf Hardwareseite repariert, um ein solches Fiepen zu beseitigen?
RVM unter screen und cron
Wurde der Server meines Hardwareempfehlers neu gestartet, blieb bisher die Webseite offline, denn der unter screen laufende Serverdienst wurde nicht automatisch neugestartet. Um das zu ändern steht in meiner crontab nun folgendes:
@reboot /home/onli/screenstart_pckombo.sh
Mit dem mir bis dahin unbekannten @reboot
werden Befehle nach einem Neustart ausgeführt.
screenstart_pckombo.sh startet also den Ruby-Server. Es darf den Server aber nicht direkt starten, sondern soll ihn als screen-session ausführen. Deshalb sieht das Skript so aus:
#!/bin/sh screen -S "pckombo" -d -m sleep 2 screen -r "pckombo" -X stuff '/usr/bin/env bash ' screen -r "pckombo" -X stuff 'source /home/onli/.rvm/environments/ruby-2.1.4 ' screen -r "pckombo" -X stuff 'cd /home/onli/www.pc-kombo.de rackup -E production '
Zuerst wird die screen-session gestartet und kurz gewartet. Der nächste Befehl startet Bash, der darauf folgende lädt die RVM-Umgebung der genutzten Ruby-Version. Schließlich wird der Server gestartet. Das letzte ' steht bewusst jeweils in der Folgezeile, so wird sicher der Befehl unter screen auch ausgeführt.
Damit das funktioniert und statt der vorinstallierten Ruby-Version die von RVM genutzt wird, musste noch folgendes in die ~/.screenrc eingetragen werden(via):
shell -${SHELL}
Was Serendipity 2.0.2 sonst noch bringt
2.0.2 ist ein Security-Release, da eine Sicherheitsfirma drei mittelschwere Fehler gefunden hatte. Was großartig von denen ist! Davon abgesehen, dass die gepatcht wurden, gibt es aber noch andere erfreuliche Änderungen.
Index, Noindex und Follow, Nofollow
#310 erweitert die Hauptthemes um Anweisungen, bestimmte Seiten nicht in den Index von Suchmaschinen aufzunehmen. Hintergrund ist, dass Serendipity viele Seiten und Texte doppelt, z.B. finden sich alle Artikel mindestens sowohl im Archiv, auf der Autorenseite und nochmal in der Kategorieübersicht. Mit dieser Änderung werden außer der Startseite nur noch die Artikel selbst indexiert, was Google freuen dürfte.
Das ist ein anderer Lösungsansatz für das Problem als die stabilen Archiv-URLs, macht diese aber nicht unnütz. Während vorher dadurch die Suchergebnisse wenigstens gestimmt haben, hält diese Lösung jetzt die doppelten Inhalte völlig aus dem Index. Aber das Stabile Archiv vermeidet immer noch unnütze Suchindex-Invalidierungen, und funktioniert auch, wenn das Theme veraltet und nicht optimiert ist. Das ergänzt sich gut.
Hätte wahrscheinlich nicht unbedingt in ein Patch-Release gehört, aber macht dieses Release interessanter. Beobachtet doch mal, ob es laut webmastertools etwas bringt. Als ich das bei mir eingeführt hatte, konnte man das im Indexstatus deutlich erkennen, da keine vom Index entfernten URLs mehr gelistet wurden.
CKEditor 4.4.6 auf 4.4.8 aktualisiert
Auch CKEditor hatte neue Releases, ein Security-Release und ein normales Patch-Release. Die Changelogs zeigen, dass viele Bugs gefixt wurden, z.B. die Probleme mit den Leerzeilen ab Firefox 36.
Image-Toolbar beim Hinzufügen in Media Library
Wir (in dem Fall, ich) hatten in 2.0 eine Regression eingeführt. Es war vorher möglich, über eine Option die Image-Toolbar auch im Medien-Hinzufügen-Dialog des Editors anzuzeigen, was nun nicht mehr funktionierte. Die ist dort aber praktisch, wenn ein hochgeladenes Bild noch umbenannt oder gedreht werden soll. Die Option wurde in die persönlichen Einstellungen verschoben (Symbolleiste für das Mediendatenbank-Popup anzeigen?) und funktioniert jetzt wieder.
Diverse Backend-Verbesserungen
Die erweiterten Filter in der ML sahen nicht so aus, wie sie aussehen sollten, und sind jetzt begradigt. In der Theme-Übersicht zeigt das installierte Theme nun einen Button, um sein Backend zu installieren, falls vorhanden und noch nicht geschehen. Die Einstellungen für das Syndication-Plugin nutzen ab sofort ein etwaig vom Theme bereitgestelltes Bild für das Feedicon, und die subtome-Klasse wird nur noch gesetzt, wenn die Option auch aktiv ist.
Natürlich gibt es noch mehr Änderungen, z.B. Verbesserungen für Matthias next-Theme und einen Fix, um Atom-Feeds optional über https zu verlinken, aber das reicht für hier.
Die anderen haben dieses Release getragen, nur wenig ist von mir. Trotzdem wünsche auch ich viel Spaß mit der neuen Version.
Guter Support bei Statuscake
Heute morgen war pc-kombo down. Es fehlt die Automatisierung, den Dienst zu starten wenn der Server neu gestartet wird, und scheinbar passierte das heute Nacht. Das besondere daran ist, dass ich es nicht gemerkt habe. Ich habe inzwischen für meine zwei wichtigen Seiten ein Monitoring aufgesetzt: Pingdom benachrichtigt mich, wenn der Blog hier down ist, und Statuscake sollte mich benachrichtigen, wenn der Hardwareempfehler down ist. Nur bekam ich keine Email und bemerkte das Problem selbst zufällig.
Also loggte ich mich bei Statuscake ein und sah in etwa das hier:
Sie wollen wohl wirklich, dass man mit ihnen redet, schaut auf diese enorme Chat-Box unten rechts. Normalerweise mache ich das nicht gerne, vor allem als nichtzahlender Kunde fühlt sich das für mich falsch an, außerdem kamen mir diese Chatboxen immer etwas werbemäßig vor. Aber hier war das so prominent platziert, und ich hatte mir vor einiger Zeit schonmal die Einstellungen angeguckt und kein Problem gefunden, sodass ich spontan draufklickt und das Problem schilderte während ich parallel selbst in die Einstellungen schaute.
Der Mann am anderen Bildschirm war freundlich, er fragte nach der zu testenden URL und dem Test-Namen, und stellte dann nach nichtmal einer Minute fest, dass keine Kontaktgruppe angegeben ist. Statuscake hat wohl festgestellt, dass der Server down ist – das konnte auch ich in der Oberfläche ersehen – aber ich hatte keine Email angegeben, wohin die Warnung geschickt werden könnte. Nächstes mal wird es klappen.
Natürlich ist das immer noch ein UI-Fehler. Die fehlende Kontaktgruppe sollte markiert sein, schreien dass sie fehlt. Hätte ich den Fehler selbst bemerkt, hätte ich mich über Statuscake geärgert. So aber, weil der Support gut war, habe ich mich stattdessen über die Hilfe gefreut.
Vor kurzem hatte ich schonmal eine gute Erfahrung mit so einem Chatsystem, da war es das Reklamationssystem von Amazon.fr, das sie alternativ zum Telefonsupport als favorisierte Methode platziert hatten. Das war auch nett und hilfreich und die Ware wurde ausgetauscht. Support über Chatboxen scheint generell eine gute Idee zu sein, wobei natürlich der Kern des guten Supports nicht die Methode ist, sondern dass der Mensch am anderen Ende versucht zu helfen. Doch das war hier der Fall, und ich glaube, dass die direkte Interaktion über den Chat dabei hilft, den Supportablauf angenehm zu machen.
Ruby: Mit LruRedux schnell und effizient cachen
Die Amazon-Api durchgängig nur 1-mal pro Sekunde anzusprechen führt natürlich dazu, dass die Anwendung nun deutlich länger braucht. Denn vorher wurden Anfragen so schnell losgeschickt wie möglich, und diese Bursts tolerierte Amazon – nur eben nicht immer und nicht zuverlässig. Daher brauchte es einen Weg, weniger Anfragen zu benutzen und so wieder akzeptable Geschwindigkeiten hinzukriegen.
Naheliegende Lösung war, Amazons Apiantworten für eine Weile zu cachen. Statt über SQLite zu funktionieren sollte dieser Cache jedoch im Speicher liegen. Genau das tut LruRedux, ist thread-safe und hat dazu einige nette Funktionen, beispielsweise ebenfalls eine Time-To-Live-Variante.
require 'lru_redux' class Amazon def initialize() begin @@cache rescue @@cache = LruRedux::TTL::ThreadSafeCache.new(200, 86400) # 24h … end end def getOffer(hardware) return @@cache.getset(hardware.type) do … self.search(hardware.type) end end end
Die getset-Methode ist besonders hilfreich. Der übergebene Block wird nur ausgeführt, wenn die id (hardware.type
hier) nicht bereits im Cache ist. Ansonsten wird der Block einmal ausgeführt, sein Ergebnis direkt gecached und zusätzlich noch returned. Ansonsten kann der Cache einfach wie ein Hash benutzt werden – allerdings wie ein Hash, der hier nur 200 Einträge fasst und sie nach 24 Stunden wieder vergisst.
LruRedux ist damit genau das, was ich hier brauchte: Ein pfeilschneller und einfach zu benutzender Cache, den ich als Klassenvariable setzen kann. Wie throttle-queue scheint er hervorragend zu funktionieren.
Ruby habe ich damals angefangen, weil ich Sinatra mochte. Inzwischen mag ich auch die Sprache selbst, aber es ist immer noch das Ökosystem drumherum, das besonders toll ist. Ich hätte sowohl cache als auch queue selbst bauen können, aber es wäre so viel mehr Arbeit und das Endergebnis schlechter gewesen. Ein spezifisches Problem durch kleine hilfreiche Gems zu erschlagen ist immer wieder eine schöne Erfahrung.
Ruby: Apiabfragen und anderes verlangsamen
Mit der throttle-queue wird ein bestimmter Codeblock nur x mal pro Sekunde ausgeführt. Das ist besonders praktisch für ausgehende Apiabfragen, wenn z.B. wie bei Amazons Produktapi regulär nur eine Anfrage pro Sekunde rausgeschickt werden darf und sonst der Zugang blockiert wird.
require 'throttle-queue' class AmazonApi def initialize() begin @@throttle # have only one throttle for all objects rescue @@throttle = ThrottleQueue.new 1 # 1 request per second … end end def search(keyword) result = "" # temporary variable because we can't return in the queue @@throttle.foreground(rand) { # random id, so new requests don't replace waiting requests result = @@api.item_search query: { … } } return result end
Alternativ könnte man den Codeblock auch im Hintergrund ausführen lassen, was je nach Anwendungsfall sehr praktisch sein kann.
Es ist ein relativ neues Gem, das erst seit November 2014 auf Github existiert. In meinen Tests funktionierte es einwandfrei und schien wie beworben thread-safe zu sein. Eine schöne Überraschung, so etwas überhaupt und dann noch ohne Abhängigkeit von eventmachine zu finden.
Californications Ende
Anfangs fand ich die Serie wirklich toll.
Es war etwas neues, David Duchovny als Hank Moody saucool und total verloren, so wie die Serie trotz all dem Sex eine melancholische Stimmung hatte. Davon war dann später nichts mehr zu spüren. Was vorher eine existentialistische Liebesgeschichte mit absurden Elementen war, wurde eine Ansammlung von Fäkalhumor, nackte Haut wurde ersetzt durch übertriebene, angezogene Sexszenarien und unmotivierten Drogenkonsum in jeder Folge. Selbst der Soundtrack, der in den ersten Staffeln wirklich toll passte, verwandelte sich in beliebig austauschbaren Stimmungspop. Die Schauspielerin der Tochter war nie toll, aber ihre Rolle durch einen geistig behinderten Vollidioten zu ersetzen ist die bescheuertste Entscheidung, die ich je in einer Serie gesehen habe. Das trifft generell auf die Serie zu: Schon andere Serien sind im Laufe der Zeit schlechter geworden, aber ich kenne keine die so schlecht wurde. Am Ende wirkte kein einziger der Schauspieler mehr so, als würden sie auch nur noch versuchen ihre Rolle richtig zu spielen. Vielleicht mit Ausnahme von Evan Handler, wobei die absurden Elemente seines Charakters irgendwo in Staffel 4 sowieso zum Kern der Serie geworden waren.
Die letzte Staffel war ein unwürdiges Ende für eine Show, die unheimlich gut angefangen hat. Es sind die ersten zwei Staffeln, die den Geist der Serie hatten. Alles andere war Schrott, und es wird auch gegen Ende nicht besser. Die Serie zu Ende zu gucken war eine Fehlentscheidung, Selbstfolter für die ich mich schäme. Nichtmal das Finale taugte.
Für Facebook HTML5-Videos in Firefox unter Linux erzwingen
Flash war wieder einmal in den Negativ-Schlagzeilen. Und während inzwischen fast überall HTML5-Video zumindest eine Option sind, ist das ausgerechnet bei Facebook nicht so: Da wird zwar auch manchmal HTML5 für die Videos genutzt, aber eben für Firefox unter Linux nicht.
Man kann sich das jedoch erzwingen. Der erste Weg ist das HTML5 Video Everywhere!, das aber leider nicht für die Timeline funktioniert. Der bessere Weg ist das Faken des User-Agents. Gaukelt man damit Facebook vor, man habe ein iPad, liefert Facebook von selbst alle Videos mit HTML5 aus.
Das kann man komfortabel mit dem Header Tool setzen. Add-on installieren, F4 drücken und diese Zeilen in die Seitenleiste eingeben:
@facebook.com User-Agent: Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10
Ich hoffe allerdings, dass die App-Installationsaufforderung, die damit beim ersten Laden der Seite erschien, nicht regelmäßig wiederkehrt.
Oxi
Über Varoufakis wurde gerade erst wieder geschrieben, dass er keine Kompromissbereitschaft gehabt hätte: Einen Kompromiss zu finden, das hatte in der Welt von Varoufakis offenbar keinen Platz.
Das stimmt sicher. Aber wie sollte so ein Kompromiss auch aussehen? Auf der einen Seite eine linke Regierung, die den Staat reformieren und die Wirtschaft ankurbeln will. Auf der anderen Seite die 18 Europaländer und die IWF, deren einziges Ziel darin besteht, möglichst viele Griechen in die Armut und aus den Sozialsystemen zu drängen. Mit Terroristen kann man nicht verhandeln. Varoufakis hätte angesichts seiner wirtschaftspolitischen Überzeugungen auch bei größtmöglicher Kompromissbereitschaft seinerseits keinen Kompromiss gefunden.
Das Nein der Griechen ist jetzt die große Chance, und ich hoffe sehr, dass es gut ausgeht. SYRIZA hatte von Anfang an den Regierungsauftrag, die Austeritätspolitik zu beenden. Doch die ganze Zeit haben sie versucht, das zusammen mit den anderen EU-Ländern umzusetzen, die sich aufgrund von Rassismus und Ideologie dem komplett verweigerten. Zusammen mit den Lügen über den Zustand des griechischen Staates und kompletter Ahnungslosigkeit auf Seiten der Konservativen konnte das nicht gelingen. Nun hat SYRIZA ein erweitertes Mandat, die Erlaubnis, zur Not sich auch komplett gegen die EU zu stellen. Dieser politische Wille zusammen mit einem starken Militär kann gelingen. Es ist Griechenlands einzige Chance, denn als Vasall einer Austeritäts-EU konnte Griechenland nur verlieren; nur als souveräner Staat kann die Wirtschaftspolitik umgesetzt werden, die in einer Wirtschaftskrise notwendig ist.
Lightpack
Darum gehts:
Dass die Wand hinter dem Monitor die Farben des Bildschirmhintergrundes wiederspiegelt liegt am Lightpack, einer Kontrolleinheit für mehrere LED-Streifen, die an die Rückseite des Monitors geklebt werden. Das war auf 79$ reduziert, als ich durch Zufall wieder drauf stieß. Ich mag die Idee, der Effekt ist cool, das Video lügt nicht.
Die Kontrollsoftware Prismatik ist leider weniger schön. Zwar für Ubuntu vorhanden, stürzt sie bei mir unter Ubuntu aber ab. Das liegt wohl daran, dass ich kein Unity nutze und Prismatik trotzdem kein normales Trayicon nutzt. Der Einrichtungswizard startet zwar und lässt sich konfigurieren, aber die Konfiguration wird nicht gespeichert. Stattdessen musste ich die ~/.Prismatik/Profiles/Lightpack.ini manuell anpassen. Der Trick ist es, sich im Wizard anzuschauen wo welche LED in der Default-Ini liegt und dann die Position anzupassen. Zusätzlich musste ich die Nummerierung auswechseln, also LED_1 mit LED_10 tauschen, LED_2 mit LED_9 und so weiter. Das Ergebnis liegt hier und sollte für eine Auflösung von 1920x1080 und dem Lightpack in der Andromeda-Konfiguration halbwegs passen.