Skip to content

UPC Spam

^ v M ><
Nachdem ich von UPC etwas zu oft persönlich adressierten Spam in meinem Briefkasten vorgefunden hatte und alle "Refusé"-Rücksendungen nichts genützt hatten, habe ich halt mal den Muster-Auskunftsbrief in deren Firmenzentrale geschickt.

Heute kam die Antwort:


Aha. Also, sie haben keine Daten von mir. Und daher senden sie mir wöchentlich persönlich adressierten Spam für Ihre Dienste. Ist das eine kleine Realitätsdiskrepanz oder bereits eine faustdicke Lüge?

Aber dafür wollen sie noch eine Kopie meiner ID. Damit sie wohl meinen Spam verifiziert personalisieren können. Yeah. Right.

Liebe Freenet, bitte überdenkt eure Blockadehaltung noch einmal und lasst Sunrise den Saftladen einfach übernehmen. Und dann zumachen.

Mal schnell mit dem Zug in die Ferien...

^ v M ><
Geh mit dem Zug in die Ferien, sagen sie. Ist besser für die Umwelt, sagen sie. In Europa überhaupt kein Problem, sagen sie.

OK, testen wir das mal. Hallo SBB-Website, ich würde gerne nach Prag fahren. Oh cool, direkter Nachtzug von Freitag auf Samstag hin, mit nur einmal Umsteigen Sonntag auf Montag zurück? Cool! Was kostet denn das?
Ooooh, online können sie mir das nicht sagen, ich soll doch anrufen (für nur 8 Rappen pro Minute). Oder beim Bahnhof vorbeigehen. Oder einfach das Online-Formular für eine Offerte ausfüllen. OK, nicht ganz toll, aber ich bin ja geizig und habe keine Zeit, also her mit dem Formular... Nach 5 Minuten Daten eintippen: äääh ja sorry, aber du musst für 8 Rappen pro Minute anrufen oder an den Bahnhof gehen. Weil mit dem Formular hast du jetzt genau noch die Auswahl zwischen "bestellen" ohne den Preis zu kennen. (richtig kein "zwischen bestellen und sonst was", denn da ist nur ein Radio-Button... und der Text ist versteckt... WTF?):

Der versteckte Text besagt: Ich möchte definitiv bestellen (Hinweis: Bezahlung per Kreditkarte, Bearbeitungszeit 48 Stunden, keine Sparbillette).


Na gut, Prag, geht ja mit der ÖBB, kannst ja bei den Ösis kaufen, wird wohl eh günstiger sein. hmmm... also, deren Webshop geht schon mal gar nicht auf dem Mobiltelefon. Also nix mit Sofashopping, zurück an den PC. Auch gut... der direkte Nachtzug wird mir von den Ösis für die Hinfahrt überhaupt nicht angeboten. Die beste Verbindung ist mit einmal Umsteigen in irgend einem Kaff in Tschechien. Na gut. Der Preis dafür: "Ticket nicht verfügbar". Vielleicht ausgebucht, wie wär's in einer Woche? Auch nicht. In zwei Monaten? Nope. Immerhin: für die anderen Verbindungen mit vier mal Umsteigen gibt's mal so die Ansage so im Preisrange von 27-97 Euro einweg sowie mit der Einschränkung "Ticket für Teilstrecke". Wäre interessant, wenn ich nicht dauernd aufstehen und um Anschluss zittern müsste (Anschluss? In Österreich? Gerne um 19:38... ha ha, Schenkelklopf).

Rein zum Vergleich, was kostet der Flieger? 10 Sekunden später weiss ich, dass mich ein Wochenende 168 Franken kosten würde. Leider mit Swiss (und beim Rückflug umsteigen in Genf), also streichen wir Prag mal von der Liste der Ferienziele.

Wie wär's stattdessen mit London? Gibt ja da den coolen Eisenbahntunnel unter dem Meer. Wieder zurück zur SBB-Webseite. Ja auch hier werde ich gebeten, das Offertenformular auszufüllen. Auch hier habe ich zuletzt die Wahl zwischen "bestellen" zu unbekanntem Preis. Oder anrufen für teuer Geld. Oder vorbeikommen, mit viel Zeit und Geduld. Hmpf, dann halt doch wieder mit dem Flieger. Der kostet, das hat wieder nur 10 Sekunden gedauert, weniger als 200 Franken hin- und zurück.

Und sonst halt zuhause bleiben. Kommt günstiger. Oder an die immer gleichen Orte fahren, zu denen man tatsächlich im Jahre 2019 online einen Zug buchen kann. Ernüchternd.

Bye Bye ICQ

^ v M ><
oh-oh! Nachdem ICQ schon vor einigen Monaten das Protokoll mal wieder geändert hatte und dadurch mein XMPP-to-ICQ-Transport nicht mehr funktionierte, habe ich heute Morgen aufgeräumt und ICQ komplett entsorgt. Die verwendete Transport-Software pyicqt wird seit 11 Jahren nicht mehr weiterentwickelt, da besteht keine Hoffnung auf Wiederbelebung.

Zeit, ein Kapitel endgültig abzuschliessen. Und wieder einmal das Mantra zu wiederholen: Nutzt freie Protokolle!

Firefox-Einstellungen für Sicherheit und Privatsphäre

^ v M ><
Neulich hat Debian (endlich...) ein Upgrade von Firefox ESR 52 auf Firefox ESR 60 durchgeführt. Das hat wie so viele Updates gute und schlechte Seiten. Positiv ist, dass ein aktueller und flotter Browser installiert wird. Negativ ist, dass nun fast alle meine Addons nicht mehr verfügbar sind.

Während das Update auf dem Laptop problemlos funktionierte, hat es mir auf dem Desktop das Browserprofil so zerschossen, dass sich Firefox partout nicht mehr dazu bewegen liess, eine Website aufzurufen (nicht mal von 127.0.0.1). Eine gute Gelegenheit, frisch anzufangen und die Einstellungen nochmals zu prüfen - und die Modifikationen hier zu notieren, damit ich sie beim nächsten Mal wieder finde und jemand dies für irgendjemanden von Nutzen ist.

Firefox modifiziere ich aus drei Gründen: Für bessere Benutzbarkeit, Performance und Sicherheit/Privatsphäre. Hierzu installiere ich ein paar (hoffentlich vertrauenswürdige) Plugins und passe einige Einstellungen in der about:config an.

Als Addons unverzichtbar sind NoScript und uBlock Origin (eigentlich wäre mir Request Policy lieber, aber das wurde ja von Firefox durch das Update getötet). Mir geht es weniger darum, lästige Werbung auszublenden. Ich habe nichts gegen Werbung, wenn sie direkt vom Website-Betreiber gehostet wird (kein Tracking) und nicht aufdringlich ist (ergo: statische Bilder). Aber Werbenetzwerke wurden auch schon von Bösewichten dazu missbraucht, Schadsoftware auf an sich vertrauenswürdigen Webseiten zu verbreiten (siehe z.B. hier... Link geht bewusst zum Verursacher). Es ist somit reine Selbstverteidigung.
Nach wie vor auf der Suche bin ich nach einem Addon zur Verwaltung von Cookies, da auch Cookie Controller nicht mehr funktioniert.

Die Benutzbarkeit optimiere ich durch folgende Einträge in der about:config:
accessibility.typeaheadfind.flashBar;0
browser.bookmarks.showMobileBookmarks;true
browser.feeds.handlers.application;/usr/bin/akregator
browser.tabs.closeWindowWithLastTab;false
browser.tabs.loadBookmarksInTabs;true
browser.urlbar.formatting.enabled;false
browser.urlbar.suggest.openpage;false
browser.urlbar.trimURLs;false
dom.disable_window_open_feature.toolbar;true
network.proxy.autoconfig_url;http://xxx/wpad.dat # nur auf Desktop
network.proxy.type;2 # nur auf Desktop
pdfjs.disabled;true

Für die Performance wird der Disk-Cache in eine RAM-Disk verschoben, das schont auch die SSD. Da mein /tmp eh schon in einer RAM-Disk liegt, bietet sich das an. Das ist zwar eine leichte Schwächung der Systemsicherheit, da /tmp per se allen Nutzern einsehbar ist. Da ich aber keinen shared Unix-Mainframe sondern eine Workstation nur für mich selbst habe, bleibt die Auswirkung in überschaubahrem Rahmen:
browser.cache.disk.parent_directory;/tmp
Als winziger Bonus wird auch die Privatsphäre minimal gesteigert, da der Disk-Cache somit nach einem Neustart des Computers definitiv gelöscht ist. Somit lassen sich Cache-Timing-Trackings reduzieren - eine eh schon eher esoterische Schnüffelmethode. Alternativ kann der Disk-Cache natürlich auch ganz deaktiviert werden.

Zu guter letzt wird noch die Privatsphäre gegenüber Mozilla und Google gesteigert. Dazu werden jede Menge unnötige Cloud-Dienste von Mozilla deaktiviert. Ebenfalls wird Google Safebrowsing ausgeschaltet. Dies weniger wegen Privatsphärebedenken, denn unter Berücksichtigung der Funktionsweise dieser Datenbank ist diese trotz Google-Herkunft tatsächlich relativ wenig bedenklich. Aber ich stelle den Nutzen in Frage. Ein aktuell gehaltenes Linux und ein Bisschen Vorsicht beim wild herumklicken bringt mehr Sicherheit als (potentiell veraltete und unvollständige) URL-Listen. Ausserdem spart dies Bandbreite und Festplattenplatz, da die Safebrowsing-Datenbank doch mehrere Gigabyte gross ist.
beacon.enabled;false
browser.pagethumbnails.capturing_disabled;true # neu zu erstellen
browser.safebrowsing.blockedURIs.enabled;false
browser.safebrowsing.downloads.enabled;false
browser.safebrowsing.downloads.remote.block_dangerous;false
browser.safebrowsing.downloads.remote.block_dangerous_host;false
browser.safebrowsing.downloads.remote.block_potentially_unwanted;false
browser.safebrowsing.downloads.remote.block_uncommon;false
browser.safebrowsing.downloads.remote.enabled;false
browser.safebrowsing.malware.enabled;false
browser.safebrowsing.phishing.enabled;false
browser.search.suggest.enabled;false
captivedetect.canonicalURL;http://xxx/success.txt # nur auf Laptop
datareporting.healthreport.service.enabled;false
extensions.blocklist.enabled;false
extensions.getAddons.cache.enabled;false
extensions.screenshots.disabled;true
extensions.screenshots.upload-disabled;true
geo.enabled;false
network.captive-portal-service.enabled;false # nur auf Desktop
startup.homepage_welcome_url;
toolkit.telemetry.unified;false
toolkit.telemetry.coverage.opt-out;true # neu zu erstellen
Eine gute Beschreibung vieler dieser Punkte sowie einige weitere Einstellmöglichkeiten finden sich in dieser grossartigen Anleitung.

Als weiteren Punkt in der Privatsphäre passe ich meine Cookie-Speicherdauer an und aktiviere den Do-Not-Track-Header:
network.cookie.lifetimePolicy;2
network.cookie.cookieBehavior;1
privacy.donottrackheader.enabled;true
Diese drei Anpassungen sind auch komfortabel per Maus über die Einstellungen erreichbar. Cookies werden akzeptiert, jedoch nicht von von dritten. Beim Schliessen des Browsers werden alle Cookies gelöscht. Dies ist ein guter Kompromiss zwischen Verfolgbarkeit einschränken und Webseiten benutzbar erhalten, ohne übermässig lange Ausnahmelisten führen zu müssen.

Zur Verbesserung der Sicherheit wird der Zugriff auf die Zwischenablage gestutzt:
dom.event.clipboardevents.enabled;false
dom.allow_cut_copy;false

pfSense vs IPv6

^ v M ><
Seit ich beim einzig brauchbaren Provider der Schweiz bin (das ist der, der es gelegentlich auch in die deutschen News schafft, da er als vermutlich einziger Provider der Welt offen und explizit für Netzneutralität eintritt), habe ich endlich auch Internetzugang mit dem Protokoll der Zukunft, IPv6. Der Provider ist sogar so freundlich, dass ich auf Anfrage kostenlos ein statisches IPv6-Prefix erhalten kann, d.h. meine Computer immer unter der gleichen Adresse erreichbar sind.

Leider hat das auf der technischen Seite einen kleinen Schönheitsfehler, denn das statische Prefix wird anhand der DUID zugewiesen. Diese muss auf Seiten des Providers eingetragen werden. Die DUID ist eine pseudozufällig generierte, einzigartige ID meines IPv6-Clienten, also meiner Firewall. Diese Firewall benutzt als Softwarebasis das freie Firewallprojekt pfSense. Diese hat in der neusten Version allerdings ein sehr nerviges "Feature": Bei jedem Neustart wird die DUID neu generiert. Dies führt dazu, dass ich nach Softwareupdates, Stromausfällen o.ä. jeweils immer dem Support des Providers schreiben muss, er solle bitte die neue DUID eintragen. Somit ist mein IPv6-Zugang für eine Weile gestört, bis der Provider meiner Bitte nachgekommen ist.

Das zu unterbinden, erfordert leider etwas Gebastel...:
Zuerst muss man sich per SSH auf der Firewall einloggen und eine Shell aufrufen (Taste 8 drücken). Dann muss die Datei, welche die DUID enthält, an einen Ort kopiert werden, wo sie einen Neustart der Firewall übersteht:
cd /conf
mkdir dhcp
cp /var/db/dhcp6c_duid .

Danach wird über das Webfrontend ein Job eingerichtet, der diese Datei bei jedem Neustart bevor das Netzwerk gestartet wird wieder nach /var/db kopiert. Dazu muss als erstes über die Paketverwaltung (System -> Package Manager -> Available Packages) das Paket "Shellcmd" installiert werden.
Danach kann unter Services -> Shellcmd ein neuer Befehl definiert werden:
Command: cp -f /conf/dhcp/dhcp6c_duid /var/db/
Shellcmd Type: earlyshellcmd
Comment: Fix braindead IPv6 DUID regeneration

Fazit: die proprietären Sonicwall und Fortinet mögen unbrauchbar sein, aber auch die freie pfSense ist nicht frei von Macken. Eine perfekte Firewall-Lösung existiert auf diesem Planeten schlicht nicht.

Im Original findet sich die Lösung hier.

Sonicwall Rant

^ v M ><
Meine Verachtung für proprietäre Netzwerk"sicherheits"produkte ist über die letzten Tage wieder deutlich gestiegen. Objekt meines diesmaligen Hasses ist der Müll von Sonicwall, der sich somit von mir aus gleich auf neben Fortinet auf der Elektroschrotthalde einfinden darf.

Und zwar ging es darum, zwei bisher als Single Point of Failure betriebene Dienste mittels bestehender Loadbalancer-Infrastruktur auf Basis von Keepalived zu ausfallsicheren Clustern zu verbinden. Soweit so einfach, die redundanten Server installiert (bzw den Hot Standby auf Funktionstüchtigkeit überprüft), dem Loadbalancer zwei neue Virtual IPs hinzugefügt und die jeweiligen Maschinen zu Clustern verbunden.

Ein kurzer interner Funktionstest zeigt: Tut perfekt.

Als nächstes werden die geclusterten Dienste öffentlich freigegeben, dafür muss erstmal ein weiteres Loch in die Firewall gestanzt werden. Keine Sache für den ersten Cluster (erste virtuelle IP) und eigentlich auch nicht für den zweiten Cluster (zweite virtuelle IP). Als nächstes erfolgte natürlich der Funktionstest von extern, was beim ersten Cluster schlagartig mit Erfolg beschieden war.

Nicht so aber beim zweiten Cluster. Da war einfach keine Verbindung zu erstellen. Nun, woran könnte das liegen? Die Firewall-Regeln sahen alle gut aus, hmmm, kann das am Cluster liegen? Das ist ja doch eine komplexe Konfiguration mit Anpassungen auf Seiten des Loadbalancers und den geclusterten Maschinen. Also nochmals rigoros alles überprüft. Schaut gut aus. Und intern funktioniert's ja. Also doch die Firewall? Nochmals die Regeln überprüft... Mir sagen lassen, dass ich halt die Firewallregel irgendwie(tm) falsch erstellt hätte und sie nochmals prüfen solle. Gut. Nochmals unnötig Zeit auf die Überprüfung der Firewallregeln verschwendet. Die sehen einfach(tm) identisch zum anderen neuen Dienst aus. Die Regeln und das Netzwerk-Objekt gelöscht. Die Regeln und das Netzwerk-Objekt neu erstellt. Mir erneut sagen lassen, dass wohl die Regeln irgendwie(tm) falsch erstellt seien, da Sonicwall sowas ja noch nie gemacht hätte. Weiter am Loadbalancer debuggt und mit tcpdump und telnet herumgespielt. Erwartetes Ergebnis: Der Verbindungsaufbau von extern erreicht nicht einmal den Loadbalancer. Also zurück zur Firewall...

Und dann habe ich folgenden Versuch unternommen: Die Cluster-IP wurde von xxx.xxx.xxx.xxx zu xxx.xxx.xxx.xxy geändert. Danach wurde in der Firewall das Netzwerk-Objekt ebenfalls auf diese IP angepasst (also die eigentliche Regel habe ich nicht angefasst). Und zuletzt nochmals einen Test von aussen gefahren: BOOM! Katsching! Zugriff!

Als nächstes habe ich folglich *sämtliche* Firewallregeln darauf überprüft, ob sie Einfluss auf die zuerst genutzte IP haben könnten. Ich bin nicht fündig geworden.

Mit anderen Worten: Die bescheuerte Sonicwall diskriminiert ohne wirklichen Anlass eine gewisse IP-Adresse. Aber hey, was ist von einem Produkt zu erwarten, dessen Name mit NSA beginnt? Vermutlich sah die IP-Adresse einfach zu arabisch aus. Die ist ja schliesslich komplett in arabischen Ziffern notiert....

Jedenfalls verdient Sonicwall für solche Bugs in ihren überteuerten Produkten von mir einen Mittelfinger und ein "Fuck You", das Linus Torvalds Mittelfinger gegen nVidia wie einen Kindergeburtstag aussehen lässt. Es kann nicht angehen, dass meine teure Lebens- und Arbeitszeit verschwendet wird und versucht wird mein Selbstvertrauen kaputtzumachen.

Line Messenger unter (Debian) Linux mit Pidgin

^ v M ><
Um Kontakt nach Fernost zu halten, bestand die Notwendigkeit einer Messenger-Lösung, die auf Mobilgeräten und Desktops (und zwar idealerweise als Plugin für Pidgin) läuft, Videotelefonie beherrscht und nicht von Microsoft stammt. Somit fällt Skype weg, da unterdessen zum Evil Empire aus Redmond zugehörig. WhatsCrap fällt auch weg, da nicht (legal) abseits eines einzelnen Mobilgeräts nutzbar. Viber fällt auch weg, da von keiner der bestehenden Parteien genutzt. XMPP hat seine lieben Probleme mit der Videotelefonie (und wird ausserdem nur von mir, nicht aber den Gegenparteien genutzt... seufz...).

Die Desktop-Anforderung ist für mich ein zwingendes Argument, da mir die Fummelei auf dem Telefon einfach zu mühsam ist. Ausserdem will ich nicht alle paar Sekunden die Hände von der Tastatur nehmen und das Gerät wechseln. Der Wechsel zwischen produktiver Arbeitsumgebung und Messenger ist gerade noch akzeptabel.

Die Notlösung hierfür heisst "Line Messenger" aus Korea, ist in Japan super populär und die Verwendung unter Linux selbstverständlich ein Gefrickel ohne offizielle Absegnung. Aber immerhin gibt es ein inoffizielles Plugin für Pidgin. Dessen Installation funktioniert relativ gut gemäss Anleitung auf der verlinkten Seite (code_name bei Debian ist stable, testing oder unstable, bei Ubuntu der jeweilige Release-Name, d.h. trusty, vivid oder wily). Ein paar Worte zur Einrichtung wären aber nicht verkehrt gewesen...

Zuerst muss man Line auf einem Mobilgerät installieren, ein Konto erstellen und damit Online gehen. Als nächstes muss eine Email-Adresse verknüpft werden, das macht man durch Klick auf das Icon [...] rechts oben, dann die Einstellungen (das Zahnradsymbol gleich unter [...]), "Account" und "Email Account Registration". Dort trägt man eine eigene Email-Adresse ein und vergibt ein Passwort dafür. Wichtig: Keinesfalls das Passwort des Email-Kontos angeben! Man erhält nun eine Email mit einem Verifikationscode, welchen man in der App eingeben muss.
Zuletzt muss man auf Privatsphäre verzichten und unter "Chats & Voice Calls" die Option "Letter Sealing" deaktivieren. Dies ist die Ende-zu-Ende-Verschlüsselungsoption von Line, die purple-line leider noch nicht unterstützt. Andererseits handelt es sich bei Line um eine rein proprietäre Anwendung, daher gilt eh jede dort implementierte Verschlüsselung bestenfalls als "Security By Obscurity" ohne nachweisbaren Wert!

Nun startet man Pidgin mit installiertem Line-Plugin. Unter Accounts -> Manage Account -> Add... muss folgendes eingetragen werden:
Protocol: Line
Username: Die mit dem Line-Konto verknüpfte Email-Adresse
Password: Das in der App gesetzte Passwort zu dieser Email-Adresse
[x] Remember password
Nach Klick auf Add wird das Konto hinzugefügt und verbunden. Beim ersten Verbindungsversuch poppt ein Fenster mit einem Verifikationscode auf, der innert drei Minuten in der App eingetragen werden muss. Es dauerte bei mir jedoch rund eine Minute, bis das entsprechende Popup auf dem Mobilgerät erschien.

Anschliessend ist Line auch vom Desktop-Computer aus chatbereit. Es gibt jedoch einige Einschränkungen des sich in in sehr langsamer Entwicklung befindlichen Plugins: neben der fehlenden E2E-Verschlüsselung ist ausschliesslich Text-Chat möglich, d.h. keine Audio- oder Videotelefonate. Für diese muss weiterhin auf die mobile App zurückgegriffen werden. Abbrüche der Internetverbindung werden nicht erkannt und man bleibt scheinbar verbunden. Als Presence-Status gibt es ausschliesslich die Wahl zwischen Online/Available oder Offline (kein Away). Bilder können nicht verschickt, sondern nur empfangen werden. Diese werden dann auch nur angezeigt, wenn sie einzeln empfangen werden. In Text eingearbeitete Icons werden nicht korrekt dargestellt.

Let's Encrypt

^ v M ><
Heute habe ich auf dem Server neue SSL-Zertifikate von Let's Encrypt installiert. Bislang habe ich selbstsignierte Zertifikate genutzt, um sichere Übertragung zu ermöglichen ohne dafür unverschämte Mengen Geld an dubiose Certificate Authorities zum Fenster hinauswerfen zu müssen. Let's Encrypt bietet kostenlose Zertifikate an und wird von den wichtigsten Browserherstellern unterstützt. Somit sollte nichts mehr dagegen sprechen, mein Blog über https aufzurufen.

Vorteil: Die NSA kann nicht mehr wissen, was genau gelesen wird :-)

Hotel WLAN

^ v M ><
WLANs in Hotels sind meist einfach nur ein Ärgernis da oft nicht zu gebrauchen. Folgende Kategorien von Hotel-WLANs habe ich unterwegs angetroffen:
  • ohne WLAN: sehr selten, aber das gibt es nach wie vor.
  • Besonders schön fand ich die Episode der Unterkunft, die zwar WLAN hatte, aber "nicht für die Gäste". Auf meine Rückfrage, warum sie dann ein zweites WLAN mit Namen "Guest1" betreiben, kam die Antwort, dass sie das Passwort dafür nicht wüssten...
  • kostenpflichtiges WLAN: sehr populär, insbesondere sind die Preise dann meist so hoch, dass ein halber Tag surfen mehr kostet als eine SIM-Karte mit Datenpaket für einen Monat.
  • WLAN nur in bestimmten Bereichen: geizige Hotelliers haben irgendwo im Keller einen einzelnen WLAN-Accesspoint, der mit etwas Glück den Bereich rund um die Reception abdeckt. (vermutlich heisst es "Reception", weil man nur dort WLAN Empfang hat...)
  • WLAN, das gar nicht funktioniert: Das kommt dann in allen möglichen Farben daher: Mal kann man gar nicht verbinden. Dann kann man zwar verbinden, bekommt aber keine IP-Adresse. Oder es klappt soweit alles mit der Verbindung, nur ist das WLAN scheinbar nicht ans Internet angeschlossen.
  • WLAN, das nur zeitweise funktioniert: Das ist einer der grossen Favoriten. Das WLAN funktioniert nur ein paar Minuten lang, danach fällt es wieder für einige Stunden aus.
  • WLAN, das unbrauchbar langsam ist: Dies ist wohl die Standardkonfiguration. Das WLAN ist so unerträglich langsam, dass kaum etwas funktioniert. Meist dürfte das an zu geringer Bandbreite und billigster Hardware liegen, die einfach nicht genügend Leistung hat, um die vielen gleichzeitigen Verbindungen von dutzenden Smartphones (die ja jede Menge Hintergrundrauschen produzieren) vernünftig handhaben zu können. Auf den Philippinen liegt das jeweils daran, dass das Hotel-WLAN mangels Verfügbarkeit von kabelbasierten Internetanschlüssen ein MiFi-Accesspoint ist, der Zugang zum eh schon komplett überlasteten Mobilfunknetz des Landes bietet.
  • WLAN, das tatsächlich funktioniert. Kostenlos. Ja, das gibt es. In sehr, sehr seltenen Fällen.
Und natürlich können Hotels auch WLANs haben, die in mehreren Gruppen zugleich sind (z.B. nur in gewissen Bereichen und gar nicht funktionierend...).

Aus diesem Grund lege ich mir in jedem Land als erstes immer eine SIM-Karte zu. Wenn man weiss, was man braucht, kostet das nämlich nicht viel und schont die Nerven. Als Kaufhilfe bietet sich dieses phänomenale Wiki an!

s9y Twitterplugin Hack für Vermeidung von SSL

^ v M ><
Das Twitter-Plugin für mein Blog kündigt neue Einträge auf Twitter an, von wo sie dann wiederum auf Facebook veröffentlicht werden können. Leider mit einem Nachteil: Es wird immer das Schema verwendet (also http oder https), womit auch der Eintrag erstellt wurde. Es ist somit nicht möglich, für die Veröffentlichung http oder https zu erzwingen. In meinem Fall wäre es schön, wenn immer eine URL beginnend mit http:// verwendet werden würde, da ich zwar die Einträge über das verschlüsselte https:// schreibe, dafür aber ein selbstsigniertes Zertifikat benutze, das bei anderen Leuten eine Fehlermeldung im Browser erzeugt. Dies möchte ich nicht ändern, da kostenpflichtige Zertifikate einfach zu teuer sind, kostenlose Zertifikate wie z.B. von StartSSL meinen Ansprüchen nicht genügen und ich bei Mozilla's Let's Encrypt nicht wirklich Lust habe, Skripte zu installieren, die mir zuletzt noch die Webserver-Konfiguration zerschiessen.

Lösung: Ein schneller Hack des Plugins, um die veröffentlichte URL auf http:// festzunageln. Nachteil: Wenn ich das Plugin aktualisiere, muss ich daran denken, den Hack erneut vorzunehmen.

In der Datei serendipity_event_twitter.php muss in der Funktion generate_article_url die Zeile
$server = $urlparts['scheme'] . '://' . $urlparts['host'];
ersetzt werden durch:
$server = 'http://' . $urlparts['host'];

Dieser Eintrag dient mal wieder der Dokumentation und als Erinnerung an mich selbst, sowie als Erklärung für alle die sich wundern, warum der Artikel über Kuala Lumpur sich ohne Fehlermeldung aufrufen lässt :-)

Mobiles Internet in der Schweiz

^ v M ><
Dass mobiles Prepaid Internet eines der grössten First World Problems darstellt, hatte ich anhand der Beispiele Deutschlands und Schwedens bereits gezeigt. In der Schweiz ist das selbstverständlich auch kein Bisschen anders. Man muss hier schliesslich mit der EU-Norm in autonomem Nachvollzug Schritt halten.

Teil eins: Wechsel vom Abo zu Prepaid, inklusive Nummernportierung.
Irgendwann hatte ich die Schnauze voll von überteuerten Abos, deren Inklusivleistungen ich eh nie benutze. Und nachdem sich der "Support" und Verkaufsabteilung meines Providers schon mehrfach eher negativ ausgezeichnet hatten (wenn ein Telekommunikationskonzern etwas nicht beherrscht, dann ist es Kommunikation), war klar, dass beim nächsten Ablauf des Abos gewechselt wird, und zwar auf Prepaid. Ewige Bindung ist nämlich sowas von 19tes Jahrhundert.

Nach ein Bisschen Recherche und Analyse des Schweizer Mobilfunkmarktes bin ich zum Schluss gekommen, dass das Angebot der Migros meinen Anforderungen am besten entspricht. Also gute zwei Monate vor der nächsten Verlängerung des Abos (so lange war die Kündigungsfrist) habe ich die erste Migros-Filiale aufgesucht und nach SIM-Karten gefragt. Gibt's hier nicht im Sortiment, ich muss in die nächste Filiale. Na gut, wieder aufs Velo gestiegen und weitergeradelt. Am zweiten Ort bin ich dann erstmal fündig geworden. Die Dame vom Kundendienst war schon drauf und dran die Karte für mich zu registrieren, als ich mich doch noch ganz unschuldig erkundige, ob das denn auch eine Micro-SIM sei. Nein, das gäbe es in dieser Filiale nicht, hier gibt es nur normalgrosse SIMs ohne Möglichkeit, eine Micros-SIM auszubrechen. Der Grund dafür sei, dass kaum jemand mit Smartphone eine Prepaid-Karte brauche. Tolle Wurst von Begründung. Stattdessen müsste ich ins Glattzentrum radeln.
Der Migros-Kundendienst im Glattzentrum verwies mich dann direkt zum M-Electronic, wo mir ein Verkäufer auch gleich eine passende Micro-SIM-Karte in die Hand drückte. Wohlgemerkt, eine Micro-SIM im Normal-SIM-Adapter. Aha. Kann man sowas nicht einfach als Standard in allen Filialen anbieten? Egal. Ich durfte nun eine geschlagene halbe Stunde warten, bis sich endlich der zuständige Sachbearbeiter dazu bequemte, mich meines Anliegens anzunehmen und die Karte für mich zu registrieren. Dabei wurde auch ein Termin für die Nummernportierung festgelegt, nämlich auf das Datum, an welchem mein bestehender Vertrag auslaufen wird.

Ich erwähnte dabei explizit, dass die Karte nun bis zur Ablauf des alten Abos ungenutzt bleiben würde. Dennoch fragte der Verkäufer, ob er die Option "my country" für 3 Franken pro Monat und die Datenoption für 5 Franken pro Monat gleich aktivieren sollte. Ob das denn möglich sei, dass die Optionen erst in zwei Monaten aktiv werden? Nein, natürlich nicht. Ich würde also 16 Franken darauf ausgeben, ohne es zu brauchen. Guter Mann, haben Sie mir überhaupt zugehört? Folglich wurde das Angebot von mir direkt abgelehnt.

Nun bin ich nach getaner Aktion, die nur 2 Stunden verschwendet hat und mich ca 15km auf dem Velo absolvieren liess (statt eingeplanter 1km Fahrt und 15 Minuten Aufwand...) also mit Micro-SIM und geplanter Nummernportierung nach Hause gekommen und habe 2 Monate gewartet. Kurz vor dem Portierungstermin erhalte ich ein SMS, dass die Portierung doch erst 3 Tage später stattfinden würde. Auch OK, bin ich halt 3 Tage nicht unter gewohnter Nummer erreichbar, da der Vertrag pünktlich auslaufen wird. Folglich habe ich am Tag des Ablaufs des alten Vertrags die alte SIM aus dem Telefon entfernt und die neue eingelegt. Da ich mobiles Internet benötigte, wurde auch gleich die Mobildatenoption inklusive automatischer Erneuerung alle 30 Tage aktiviert. Soweit so gut. Drei Tage später fand dann auch wie angekündigt die Nummernportierung erfolgreich statt. Ich war positiv überrascht und glücklich.

Einige Wochen später, an einem Tag intensiver Datennnutzung (mein Kabelanschluss war ausgefallen), war plötzlich das ganze Prepaid-Guthaben schlagartig aufgebraucht. Ein Blick ins Kundenportal zeigte, dass zwar die Mobildatenoption aktiviert wurde, aber dennoch nicht eingeschaltet war. Empört den Kundendienst angerufen und der Dame das Problem erklärt. Das hat erstmal ein Bisschen gedauert, da die Dame aus irgend einem Grund die ganze Zeit verstanden hatte, dass mein Telefon übermässig viel Datenverkehr erzeugt hätte ("das ist ein Computer, den müssen sie regelmässig neu starten." "wie bitte, was hab Ihr für ein Abrechnungssystem, dass den Neustart des Clients erfordert???"). Irgendwann hat sie dann mein Problem doch verstanden, und anscheinend war die Ursache, dass die Mobildatenoption zwar aktiviert wurde, aber durch die Nummernportierung wieder verloren ging. Folglich wurde mir ohne weitere Umstände das abgebuchte Guthaben wieder gutgeschrieben. All das.

Teil 2: Wechsel des Prepaid-Providers.
Leider war ich bei der Migros nun mit dem Kundendienst und dem Abrechnungsmodell hochzufrieden, nicht aber mit der Netzabdeckung. Bekanntlich nutzt Migros das beste Netz wos je hets gits, nämlich Swisscom. Deren Abdeckung ist auch schweizweit top, ausser in meiner Wohnung. Ja toll. Daheim kann ich kaum telefonieren, da der Gegenüber nicht zu verstehen ist.
Mit dem Netz des früheren Providers war ich zwar unterwegs nur mässig zufrieden, dafür war's zuhause immer top. Folglich wurde nach fast einem halben Jahr der Versuch gestartet, wieder zurückzuwechseln, jedoch keinesfalls direkt zu diesem Provider sondern einem seiner vielen MVNOs, Aldi Mobile in diesem Fall. Also rasch das Antragsformular auf der Webseite ausgefüllt und an die nächstgelegene Filiale senden lassen. Dann wieder aufs Velo gestiegen und hingefahren, um mir was wohl anzuhören? Richtig, keine Karten vorhanden. Mhm. OK. Also da erwarte ich eigentlich schon ein minimales Lagerverwaltungssystem, das mir online beim Antrag ausfüllen eine Warnung ausgeben kann, wenn die Karten in der gewünschen Filiale ausgegangen sind. aber hey, ich bin halt nur Informatiker und habe Ideen, wie man Computersysteme konkret einsetzen könnte (dabei weiss doch jeder: Computer sind nur dazu da, um auf Facebook den "Like"-Button anzuklicken). Zur Strafe habe ich die Filialleiterin also in die umliegenden Filialen anrufen lassen, ob denn irgendwo noch eine Karte vorhanden wäre. Das hat auch auf Anhieb geklappt, also weiter zur nächsten Filiale. Dort wurde mir auch tatsächlich die Karte ausgehändigt. Und zwar nicht nur irgend eine Karte, sondern eine Multiformatkarte zum passend ausbrechen: Normal, Mini, Micro. SO sollte das doch überall sein.

Tatsächlich ist dann auch die Nummernportierung zum von Anfang an festgelegten Termin erfolgt. Und bis jetzt bin ich zufrieden, zuhause kann ich wieder telefonieren.

Erste Schritte in Bitcoin?

^ v M ><
Es ist zu kompliziert. Wenn sogar ich das sage, ist das Produkt gescheitert. Punkt.

Die Installation und Konfiguration eines Wallet ist nun wirklich keine grosse Übung. So weit war ich schnell. Damit das was nutzt, brauche ich aber ein paar Bitcoins.

Es folgte also mein erster Versuch, einige Micro-Bitcoins käuflich zu erwerben. Folgende Kriterien habe ich angewandt:
- Es muss schnell und einfach möglich sein. (Ich nehme an dieser Stelle das Fazit vorneweg: Tja, leider geht das schon mal gar nicht).
- Ich will eine vollständig elektronische Abwicklung übers Internet. Keine Zustellung per Briefpost, die Wochen dauert und zuletzt noch von der Schweizer Post verschlampt wird.
- Ich will mit Kreditkarte bezahlen können und mir kein Gefummel mit SEPA-Überweisungen antun. Das reduziert die Auswahl an Bitcoin-Börsen schon mal massiv.
- Ich will einen Kleinstbetrag (max 10 Franken/Euro/US Dollar) in Bitcoin umwandeln.

Dennoch gibt es im Prinzip ja genug Handelsplätze

Nun gut, einige habe ich getestet.
- bittylicious.com: Um Bitcoins im Wert von 5GBP zu erwerben, muss ich in einem umständlich zu bedienenden Formular nicht nur Name, Wohnort, Geburtsdatum und Nationalität angeben, sondern auch eine Telefonnummer. Danach kann ich anfangen, Kopien meiner Identitätsdokumente hochzuladen. Nein Leute, so weit vertraue ich euch leider nicht. Da braucht ihr als erstes ein EV-SSL Zertifikat (das sind die im Browser grün angezeigten).
- bitcoininsanity.com: Mir springt auf der Anmeldeseite ein seit Mai abgelaufenes SSL-Zertifikat entgegen. Nein danke.
- coinmama.com: Signup nicht möglich, es gibt eine Fehlermeldung. Irgendwie wurde zwar ein Konto registriert, beim zweiten Versuch erscheint nämlich die Meldung, dass das Konto bereits existiere. Auf das Email, das mir bei der "Passwort vergessen" Anfrage zugestellt werden soll, warte ich noch immer. Und tschüss.
- coin.mx: Das Bestätigungsmail enthält verborkte Links, die man nicht anklicken kann, sondern per copy/paste in den Browser übertragen muss. Nach Anmeldung wird einem erst mal vorgehalten, dass man 10$ Mitgliedschaftsgebühr bezahlen soll. Und tschüss.

Da muss ich halt doch mal ins Kafi Schoffel. Ich hoffe nur, der Bitcoin-Automat steht noch immer dort. Und funktioniert dann auch...

Mobiles Internet in Deutschland

^ v M ><
Gelegentlich tritt man ja über die Grenze des geheiligten Heimatlandes und betritt den gefährlichen Boden des Nachbarn. Gefährlich, weil man dann mit Roaminggebühren gnadenlos geschröpft wird. Aber hey, die Abhilfe heisst da wie immer: lokale SIM-Karte kaufen. Nix ist einfacher.

Da ich nur für ein paar Stunden in Deutschland war, habe ich im Vorfeld kurz geschaut, welcher Tarif denn optimal wäre und wo ich die passende SIM in der Gegend meines Aufenthaltortes kriegen sollte. Die Recherche ergab, ein grösseres Einkaufszentrum in Nähe des Hotels müsste sowas führen. Also gleich hin und rumgefragt, wo man das denn kriegen könnte, nämlich an der Kasse. Dort geschaut. Ja, SIM-Karten diverser uninteressanter, da für meinen Bedarf zu teurer Anbieter gibt es wie Sand am Meer, nur das gewünschte fehlt. Der Kassierer meinte daraufhin, ich sollte mich doch mal an die Kundeninformation wenden.

Gut, dorthingegangen und die Dame gleich mal überfordert: "Hach, da fragen Sie mich aber was!!!". Sie ruft in der Zentrale an und drückt mir den Höhrer in die Hand, ich solle doch am besten selbst sagen, was ich denn brauche: "Ein SIM-Karte von X." Rückfrage: "Also Guthaben? Ja das haben wir." Ich: "Nein, die eigentliche SIM." Antwort: "Da muss ich an der Zentralkasse nachfragen. Ich rufe zurück."

5 Minuten später dann die Antwort: "Leider ausverkauft."

Aaaaaaaaaaaaaaaaargh! Wird das jetzt zum Running Gag oder was?

Eigene Root-CA zu Chrome/Chromium hinzufügen

^ v M ><
Da hat sich Google doch einige Mühe gegeben, das Prozedere möglichst umständlich zu gestalten. Für Debian gilt:
als root:
aptitude install libnss3-tools

als user:
wget http://example.com/example-ca.crt
certutil -d sql:$HOME/.pki/nssdb -A -t"C,," -n example.com -i example-ca.crt

Und danach Chromium neu starten.

Mehr Parameter und generelle Instruktionen gibt's hier

In Firefox geht das Klickibunti!