Samstag, 27. August 2016

Auf dem Laptop einen Web-Server aktivieren, um Dateien auf ein iPad und iPhone herunterzuladen

In den Ferien stand ich vor dem Problem, eine ca. 50 MB grosse Datei (Teneriffa-Reiseführer von Lonely Planet) von meinem Laptop auf mein iPad und mein iPhone zu kopieren.

Ein Versand per E-Mail war aus zwei Gründen ausgeschlossen: Mein Mail-Server akzeptiert solch grosse Dateien gar nicht erst, und ausserdem verfügte unser AirBnB nur über ein popeliges ADSL-Modem mit Geschwindigkeiten um die Jahrhundertwende. Das Modem hätte mich dementsprechend zuerst mit einem extrem langen Upload zum Mail-Server und anschliessend mit einem extrem langen Download vom Mail-Server genervt. Zu guter Letzt unterstützt mein MacBook auch kein AirDrop, um Dateien per Bluetooth oder WLAN zwischen iOS und OS X-Geräten auszutauschen.

Was nun? Das standardmässige unter OS X installierte Python eilt einem zur Hilfe: Man öffnet das Terminal, navigiert zum Verzeichnis, in welcher sich die gewünschte Datei befindet, und gibt dann folgenden Befehl ein:

$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

Nachdem man mittels ifconfig oder dem Network-Modul unter System Preferences die IP-Adresse des Laptops ausfindig gemacht hat, surft man auf den iOS-Geräten die folgende URL mit Safari an:

http://10.1.2.3:8000/

Ein Klick auf den Dokumentenlink, und innert weniger Sekunden wird das grosse PDF angezeigt und kann in iBooks gespeichert werden.

Python meldet auf der Kommandozeile dabei Folgendes:

10.25.9.220 - - [04/Jul/2016 10:14:18] "GET / HTTP/1.1" 200 -
10.25.9.220 - - [04/Jul/2016 10:14:20] "GET /canary-islands-6-whole-book.pdf HTTP/1.1" 200 -
10.25.9.208 - - [04/Jul/2016 10:15:12] "GET / HTTP/1.1" 200 -
10.25.9.208 - - [04/Jul/2016 10:15:18] "GET /canary-islands-6-whole-book.pdf HTTP/1.1" 200 -
10.25.9.235 - - [04/Jul/2016 10:15:57] "GET / HTTP/1.1" 200 -
10.25.9.235 - - [04/Jul/2016 10:16:03] "GET /canary-islands-6-whole-book.pdf HTTP/1.1" 200 -

Tags: , , , ,
Labels: Apple, Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

SNMPd schreibt standardmässig kein PID-Datei mehr

Ein kürzlich erfolgtes Update des SNMPd-Pakets auf meinem Debian-Server hatte zur Folge, dass meine monit-Installation den Service fälschlicherweise als offline meldete.

Dies, weil monit nach der PID-Datei des SNMP-Daemons Ausschau hält, um dessen Prozess-ID auszulesen und auf Existenz zu prüfen. Bei Debian liegt diese Datei unter /var/run/snmpd.pid.

Folgendermassen re-aktivierte ich die PID-Datei:

/etc/systemd/system/multi-user.target.wants/snmpd.service

Vor der Anpassung …

...
ExecStart=/usr/sbin/snmpd -Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f
...

… und nach der Anpassung:

...
ExecStart=/usr/sbin/snmpd -Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f -p /var/run/snmpd.pid
...

Anschliessend folgte noch ein Neustart des Daemons:

# systemctl stop snmpd
Warning: snmpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
# systemctl daemon-reload
# systemctl stop snmpd
# systemctl start snmpd

Und prompt meldete mir monit, dass der Service wieder online sei.

Tags: , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Freitag, 12. August 2016

Nicht alle Google-Kalender werden in Calendar.app auf iOS angezeigt

In solchen Fällen lohnt es sich, mit dem Browser als erstes folgende URL aufzurufen:

calendar.google.com/calendar/iphoneselect

Dort überprüft man, ob man den gewünschten Kalender tatsächlich zur Synchronisation mit iOS-Geräten (iPhone oder iPad) ausgewählt hat.

Quelle: HOW TO SYNC MULTIPLE GOOGLE CALENDARS TO YOUR IPHONE OR IPAD

Tags: , , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Montag, 8. August 2016

Spuren eines Abfallsünders

In meiner Metamorphose zu einem Schweizer-Bünzli bin ich beim nächsten Meilenstein angelangt: Ich rege mich tödlich ab den Abfallsündern auf, welche an der Glas- und Alusammelstelle an der Brunnmattstrasse hier in Bern ihren ganzen Hauskehricht liegen lassen.

Ich meine wie bescheuert muss man sein, den eigenen Abfall aus der Wohnung zur Recyclingstelle zu tragen und dann dort zu deponieren?

Heute war ich wieder mal vor Ort und habe unseren Glasabfall entsorgt. Mir fiel bei der Ankunft an den Containern sofort eine Denner-Papiertragetasche auf, welche bis oben mit leeren PET-Flaschen gefüllt war.

Da ich so oder so noch auf dem Weg ins Coop Brunnmatt war, um unsere PET-Flaschen zu entsorgen, nahm ich die Tragetasche kurzerhand mit. Beim Entleeren fiel mir auf, dass der Besitzer der Tragetasche einen zerknüllten Einkaufszettel zurückgelassen hatte:

Abfallsünder Einkaufsbeleg Denner 3008 Bern
image-6841

Welche Erkenntnisse ziehe ich aus diesem Beweismittel?

  • Die Person kauft im Denner ein.
  • Die Person — und/oder deren Familie — scheint Unmengen an Parfumreis-Reis zu konsumieren (2 Säcke à 1 Kilogramm).
  • Auch Milch ist hoch im Kurs (2 Liter).
  • Und dem Alkohol ist die Person ebenfalls zugeneigt (5 Dosen à 5 Deziliter)
  • Die Person scheint ohne Tragetaschen einkaufen zu gehen, weshalb sie im Laden selber ein Tasche kaufen muss.
  • Die Person ist ein skrupelloser Abfallsünder: Sie muss die leeren PET-Flaschen wenige Minuten nach ihrem Einkauf heute um 19:28 Uhr — am hellichten Abend — entsorgt haben; ich war gegen etwa 19:40 Uhr an der Entsorgungsstelle.
  • Das schlimmste am Ganzen: Sowohl der Denner als auch das benachbarte Coop haben PET-Sammelstellen. Im Laden drin.
  • Die Person bezahlt nicht bar, sondern besitzt eine EC Maestro-Karte mit den Endziffern XXXX XXXX XXXX XXX0 746
  • Die Person besitzt folglich ein Bankkonto.
  • Interessant ist der Passus “Débit” der Kartenbuchung — bei meinen Einkäufen steht dort “Buchung”. Ich gehe davon aus, dass die Person französischsprachig ist.

Tags: , , , , , ,
Labels: Bern, Gesellschaft, Leben

Keine Kommentare | neuen Kommentar verfassen

Montag, 1. August 2016

Unbekannte Kreditkartenbelastung

Nach unserer Rückkehr von unserer Weihnachtsreise nach Israel ging ich Ende Januar 2016 wie jeden Monat die Kreditkartenabrechnung durch.

Bei einer der aufgeführten Transaktion stockte ich, da ich mir nicht erklären konnte, wo ich was mit der Kreditkarte eingekauft hatte:

Gama Management and Clear Tel Aviv
image-6834

Tel Aviv? An dem Tag weilten wir am Morgen zwar noch in Tel Aviv, waren aber zum Zeitpunkt der Buchung längst in Jerusalem angekommen. Ausserdem sagte mir “Gama Management and Clear[ing]” rein überhaupt nichts. Eine säuberlich aufbewahrte Quittung fand sich in meinen Unterlagen auch nicht, was den Fall weiter verdächtig machte. Immerhin ergab sich aus dem Bloomberg-Porträt des Unternehmens die Erkenntnis, dass es sich wohl um einen israelischen Kreditkarten-Acquirer handeln muss.

Ein Anruf bei der Hotline des Kreditkartenherausgebers half mir nicht weiter, da die Hotline-Mitarbeiter in ihren Applikationen offenbar auch nur diejenigen Angaben zu einer Buchung sehen, welche ich bereits in der Smartphone-App hervorgeholt hatte. Eine Nachforschung nach einem Kaufbeleg sei nicht möglich; stattdessen bot man mir an, die Transaktion zu stornieren, meine bisherige Kreditkarte als ungültig zu erklären und mir kostenlos eine neue Kreditkarte auszustellen.

Da ich die Kreditkarte vielen Shops im Internet hinterlegt habe, fand ich das keine so tolle Idee, verstand aber die Motivation dahinter auf Anhieb: Für das Kreditkartenunternehmen kommt diese Massnahme deutlich günstiger, als mühsame Nachforschungen für Kunden durchzuführen. Ich lehnte das Angebot höflich ab, teilte der Mitarbeiterin mit, dass ich selber versuchen würde, Nachforschungen zu tätigen, und legte den Anruf auf.

Mittels Foursquare-Checkins (Zeitzonenumrechnung nicht vergessen!) hatte ich bereits vor dem Anruf eingrenzen können, dass die Transaktion in der Alrov Mamilla Avenue, einer Shopping-Mall amerikanischer Prägung, stattgefunden haben musste. Die Mall war 10 Fussminuten von unserem damaligen Hotel, dem Dan Panorama, entfernt.

Kaum hatte ich aufgelegt, kam meine Frau nach Hause. Ich erzählte ihr von der unbekannten Buchung und fragte sie, ob sie sich an eine Kreditkartenzahlung in dieser Mall erinnern konnte. Wie aus der Kanone kam aus ihr herausgeschossen: “Ja, da ich mein Portemonnaie im Hotel vergessen hatte, hast du mir doch im Zara einen Schal bezahlt … Weisst du nicht mehr?”.

Tags: , , ,
Labels: Reisen

Keine Kommentare | neuen Kommentar verfassen

Montag, 1. August 2016

WebEx benötigt keine Admin-Rechte

Die Verwendung der WebEx Screen Sharing-Lösung im Geschäftsalltag benötigt keine Administratorenberechtigungen.

Klickt man auf einen Sitzungs-Link, wählt man einfach den im unteren Teil der Homepage schlecht erkennbaren Link “Run a temporary application”.

WebEx Run temporary application
image-6828

Die zum Download angebotene Datei führt man mittels Klick auf “Run” aus.

WebEx Run or Save
image-6829

Der Browser frägt nach der Installation einer .cab-Datei, welche ich freundlicherweise abgelehnt habe — es klappt auch ohne. Nach etwa 30 Sekunden war ich im Testmeeting.

Testen kann man das am Besten auf der von Cisco freundlicherweise bereitgestellten Test-Seite unter Test a WebEx meeting on your device.

Tags: ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Montag, 1. August 2016

Twitter-Spammer blocken

Das geht ganz einfach, wenn man sich vowes (kürzlich aktualisierter) Liste bedient:

vowe Twitter Spammer
image-6825

Quelle: Updated list of impolite Twitter spammers

Tags: , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Montag, 1. August 2016

Zeichensatz einer .srt-Datei erkennen und nach UTF-8 konvertieren

Heute bin ich einer .srt Untertitel-Datei eines Films aus Asien über den Weg gelaufen, welche in VLC nur Zeichensalat anzeigte:

srt Subtitle SHIFT-JIS
image-6816

Ziel war es, diese Untertitel-Datei mit iconv in UTF-8 zu konvertieren. Doch bevor ich damit beginnen konnte, musste ich herausfinden, wie der Ursprungszeichensatz hiess.

Glücklicherweise existiert genau für solche Fragestellungen ein Python-Modul, welches einem das Rätselraten abnimmt. Das Modul heisst chardet, welches ich kurzerhand mittels MacPorts installierte:

# port install py27-chardet

Auf Grund einer Unterlassung früherer Tage musste ich einmalig noch das Python auswählen, welches auf der Kommandozeile standardmässig ausgeführt wird:

# port select --set python python27

Via: ImportError: No module named gnuradio

Anschliessend konnte ich die Untertitel von Python parsen lassen:

$ python -c 'import chardet,sys; print chardet.detect(sys.stdin.read())' < Sugihara\ Chiune.srt
{'confidence': 0.99, 'encoding': 'SHIFT_JIS'}

Via: How to auto detect text file encoding?

Bewaffnet mit dieser Information konnte ich nun iconv zu Hilfe ziehen:

$ iconv -f SHIFT-JIS -t UTF-8 Sugihara\ Chiune.srt > Sugihara\ Chiune.UTF-8.srt

Quelle: Japanese Encoding Conversion

Das Resultat sah nun so aus:

srt Subtitle UTF-8
image-6817

Tags: , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Montag, 1. August 2016

Automatische Alarmierung bei Verkaufsstart eines Apple-Geräts

Als Apple im Frühjahr 2016 das iPhone SE vorstellte, war für mich klar, dass ich mich (endlich) so rasch als möglich von meinem in die Jahre gekommenen iPhone 5s trennen würde.

Das Datum des Verkaufsstarts in der Schweiz war bald nach Apples Ankündigung bekannt (der 29. März 2016), doch wann genau das Gerät über den Apple Online Store bestellbar sein sollte war mir nicht klar (mittlerweile weiss ich es: 9 Uhr morgens, Schweizer Zeit).

Kurzerhand richtete ich mir am Tag vor dem angekündigten Verkaufsstart deshalb auf Pingdom einen Check auf die Produkteseite im Apple Store ein. Pingdom ist ein Dienst, der die Verfügbarkeit einer Web-Site alle 5 Minuten prüft und verfügt als “Bonus” die Möglichkeit, nach einem String in der HTML-Antwort des Web-Servers zu suchen.

Im vorliegenden Fall machte ich mir die Möglichkeit eines “Transaction Checks” zu Nutze, mit welchem man konkret definieren kann, welches DOM-Element welchen Text beinhalten sollte.

Ich erfasste die Parameter und konfigurierte, dass mich Pingdom alarmieren sollte, wenn der Text

Derzeit nicht verfügbar

nicht mehr auf der Seite iPhone SE 64 GB Silber angezeigt würde (was ich als Indiz wertete, dass die Bestellfunktion nun aktiviert war).

Der Check sah in der Pingdom-Oberfläche folgendermassen aus:

Pingdom Apple iPhone SE
image-6813

Als DOM-Element machte ich li.as-purchaseinfo-dudeinfo-deliverymsg aus.

Fertig! Und tatsächlich, kurz nach 9 Uhr morgens am 30. März 2016 erhielt ich den Alarm direkt auf mein Smartphone.

Tags: , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 17. Juli 2016

Das jährliche Leid des Mieters mit der Nebenkostenabrechnung

Seit Juni 2012 lebe ich mit Stephanie in unserer ersten gemeinsamen Mietwohnung — es handelt sich zudem auch um mein erstes richtiges Mietverhältnis. Das sind nun bereits vier lehrreiche Jahre …

Abgesehen davon, dass man der Hausverwaltung ständig hinterherrennen muss (aktuelle Beispiele: Austausch Leuchtstoffröhre im öffentlichen Teil des Kellers; seit einem Jahr vergessene, aus dem Boden herausragende Eisenstangen vom Rückbau der Parkplätze vor dem Haus; jährlich wiederkehrend verstopfte Dachkännel) stört mich als ordnungsliebenden Schweizer Bünzli vor allem der Modus für die Rückerstattung der Nebenkostenabrechnungen.

Im 2012 unterzeichneten Vertrag steht:

Mietvertrag Nebenkosten
image-6794

Soweit nichts anderes vereinbart worden ist, erstellt die Vermieterin jährlich eine detaillierte Ge- samtabrechnung, […]

Ursprünglich ging ich davon aus, dass “jährlich” bedeutet, dass die Abrechnung per Ende Kalenderjahr erfolgt. Irrtum! Aus Sicht des Vermieters endet die Rechnungsperiode jeweils am 30. April (ich gehe davon aus, dass dieses Datum das Ende der Heizperiode signalisiert). Aus juristischer Sicht wohl zulässig, da im Vertrag nicht explizit steht “zum Ende des Kalenderjahres”.

Gute zweieinhalb Monate nach Ende der Rechnungsperiode (Mitte Juli) erhalten wir dann jeweils die Abrechnung (es muss extrem aufwändig sein, so eine Abrechnung zu erstellen):

Brief Nebenkostenabrechnung
image-6795

Der Vermieter verspricht, Beträge zu unseren Gunsten Ende August an uns zu überwiesen — Nachzahlungen von unserer Seite gab es in den vier Jahren notabene noch nie:

Saldo zu Ihren Gunsten
image-6796

Während der Vermieter sich für die Auszahlung des Überschusses nach der Abrechnung noch einmal eineinhalb Monate Zeit lässt, wäre man als Vermieter gezwungen, Differenzen (“Saldo zu unseren Gunsten”) innert 30 Tagen zu begleichen:

[…] wobei Unterschiede zugunsten oder zulasten des Mieters innert 30 Tagen nach Vorlage der Abrechnung auszugleichen sind.

Schöne asymmetrische Ausführung von Vertragsbestimmungen.

Doch jetzt kommt der eigentliche Hammer — wann trifft das Geld tatsächlich ein? Ich habe nachgeschaut:

  • 14. Oktober 2013
  • 25. September 2014
  • 2. November 2015

Zusammengefasst:

30. April Ende Rechnungsperiode
Mitte Juli Erhalt Brief Nebenkostenabrechnung
30. August versprochene Überweisung des Überschusses
Ende September-Anfang November effektive Überweisung des Überschusses

Im derzeitigen Tiefzinsumfeld fallen in den fünf bis sechs Monaten zwischen Abrechnung und Auszahlung zum Glück kaum Zinsgewinne an. Störend ist es aber allemal, und festigt in mir die Abneigung gegenüber Liegenschaftsverwaltungen wie auch Miethäuserbesitzer.

Tags: , , , ,
Labels: Leben, Schweiz

Keine Kommentare | neuen Kommentar verfassen