Ein Körnchen Wahrheit mag das Video enthalten (und es ist wohl auch auf die Schweiz anwendbar):
Donnerstag, 7. Februar 2019
How-To: Smalltalk mit Deutschen
Tags: Clip, Deutschland, Expats, Smalltalk, Video, Youtube
Labels: Gesellschaft
Donnerstag, 7. Februar 2019
Ein Körnchen Wahrheit mag das Video enthalten (und es ist wohl auch auf die Schweiz anwendbar):
Tags: Clip, Deutschland, Expats, Smalltalk, Video, Youtube
Labels: Gesellschaft
Donnerstag, 7. Februar 2019
Wie passend, dass ein Anbieter von Stock Video-Footage die Werbevideos künftiger potentieller Kandidaten bereits jetzt persifliert:
PS: Der Kandidatendschungel der Demokraten ist erwartungsgemäss schon jetzt riesig. Es wird aber nicht lange dauern, bis die meisten mangels liquider Mittel rausgefault sind.
Tags: Clip, POTUS, Präsidentschaftswahlen, USA, Video, Wahlen, Youtube
Labels: USA
Sonntag, 3. Februar 2019
Vor einigen Tagen habe ich meinen Web-Server im lokalen LAN aufgeräumt und viele Services, welche über eine DynDNS-Adresse gegen das Internet zugänglich waren, deaktiviert. Ab sofort können diese Web-Services nur noch mit einer privaten FQDN à la service.server.location.domain.local aus dem LAN angesprochen werden.
Diese Anpassung führte dazu, dass mein Bluetooth-Scanner, welchen ich auf meinem Raspberry Pi betreibe, seine Scan-Resultate nicht mehr an den Web-Server übermitteln konnte. Ein Python-Script führt auf dem RPi alle 5 Minuten einen Bluetooth-Scan durch, übersetzt die Resultate ins JSON-Format und versendet die Daten dann mit requests3 per HTTP an den Web-Server.
Die Fehlermeldung, die das Script ab der Umstellung ausspuckte, lautete folgendermassen:
$ /usr/bin/python /usr/local/bin/bluelog/bluetooth-scan.py --output api
Traceback (most recent call last):
File "/usr/local/bin/bluelog/bluetooth-scan.py", line 424, in <module>
response = requests.post(url, json=macs, auth=HTTPDigestAuth('user','password'))
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 110, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 487, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='service.server.location.domain.local', port=80): Max retries exceeded with url: /index.php (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x75e41b10>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Auf dem RPi eingeloggt funktionierte die Namensauflösung mit dem host-Kommando aber problemlos:
$ host service.server.location.domain.local service.server.location.domain.local has address 10.1.2.3
Doch als ich die Verbindung zum Web-Server mit wget überprüfen wollte schlug auch das fehl:
$ wget http://service.server.location.domain.local/index.php --2019-02-02 15:56:22-- http://service.server.location.domain.local/index.php Resolving service.server.location.domain.local (service.server.location.domain.local)... failed: Name or service not known. wget: unable to resolve host address "service.server.location.domain.local"
Herumgooglen brachte nicht die gewünschte Lösung. Deshalb griff ich zur nächstbesten Lösung und rief wget mit strace auf. Im Trace dann der entscheidende Hinweis:
$ strace wget http://service.server.location.domain.local/index.php
...
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/avahi-daemon/socket"}, 110) = 0
fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR)
fstat64(3, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
write(3, "RESOLVE-HOSTNAME-IPV4 service.serv."..., 55) = 55
read(3, "-15 Timeout reached\n", 4096) = 20
close(3) = 0
...
Was zum Teufel hat der Avahi-Daemon mit /var/run/avahi-daemon/socket im strace zu suchen? Jetzt hatte ich ausreichend Infos, um Google noch einmal zu befragen. Und siehe da:
Is Avahi running or installed? Avahi uses .local domain for its usage and puts its config in /etc/nsswitch.conf. My experience with it, using a .local domain name for my internal use is that it can be a little flaky (for lack of a better technical term), and would show behavior similar to what you are seeing.
Quelle: [SOLVED] resolver weirdness – avahi and .local
Die Lösung war im selben Beitrag gepostet:
Aus …
... hosts: files mdns4_minimal [NOTFOUND=return] dns ...
… wird folgender Eintrag:
... hosts: files dns mdns4_minimal ...
Und seither lösen sich auch die .local-Adressen reibungslos auf.
Tags: Avahi, Bluetooth, DNS, FQDN, host, local, nsswitch.conf, Python, requests3, wget
Labels: Uncategorized
Sonntag, 3. Februar 2019
Die Installation von MacTeX (der LaTeX-Distribution für macOS) findet sich standardmässig in folgendem Verzeichnis:
/usr/local/texlive
Hat man zudem vergessen, welche Version man installiert hat, hilft das Listing des Verzeichnisses:
$ ls -l /usr/local/texlive total 0 drwxrwxr-x 20 root wheel 680 1 Jan 19:42 2018 drwxr-xr-x 9 root wheel 306 1 Jan 19:44 texmf-local
Der Ordner „2018“ signalisiert, dass MacTeX 2018 installiert ist.
Nachtrag: Will man eine neue Version von MacTeX installieren (bspw. die Version 2018 mit 2019 ersetzen), löscht man am Besten das Verzeichnis /usr/local/texlive …
# rm -rf /usr/local/texlive
… und führt dann das neue macOS Installer-Package aus, welches man aus dem Internet heruntergeladen hat.
Tags: Latex, Mac OS X, macOS, MacTeX, OS X, TeXLive
Labels: Apple, IT
Mittwoch, 30. Januar 2019
At just one checkpoint in Yuma, Arizona, up to 6,000 Americans cross the border every day and enter the bustling Mexican town of Los Algodones, seeking hea[l]th care.
Los Algodones has to be seen to believed. There are more dentists per capita than anywhere else in the world. […] The community’s economy is built to serve the flood of “dental refugees” — mostly senior citizens from the US and Canada seeking major dental care they cannot afford in their own countries, even with insurance.
One of the reasons dental care is so expensive in the United States is insurance. […] Another cost for US dentists is malpractice insurance, which is not required in Mexico. […]
Dental work in Mexico is on average two-thirds less than in the US and customers may save 80 percent or more on some costly operations. Those savings derive partially from Mexico’s less expensive real estate and labor costs, but also, Mexico’s dentists don’t graduate with a ton of student debt. The government provides basically tuition-free education. “When we get out of school, we have to pay the government, but we do it by one year of free service, and that’s it,” […]
To get an idea of the absurdity, one could argue there are more people currently fleeing the US’s health care system than refugees seeking asylum from extreme violence and state terror in Central America.
Quelle: Millions of Americans Flood Into Mexico for Health Care — the Human Caravan You Haven’t Heard About
Das wiederum …
Approximately 74 million people in the US have no dental insurance, according to the National Association of Dental Plans.
… erschaudert mich auf Anhieb weniger. Der grösste Teil der erwachsenen Schweizer hat auch keine Zahnpflegeversicherung, und der Weltuntergang ist ausgeblieben. Wobei die meisten wiederum eine Unfallversicherung besitzen, die bei Zahnunfällen einspringt. Wer hierzulande längerfristig Geld sparen will putzt sich regelmässig und anständig die Zähne.
Tags: Ärzte, Grenzgänger, Mexiko, Tourismus, Zahnärzte
Labels: USA
Mittwoch, 30. Januar 2019
Successful hotel companies create a strong brand and then, to over-simplify matters a bit, either sell franchises (the Motel 6 approach) or sign no-risk management contracts with owners of swanky hotel buildings (the Four Seasons approach).
Quelle: Preparing for a Coming Winter Storm? WeWork Pivots to Minimize Risk for Itself
Ich liebe Motel 6 (USA) sowie Ibis (Europa) — dank solchen Hotelketten weiss man ganz genau, was man bekommt (nicht viel, kein Firlefanz, aber günstig), und muss nicht mehr stundenlang auf Tripadvisor Hotel-Reviews lesen (die sich dann schlimmstenfalls als gefälscht herausstellen).
Tags: Business Model, Geschäftsmodelle, Hotel, Hotelketten
Labels: Reisen, Wirtschaft
Mittwoch, 30. Januar 2019
„What I’ve come to believe is miles and points are just a metric for how much of your real life you’re missing. In fact, if you don’t travel that often and therefore don’t have much use for these products and services I’ve listed here then, well, in my opinion you’re doing it right.“
Tags: Bonviva, Englisch, Kreditkarten, Kreditkartenpunkte, Meilen, Meilenprogramme, Miles & More, Punkte, Rewards, Zitat
Labels: Reisen
Dienstag, 22. Januar 2019
„Even the Nazis are shouting Nazi at anyone they disagree with …“
Tags: Video, Youtube
Labels: Gesellschaft
Dienstag, 22. Januar 2019
ancient DNA findings have rendered racist and colonialist narratives untenable by showing that no human population is “pure” or unmixed.
Quelle: Letter in response to Jan. 17 article in The New York Times
Man hat also schon vor Urzeiten nicht einfach „über den Miststock“ geheiratet (den es damals noch gar nicht gab).
Tags: Ancient DNA, Rassenhygiene
Labels: Geschichte, Gesellschaft
Dienstag, 22. Januar 2019
Half of the time when companies say they need „AI“ what they really need is a SELECT clause with GROUP BY.
You’re welcome.
Quelle: @matvelloso – 11:53 AM – 30 May 2018
Natürlich liess die Relativierung der vereinfachten Aussage nicht lange auf sich warten: Explaining the joke: “Half the time when companies say they need ‘AI’, what they really need is a SELECT clause with a GROUP BY”.
Tags: AI, Artificial Intelligence, Quote, SQL, Twitter, Zitat
Labels: IT