Archiv März 2019

Sonntag, 10. März 2019

pip: pkgcairo: Fehlende Debian-Pakete

Damit pip das Paket pkgcairo installieren kann, müssen auf dem Debian-System folgende Pakete installiert sein:

# apt-get install libcairo2 libcairo2-dev libjpeg-dev libgif-dev python-cairo

Leider halfen diese Pakete auf meinem System auch nicht viel, denn:

...
running build_ext
pycairo: new API
error: pycairo >= 1.11.1 required, 1.8.8 found.

Tags: , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. März 2019

Wo sind die Nobelquartiere im Silicon Valley?

Man kann sich natürlich darüber streiten, ob es nicht einfacher wäre zu sagen, wo im Silicon Valley es keine Reichen gibt (meines Wissens in East Palo Alto und in bestimmten Nachbarschaften von San Jose). Aber wer wissen will, wo die Oberschicht der Oberschicht wohnt, kurvt mit dem Mietauto offenbar am Besten in folgenden drei Gegenden herum:

Because long-time investors have lives established in that part of the bay, where they’ve built homes in well-kept, affluent cities like Woodside, Atherton and Los Altos.

Quelle: The Silicon Valley exodus continues

Wer mit der Geschichte des Valleys nicht vertraut ist: Die Orte umzingeln nicht ohne Grund die Stanford University, die Alma Mater des Silicon Valley.

Und das ganze noch auf Google Maps visualisiert: Los Altos to Woodside to Atherton:

Tags: , , , ,
Labels: USA

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. März 2019

Beim Lonely Planet Online-Shop sind Revolut-Kreditkarten nicht erwünscht

Wie bescheuert ist das denn?

We accept payment via PayPal and by the following credit cards: Visa, MasterCard, American Express, Visa Debit and Visa Electron (UK). Sorry, we do not accept Revolut cards, personal checks, cashier’s cheques, money orders or direct deposits.

Quelle: Ordering & Payment

Tags: , , ,
Labels: Shopping

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. März 2019

Begriff: Feeling Bottlers, Feeling Sharers

Gestern haben meine Frau und ich Fresh Off The Boat Episode 16 von Season 5 mit dem Titel „Trentina“ geschaut.

Dort erzählt Trent Eddie von zwei Menschentypen: Den „Feeling Bottlers“ und den „Feeling Sharers“. Die ersten Charaktere „verschlucken“ oder „verschliessen“ ihr Gefühle gegenüber anderen, während die zweiten Charaktere darüber sprechen und die Gefühle „teilen“.

Den Begriff hatte ich bis gestern noch nie gehört, finde ihn aber sehr treffend.

Tags: , , , , , , ,
Labels: Leben

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. März 2019

Warnlampen im Auto: Eigentlich ganz simpel!

20 Minuten weiss zu schreiben:

Viele Autofahrer haben keine Ahnung, was die Symbole auf der Anzeige bedeuten. Kein Wunder – es kommen immer mehr neue dazu.

Quelle: Kein Plan beim Warnsignal

Dazu meine persönliche Anekdote: Mein damaliges Studentenauto, ein altehrwürdiger Peugeot 205 (kein GTI), habe ich seinerzeit auf diese Weise „zerstört“:

Bei einem unüberlegten Manöver hatte ich mir die Ölwanne des Motors aufgerissen (Details bei einem Bier). Obwohl der Weihnachtsbaum am Armaturenbrett losging (insbesondere die rote Ölkanne), versuchte ich, mit dem kollabierenden Auto die 13 Kilometer nach Hause zu fahren. Ich kam schlussendlich ein paar Kilometer weiter, bis dann nichts mehr ging. Motorschaden mangels ausreichendem Öl, wie ich später lernte.

Ich bin seither vermutlich nicht viel schlauer geworden und kenne die Bedeutung kaum einer zusätzliche Warnleuchte auswendig. Doch was ich seit diesem (für einen Studenten teuren) Unfall weiss: Leuchtet ein Lämpchen rot, stoppt man das Fahrzeug sofort und ruft den Pannendienst. Orange Leuchten, wie beispielsweise bei den Mietwagen in den USA (und Island!) regelmässig aufflammend und von zu tiefem Reifendruck warnend, kann man etwas lockerer nehmen — die Situation beobachten, und gegebenenfalls als Messproblem abtun.

Tags: , , , , , , ,
Labels: Uncategorized

1 Kommentar | neuen Kommentar verfassen

Sonntag, 10. März 2019

Xiaomi Yeelight Lightstrip API für Dritt-Apps öffnen

Unsere Wohnung zählt insgesamt sechs Xiaomi Yeelight Lightstrips, die ich mir über AliExpress für je umgerechnet 25 CHF/Stück bestellt habe. Verglichen mit den „westlichen“ Angeboten wie bspw. dem Philips Hue Lightstrips+ Basispaket für 75 CHF ein Schnäppchen.

Natürlich gibt es zwei Nachteile: Die Dinger können nicht nativ in Apple Homekit integriert und damit gesteuert werden. Und man benötigt Adapterstecker, um die Netzteile mit chinesischen/amerikanischen Steckern in Schweizer Steckdosen zu betreiben. Tolerierbar (die Adapterstecker kriegt man ebenfalls für 50 Rappen/Stück auf AliExpress).

Kombiniert mit den Mi Jia Bewegungssensoren erhellen die LED-Streifen bei Bewegungen den Eingangsbereich (hinter der IKEA ELVARLI-Garderobe angebracht, damit die Wand schön angestrahlt wird), das Schlafzimmer, das Büro, das Badzimmer sowie das Reduit. Ein YeeLight ist hinter dem freistehenden, zweiten Kühlschrank in der Stube angebracht und wechselt seine Farben, wenn die Kühlschrank-Temperatur zu hoch ist (d.h. wenn jemand die Kühlschranktüre nicht sauber geschlossen hat). Das misst ein Mi Jia Temperatursensor im Kühlschrank.

Damit man die Streifen nicht nur über die Mi Jia respektive die Yeelight Smartphone-Apps steuern kann, sondern über eine API, muss man die LAN-Steuerung für jeden Lightstrip einzeln aktivieren:

  1. Yeelight App starten
  2. Gewünschten Lightstrip antippen
  3. Unten rechts den Eject-Button klicken
  4. Unten rechts LAN Control auswählen
  5. Den Schieberegler aktivieren
  6. Fertig

Quelle: Helping Yeti find your Yeelight: how to enable LAN control of your Yeelight devices

Ab sofort kann man die Lightstrips mit Drittsoftware steuern, oder sich mit Python-Modulen wie der YeeLight library etwas zusammenscripten.

Aktivierung in Bildern

Tags: , , , , , , ,
Labels: Home Automation

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. März 2019

pip: pycurl: Could not run curl-config: [Errno 2] No such file or directory

Damit pip das Paket pycurl installieren kann, müssen auf dem Debian-System folgende Pakete installiert sein:

# apt-get install libcurl4-openssl-dev libssl-dev

Quelle: “Could not run curl-config: [Errno 2] No such file or directory” when installing pycurl

Sonst liest man folgende Fehlermeldungen:

...
Collecting pycurl
Downloading https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz (214kB)
100% |████████████████████████████████| 215kB 15.2MB/s 
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-install-dv_5N3/pycurl/setup.py", line 913, in <module>
    ext = get_extension(sys.argv, split_extension_source=split_extension_source)
  File "/tmp/pip-install-dv_5N3/pycurl/setup.py", line 582, in get_extension
    ext_config = ExtensionConfiguration(argv)
  File "/tmp/pip-install-dv_5N3/pycurl/setup.py", line 99, in __init__
    self.configure()
  File "/tmp/pip-install-dv_5N3/pycurl/setup.py", line 227, in configure_unix
    raise ConfigurationError(msg)
__main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory

Tags: , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. März 2019

pip: pygobject: Failed building wheel for pygobject

Damit pip das Paket pygobject installieren kann, müssen auf dem Debian-System folgende Pakete installiert sein:

# apt-get install libglib2.0-dev libgirepository1.0-dev

Sonst liest man folgende Fehlermeldungen:

...
running build_ext
Package glib-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `glib-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'glib-2.0' found
Command '('pkg-config', '--print-errors', '--exists', 'glib-2.0 >= 2.38.0')' returned non-zero exit status 1

Try installing it with: 'sudo apt install libglib2.0-dev'

----------------------------------------
Failed building wheel for pygobject
Running setup.py clean for pygobject

Tags: , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. März 2019

Alle mit pip installierten Pakete aktualisieren

Leider gibt es beim Python-Paketmanager pip („Pip installs Packages“) keine Routine à la apt-get update && apt-get upgrade, um alle installierten Pakete zu aktualisieren.

Mit folgendem Befehl kommt man aber verdammt nah an diese Funktionalität dran:

# pip install -U $(pip freeze | awk '{split($0, a, "=="); print a[1]}')

Quelle: update all installed python packages with pip

Das habe ich gestern auf einem System gemacht, musste aber leider feststellen, dass pip selbst auf einem relative „einfachen“ System bei bestimmten Paketen ins Straucheln gerät. Es ist also viel Zeit und Handarbeit nötig, um sicher zu sein, dass alle Pakete aktualisiert wurden.

Tags: ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. März 2019

nmap die offenen Ports einer bestimmten IP anzeigen lassen

Alle Schaltjahre einmal kommt es vor, dass ich eine neue Blackbox in eines meiner Netzwerke hänge und wissen will, was die Hersteller alles für Netzwerk-Services auf dem Gerät betreiben und gegen das LAN freigeschaltet haben.

Solche Services kann man notabene auch gut verwenden, um eine bessere Überwachung mit monit einzurichten (statt einem simplen Ping prüft man beispielsweise, ob der HTTP-Server auch tatsächlich auf HTTP-Requests antwortet).

Am Besten verwendet man dazu nmap, mit folgendem Befehl, um zumal die privilegierte Port-Range abzugrasen:

# nmap -v -sV -O -sS -T5 10.1.2.3
Starting Nmap 7.40 ( https://nmap.org ) at 2019-03-10 12:07 CET
NSE: Loaded 40 scripts for scanning.
Initiating ARP Ping Scan at 12:07
Scanning 10.1.2.3 [1 port]
Completed ARP Ping Scan at 12:07, 0.22s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 12:07
Completed Parallel DNS resolution of 1 host. at 12:07, 0.02s elapsed
Initiating SYN Stealth Scan at 12:07
Scanning 10.1.2.3 [1000 ports]
Discovered open port 53/tcp on 10.1.2.3
Discovered open port 111/tcp on 10.1.2.3
Discovered open port 22/tcp on 10.1.2.3
Discovered open port 80/tcp on 10.1.2.3
Completed SYN Stealth Scan at 12:07, 2.48s elapsed (1000 total ports)
Initiating Service scan at 12:07
Scanning 4 services on 10.1.2.3
Completed Service scan at 12:07, 14.22s elapsed (4 services on 1 host)
Initiating OS detection (try #1) against 10.1.2.3
NSE: Script scanning 10.1.2.3.
Initiating NSE at 12:07
Completed NSE at 12:07, 2.09s elapsed
Initiating NSE at 12:07
Completed NSE at 12:07, 0.01s elapsed
Nmap scan report for 10.1.2.3
Host is up (0.0043s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 6.7p1 Debian 5+deb8u3 (protocol 2.0)
53/tcp  open  domain
80/tcp  open  ssl/http 0.4
111/tcp open  rpcbind  2-4 (RPC #100000)
MAC Address: 00:00:00:00:00:00 (PC Engines GmbH)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.6
Uptime guess: 3.768 days (since Wed Mar  6 17:41:57 2019)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=255 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 22.34 seconds
           Raw packets sent: 1149 (53.132KB) | Rcvd: 1141 (48.056KB)

Quelle: Nmap Cheat Sheet

Wer Zeit und Geduld hat, lässt gleich alle 65’000+ Ports scannen:

# nmap -v -p 1-65535 -sV -O -sS -T5 10.1.2.3

Tags: , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen