Was ist ein Zauberspruch überhaupt noch wert?

In Anbetracht der jüngsten Bestrebungen Odins, das Aufsagen von Zaubersprüchen gegen Geldzahlung noch weiter zu unterbinden, muss davon ausgegangen werden, dass Odin und die anderen Asen den Einfluss von Zaubersprüchen auf das finanzielle Wohlergehen des Besprochenen gegenüber dem Zustand von vor einigen Jahren um einen nicht unerheblichen Prozentsatz hoch- oder runtergeschraubt haben. Egal, wie man es dreht und wendet, ein Zauberspruch – sei er ein gekaufter, sei er den Zauberern über einen Trick der PR-Abteilung aufwändig abgetrotzt – kann in Durchschnitt gesehen nicht mehr genau den gleichen Einfluss auf den Geldregen über einen damit Gesegneten haben, den er zum Beispiel noch vor fünf Jahren hatte.

Weil wir in einem wortreichen Absatz halbwegs erfolgreich versucht haben, zu verbergen, dass wir vieles vermuten und dafür gar nichts wissen, wollen wir jetzt Scheinwissen durch eine Umfrage herstellen. Wir möchten herausbekommen, wie andere Zauberer den heutigen Einfluss des Reichtumsfaktors Zauberspruch einschätzen und deshalb um die Teilnahme an unserer kleinen Umfrage bitten. Wenn da ganz viele mitmachen und ihr völliges Unwissen über die Pläne und Absichten der Asen zu einem Umfrageergebnis zusammentragen, würden wir uns sehr darüber freuen.

Oder so ähnlich:mrgreen:

Veröffentlicht unter Technisches | Verschlagwortet mit , , , , | Schreib einen Kommentar

Ubuntu Annoyances, Teil 17391

Wer unter den vielen Freunden der Linux-Geschmacksrichtung »Ubuntu« 14.04 zurzeit feststellt, dass folgende Dinge nicht mehr gehen, obwohl sie in der früheren LTS-Version problemlos gingen…

…«darf« mal wieder selbst ein bisschen Hand anlegen. Keine Sorge, das tut diesmal nicht weh und sollte auch für Anfänger zu bewältigen sein.

Das Problem hat seine Ursache darin, dass der alte Displaymanager gdm inzwischen völlig aus der Ubuntu-Installation entfernt und durch lightdm ersetzt wurde. Dabei wurde auch gdmflexiserver aus der Standardinstallation entfernt, befindet sich aber weiterhin in der Konfiguration einiger Programme. Da Xscreensaver aus absurden Gründen¹ nicht weiter von Ubuntu unterstützt wird, ist das offenbar niemanden aufgefallen.

Natürlich ist es auch möglich, libgdm1 zu installieren, um dieses Problem zu fixen. Man kann eine Mücke auch mit einem Vorschlaghammer erschlagen und sich ganz nebenbei über die dabei angerichteten »Kollateralschäden« freuen. Das veraltete gdm-Paket kann leicht zu späteren Paketabhängigkeitsproblemen führen.

Besser ist die folgende Vorgehensweise, die allerdings den lightdm als verwendeten Displaymanager voraussetzt. Dieser ist Standard bei Ubuntu, Xubuntu, Lubuntu und wird bei Kubuntu anstelle des KDE-Displaymanagers KDM verwendet. Wer nicht von Hand einen anderen Displaymanager installiert hat, wird lightdm nutzen. Natürlich ist die folgende Vorgehensweise dennoch ohne Gewähr:

  1. Ein Terminalfenster aufmachen.
  2. Kommando: sudo touch /usr/local/bin/gdmflexiserver
    Dabei wird nach dem Passwort gefragt.
  3. Kommando: sudo chmod +x /usr/local/bin/gdmflexiserver
  4. Öffnen der Datei mit dem jeweiligen Lieblingseditor (zum Beispiel mit dem Kommando sudo editor /usr/local/bin/gdmflexiserver), um den folgenden Text einzufügen:
    #!/bin/sh
    dm-tool switch-to-greeter
    
  5. Fertig.

Eventuell ist es erforderlich, die Sitzung zu beenden und sich neu anzumelden, um den Erfolg auch zu sehen. Wer wissen möchte, was dm-tool tut und das Terminal noch offen hat, tippe mutigen Fingers man dm-tool.

Für Pedanten: Und nun der ganz korrekte Weg…

Natürlich war das ein schneller und etwas schmutziger Hack, der in dieser Form nur mit lightdm funktioniert. Wer diese Abhängigkeit von einem bestimmten Displaymanager nicht haben möchte, erledigt das über das »Monsterchen« namens dbus, so wie es unser aller Beglücker von freedesktop.org eigentlich vorgesehen haben, um uns allen die Freude an einem flexiblen und leicht verständlichen Betriebssystem zu verhageln.

Für die korrekte Vorgehensweise sind die folgenden Zeilen in die Datei /usr/local/bin/gdmflexiserver einzufügen – ich habe das übrigens nicht getestet, weil ich mir das Leben lieber leicht mache:

#!/bin/sh
test -z "$XDG_SEAT_PATH" && exit 1
dbus-send --system \
          --type=method_call \
          --print-reply \
          --dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH \
                 org.freedesktop.DisplayManager.Seat.SwitchToGreeter

Nach dem Backslash \ darf kein Leerzeichen stehen, damit diese Zeilen von der Shell zu einer einzigen Zeile zusammengefasst werden… ich habe die Angewohnheit, längere Zeilen so aufzuteilen, dass ich sie möglichst leicht lesen kann.

¹Man muss nicht alles wegwerfen, nur weil es bewährt und weitgehend fehlerfrei ist, um seinen Anwendern stattdessen Strokelware mit schweren sicherheitskritischen Bugs zu installieren.

Veröffentlicht unter Technisches | Verschlagwortet mit , , , , , | Schreib einen Kommentar

Meine gewagte Prognose zu »Big Data«

Irgendwann – vermutlich in nicht mehr allzuferner Zukunft, bei geeigneten gesellschaftlichen Anlässen vielleicht sogar schon in zehn Jahren – werden Menschen als Kriminelle oder Geisteskranke pathologisiert und entweder weggesperrt oder euthanasiert werden, weil sie dermaßen nichtkonform sind, dass sich ihr Verhalten nicht genau genug anhand der monströsen Datensammlungen der Firmen, Staaten, Polizeien und Geheimdienste vorhersagen lässt. Die große Masse der anderen Menschen wird sich hingegen ziemlich »frei« fühlen; darf doch jeder fast alles tun, was er tun möchte. Und »man« wird – getragen von den Stimmen der Intellektuellen, Journalisten, Ärzte, Psychiater, Soziologen und Marktforscher – von der besten aller denkbaren Gesellschaften sprechen, ganz genau so, wie es diesem »man« immer schon vorgegeben wurde, völlig unabhängig davon, wie das akute Unrecht unüberhörbar zum Himmel schrie.

Nachtrag: Netzpolitik.org – Algorithmen Allmächtig? Freiheit in den Zeiten der Statistik

Veröffentlicht unter Allgemeines | Verschlagwortet mit , , , , | 2 Kommentare

Chaos Computer Club!

Sehr wichtiger Nachtrag vom 16. Juni

Der folgende Rant bezieht sich auf eine Facebook-Seite, die nicht vom Chaos Computer Club betrieben wird. Es gibt keine Facebook-Seite des CCC. Jede Facebook-Seite, die behauptet vom CCC zu stammen, ist eine Fälschung. Da ich es – auch wegen des täuschend »guten« Facebook-Auftrittes irgendwelcher Gestalten, die sich zum Einsammeln von Followern einfach CCC nennen – unterlassen habe, einfach mal beim CCC anzufragen und meinem pawlowschen Facebook-Speichelfluss freien Lauf gelassen habe, ist ein Rant entstanden, der die Falschen trifft. Näheres bitte den Kommentaren zu diesem Text entnehmen.

Mein ursprünglicher Text bleibt hier – um den Kontext nicht zu zerstören – zu Archivzwecken und zu meiner Schande unverändert stehen:

Nicht, dass ich euch als Nicht-Mitglied belästigen möchte, aber eines muss ich doch festhalten. Während ich durch die Welt ziehe und jedem Menschen irgendwann einmal sage, wie überwältigend wichtig ein Mindestmaß an digitaler Autonomie – als das Gegenteil von social media, cloud und anderen Vermarktungen und Enteignungen – in der gegenwärtigen Zeit ist, setzt ihr euch hin und macht das hier¹:

Screenshot des Facebook-Profiles des Chaos Computer Clubs

33.815 Leuten gefällt das.

Mir gefällt das nicht.

Und euch beim CCC sollte es eigentlich auch nicht gefallen, einen Beitrag dazu zu leisten, dass Facebook seine meiner Meinung nach entbehrliche Website durch eure freiwillige, unbezahlte und aktive Mitwirkung noch ein bisschen attraktiver hat. Ja, dieses Facebook, das ein Spammer ist, der übrigens auch klandestin über die Wischofon-App eingesammelte Mailadressen mit Spam zuscheißt. Dieses Facebook, das Spammethoden auch intern anwendet und Vorschläge in fremden Namen ausspricht (siehe auch hier oder hier). Dieses Facebook, das nicht nur technokratisch durchgesetzte Regeln gegen allzu freies Kommentieren hat, sondern auch nicht vor offener politischer Zensur zurückschreckt (siehe auch hier oder etwas fragwürdiger hier). Dieses Facebook, das keine Hemmungen hat, seine Nutzer dazu aufzufordern, das gesamte Web mit dem so genannten »Like-Button« in eine Tracking-Engine für die Datensammlung eines börsennotierten Unternehmens ohne seriöses Geschäftsmodell umzuwandeln² und früher, bis das mal aufgeflogen ist, durch spezielle Programmierung dafür Sorge trug, dass das Tracking auch bei scheinbar »ausgeloggten« Nutzern möglich blieb – von den Implikationen in Form des patriot act und der klandestinen Weltüberwachungsambitionen der Vereinigten Staaten eines Teils von Nordamerika will ich bei dieser Idee gar nicht erst reden. Dieses Facebook, das Wischofone weitgehend verwanzt und mit den so eingesammelten Überwachungsdaten ein Businessmodell durch Profilbildung anhand der installierten Apps errichten will. Dieses Facebook, das – wenn es sich schon auf dem Handy austoben kann – auch gleich die dort gespeicherten persönlichen Adressbücher des Nutzers manipulieren wollte und hinterher von einem bedauerlichen Fehler sprach, ganz so, als ob Programmcode zum Bearbeiten der Adressbuch-Datenbank sich neuerdings von alleine schriebe. Dieses Facebook, das seine Datensammlung so vermarkten will, dass Werber daran ihre Mailadressen und Telefonnummern abgleichen können. Dieses Facebook, das sich auf dem Standpunkt stellt, dass es eine Verschwendung von Steuergeldern ist, Datenschutz durch anonyme oder pseudonyme Nutzungsmöglichkeiten einzufordern und folgerichtig »Freunde« seiner Nutzer kurzerhand als kostenlose und diensteifrige Klarnamens-Blockwarte einspannt. Dieses Facebook, das die eingesammelten Daten mal eben durch irgendwelche externen Unternehmen auswerten lässt. Dieses Facebook, das eingesammelte Daten als sein »Geistiges Eigentum« betrachtet und das seinen »Datenschutz« so gestaltet, dass der Verbraucherzentrale Bundesverband ausdrücklich von einer Nutzung abrät, was ich angesichts der stetigen Verschlimmerung der Zustände für einen weisen Rat halte³…

Nun, ihr beim CCC scheint diesen Rat für nicht ganz so weise zu halten. Ihr seid halt ein deutscher Verein; ihr kommt aus dem Land, in dem Google Fassaden verpixeln muss, wärend Facebook – natürlich ohne dass Nutzer so etwas erst umständlich freischalten müssen, denn man ist ja bequem – biometrische Datenbanken zur Gesichtserkennung aufbaut (sicherlich auch zugunsten der Horch- und Morddienste der USA).

Dass ihr ganz offiziell bei Facebook – von mir meist »liebevoll« als »Fratzenbuch« bezeichnet – seid, ist das genaue Gegenteil aller Dinge, für die ihr sonst lobenswerterweise einsteht. Ihr seht in dieser realsatirisch wertvollen Geste so aus wie ein Tierschützer, der im Pelzmantel für den Tierschutz demonstriert.

Was meint ihr, wie ich euer Facebook-Profil gefunden habe?

Nein, ich bin nicht selbst auf die Idee gekommen, danach zu suchen, weil ich die Vorstellung für absurd gehalten hätte. Ich habe es gefunden, als ich heute morgen einer Zeitgenossin – nennen wir sie mal Birgit – ein paar Kleinigkeiten erklärt habe, damit sie auf diesem Überwachungsplaneten ein bisschen zum Schutz ihrer Privatsphäre tun kann. Ich habe ihr gezeigt, wie man E-Mail verschlüsselt, wie man Tor benutzt, wie man Jabber mit OTR benutzt, welche Browsereinstellungen – zum Beispiel das Ablehnen von Drittanbieter-Cookies – empfehlenswert sind und wie man essentielle Plugins wie »NoScript« im Browser installiert. Und ich habe ihr auch empfohlen, ihren Account bei Facebook stillzulegen, den wertvolleren Kontakten eine E-Mail-Adresse zuzustecken oder sie in ein anderes Netzwerk zu »locken«. Birgit sagte dazu allerdings nur: »Wieso denn das, der CCC ist doch auch bei Facebook«.

Birgit war nämlich eine von den 33.815 Leuten, denen das gefiel.

Deshalb habe ich euch gesucht. Ich habe das für einen Witz gehalten. Und. Ich musste feststellen, dass es kein Witz war.

Und nicht nur das: Der Facebook-Account ist kein Platzhalter, sondern gut gepflegt. Die letzte öffentliche Meldung ist von vorgestern. Das Dingens wird nicht nur »so nebenbei« betrieben. Es sieht ganz anders aus als eure »CCC Updates« [sic! Mit Deppen Leer Zeichen…] im dezentralen Diaspora-Netzwerk, wo die letzte Meldung vom 5. März ist.

Man könnte beinahe denken, dass ihr beim CCC Dezentralität für eine schlechte Sache haltet, zentral organisierte Datenstaubsauger der Marke »Facebook« aber gern mit euren Daten füttert.

Ob dieser sich – vermutlich nicht nur mir – bei bloßer Betrachtung eures Tuns aufdrängelnde Gedanke wohl kompatibel zu irgendeinem Ziel des CCC ist?

Wenn ihr beim CCC meint, dass er das ist, dann macht einfach so weiter!

Und ansonsten: Seht zu, dass ihr vom Fratzenb von Facebook wegkommt! Es ist nicht gut, dort zu sein. Und es ist gut, nicht mehr dort zu sein.

Fußnoten

¹Als Screenshot belegt, weil ich vermeiden will, diese Website zu verlinken.

²Der so genannte »Like-Button« ist nicht nur eine Tracking-Wanze für große Teile des Web, sondern in meinen Augen auch ein Hilfsmittel für Menschen, die zu doof geworden sind, die in der Adressleiste angezeigte URI über die Zwischenablage in eine TEXTAREA zu kopieren. Er ist ein Hilfsmittel zur Ausbreitung des Computer-Analphabetismus, um auf Grundlage dieser künstlich geschaffenen Beeinträchtigung fragwürdige Businessmodelle vorantreiben zu können.

³Die Texte sind alt. Der Zustand nicht.

Veröffentlicht unter Allgemeines | Verschlagwortet mit , , | 13 Kommentare

Das so genannte »Recht auf Vergessen«

Wer den Hintergrund nicht versteht, lese bitte erstmal bei Heise Online weiter und folge im Zweifelsfall den dort gesetzten Links!

Das folgende, recht einfache Python3-Skript erzeugt eine Liste aller URLs, die in den ersten 500 Suchergebnissen bei google (punkt) com gefunden werden, hingegen nicht in den ersten 500 Suchergebnissen bei google (punkt) de erscheinen:

#!/usr/bin/env python3

RESULTS = 500

import sys
import urllib.parse
import urllib.request
import html.parser


class LinkExtractor(html.parser.HTMLParser):
    def __init__(self, htmldoc):
        super().__init__()
        self.links = []
        self.feed(htmldoc)

    def handle_starttag(self, tag, attrs):
        if tag == 'a':
            for attr, content in attrs:
                if attr == 'href':
                    self.links.append(content)


class BaseSearchResult(object):
    def __init__(self, search_term):
        super().__init__()
        self.result_links = []
        for uri in self.perform_search(search_term):
            if self.filter_link(uri) and uri not in self.result_links:
                self.result_links.append(uri)
        self.result_links = self.postprocess_links(self.result_links)
        self.result_links.sort()

    def filter_link(self, uri):
        return True
    
    def perform_search(self, search_term):
        raise NotImplemented()

    def postprocess_links(self, linklist):
        return linklist
    
    def get_links_from_uri(self, uri):
        req = urllib.request.Request(uri)
        req.add_header('User-agent', 'Mozilla/5.0')
        httpdocument = urllib.request.urlopen(req)
        link_extractor = LinkExtractor(httpdocument.read().decode('utf-8'))
        return link_extractor.links


class GoogleCommon(BaseSearchResult):
    def common_search_part(self, domain, search_term):
        params = urllib.parse.urlencode({'q': search_term, 'num': RESULTS})
        uri = 'http://{}/search?{}'.format(domain, params)
        return self.get_links_from_uri(uri)
    
    def postprocess_links(self, linklist):
        newlist = []
        for link in linklist:
            parse_res = urllib.parse.urlparse(link)
            params = urllib.parse.parse_qs(parse_res.query)
            # That funny // is a dirty hack to get only full URIs.
            # Skripting google is really a pain in the ass.
            if 'q' in params and '//' in params['q'][0]:
                newlist.append(params['q'][0])
        return newlist
    

class GoogleDe(GoogleCommon):
    def perform_search(self, search_term):
        return self.common_search_part('www.google.de', search_term)

    def filter_link(self, uri):
        return ('google.de' not in uri and
                'google.com' not in uri and
                'googleusercontent' not in uri and
                not uri.startswith('/search'))


class GoogleCom(GoogleCommon):
    def perform_search(self, search_term):
        return self.common_search_part('www.google.com', search_term)

    def filter_link(self, uri):
        return ('google.com' not in uri and
                'googleusercontent' not in uri and
                not uri.startswith('/search'))


def not_found_in_google_de(term, engines=(GoogleCom, )):
    not_found = []
    google_de = GoogleDe(term)
    for engine in engines:
        other_engine = engine(term)
        for uri in other_engine.result_links:
            if uri not in google_de.result_links and uri not in not_found:
                not_found.append(uri)
    not_found.sort()
    return not_found


def main():
    search = '+'.join([urllib.parse.quote(i.lower()) for i in sys.argv[1:]])
    for i in not_found_in_google_de(search):
        print(i)


if __name__ == '__main__':
    main()

Einige (mindestens zwölftausend) Leute werden leider in den nächsten Monaten auf die harte Art lernen müssen, was der Unterschied zwischen dem Verstecken eines Verweises auf einer außerordentlich beliebten Website und dem Entfernen von Inhalten aus dem Internet ist – denn vergleichbare Hilfsmittel wie dieses (übrigens leicht durch Hinzufügen weiterer Suchmaschinen ausbaufähige und von mir eher nebenbei gehackte) Skriptchen wird in Kürze jeder Qualitätsjornalist mit menschenverachtendem Boulevard-Hintergrund, jeder Personalchef und jedes andere Arschloch von Mitmensch haben und bei sich bietenden Anlässen eifrig benutzen – und sich dabei völlig im Klaren darüber sein, welche Bewandtnis es mit Inhalten hat, die im Rechtsraum der EU von der Google-Suchmaschine versteckt werden. Vielleicht sogar als bequemes Browser-Addon mit wesentlich verbesserter Aufbereitung des Vergleiches. Und natürlich werden auch politisch engagierte Menschen derartige Hilfsmittel benutzen, denn es ist davon auszugehen, dass es gerade die Gestalten aus der classe politique sind, denen es missfällt, dass ihre vergangenen Taten und Äußerungen mit Leichtigkeit aufgefunden werden können – zum Beispiel solche Gestalten wie Frau Dr. Annette Schavan, die jetzt gut von Außenministeriums Gnaden unter Angela Merkels Weisung als Botschafterin der Bundesrepublik Deutschland bei den größeren Lügnern im Vatikanstaat alimentiert ist. Ach, wenn diese Hölle, mit der die Herrschenden und ihre gottlosen Komplizen in der Kirche jahrhunderlang die Menschen eingeschüchtert haben, doch nur brennte!

Auch, wenn es den Gartenzwerg-Privatsphäre-Gläubigen mit ihrem stammtischdeutschen Stolz auf das »Fassadenverpixelungsrecht« bei Google Street View nicht gefällt: Die Zensur durch einfaches Unsichtbar-Machen auf bestimmten Web-Plattformen ist wirkungslos. Selbst, wenn etwas auf Google unsichtbar gemacht wird. Nein, sie ist nicht nur ein bisschen wirkungslos, sondern völlig wirkungslos. Egal, ob es sich um Zensursulas Stoppschilder oder um die europagerichtshöfige Idiotie einer Linkentfernung ohne die Entfernung der Inhalte handelt. Gar nicht so wirkungslos ist allerdings, dass jetzt eine Art Zensurrecht für beleidigte Leberwürste und für Zeitgenossen, die etwas an der Sichtbarkeit ihrer Vergangenheit ändern wollen, eingeführt wurde – denn dieses Zensurrecht, das ist gewiss, es wird in den kommenden Jahren bis zu chinesischen Verhältnissen ausgebaut werden. Zum Schaden aller Menschen, die das Internet nutzen wollen, um zu recherchieren und informierte Entscheidungen auf der Grundlage von Fakten zu treffen. Wahlentscheidungen zum Beispiel. Oder auch Kaufentscheidungen. Oder die zuweilen sehr wichtige Entscheidung, bei welchem Arzt sie mit welcher Methodik ihre Krankheiten behandeln lassen wollen – denn den ganzen Quacksalbern kann es gar nicht recht sein, dass es frei verfügbare Informationen zu ihren Machenschaften gibt.

Katzenbilder und lustige Videos sind nur ein sehr dürftiger Ersatz für das eigentliche Potenzial des Internet.

Ach ja, hier ist das Skriptchen zum freien Download, lizenziert unter den Bedingungen der Piratenlizenz. Share and enjoy, but don’t sue me! Meinen Rant zur Heisemeldung gibt es bei Schwerdtfegr (beta)

Veröffentlicht unter Technisches | Verschlagwortet mit , , , , , , , | 4 Kommentare