Donnerstag, 30. Juli 2015

Interkontinentale Direktflüge ab Zürich und Genf

Vor einigen Tagen beschäftigte ich mich mit Flugpreisen nach Kalifornien und zog in Erwägung, einen Flug mit einem Zwischenhalt irgendwo zwischen New York und San Francisco zu buchen, um einerseits einen günstigeren Flugpreis zu ergattern und andererseits meinen noch verfügbaren Ferientagen Rechnung zu tragen (ich entschied mich schlussendlich dann aber doch für meine „Stammlinie“ LX38/LX39).

Auf der Web-Site des Flughafens Zürich fand ich bei diesen Abklärungen leider keine einfach verständliche Übersicht, welche Destinationen alles von ZRH angeflogen werden (in SQL-Jargon: SELECT DISTINCT(airport) FROM destinations). Und ich war mir zu doof, seitenweise Abfluglisten nach US-Destinationen zu durchkämmen. Deshalb liess ich die Sache vorerst ruhen.

Wenige Tage später dann stiess ich im RSS-Feed von Newly Swissed auf den Artikel Switzerland’s Infrastructure Sets the Country Worlds Apart. In der Originalversion brachte der Artikel eine schicke Grafik mit, welche alle interkontinentalen Destinationen aufzeigte, die von den Flughäfen Genf-Cointrin und Zürich-Kloten direkt angeflogen werden. Leider ist diese Grafik in der Web-Version des Blog-Artikels verschwunden. Genau danach suchte ich!

Direct Intercontinental Flight Connections from ZRH and GVA 2014
image-6386

Quelle: Switzerland Global Enterprise: Handbook for Investors 2014

Heute endlich hatte ich Zeit, um das Internet nach der gesuchten Grafik zu durchsuchen. Und tatsächlich, mit Google Queries wie site:s-ge.com ext:pdf fand ich zuerst die 2012er-Version der Grafik in der Broschüre „Investorenhandbuch“ (Seite 107). Nun gut, dachte ich mir, Newly Swissed hat sicherlich die aktuellste Version der Broschüre herangezogen und die Grafik von dort herauskopiert.

Doch wie kam ich nun an die aktuellste Version der Broschüre? Nach einer kurzen Google-Suche dann die Erleichterung: Auf der Seite Handbook for Investors 2014 kann man das Kapitel 11 „Infrastructure“ kostenlos herunterladen. Auf Seite 126 findet sich besagte Grafik, welche die Grafik von 2012 ästhetisch um Welten voraus ist.

Wenn ich mich in Zukunft interessiere, wohin auf der ganzen Welt ich mit einem Direktflug von ZRH oder GVA komme, konsultiere ich die hier aufgeschaltete Grafik. Wunderschön, und äusserst informativ.

Nachtrag

Und — fast hätte ich es vergessen — folgende nordamerikanische Destinationen erreicht man ab ZRH und GVA mit einem Direktflug:

  1. Montreal
  2. Toronto
  3. Chicago
  4. Philadelphia
  5. New York Newark
  6. New York JFK
  7. Boston
  8. Washington
  9. Atlanta
  10. Miami
  11. San Francisco
  12. Los Angeles

Tags: , , , , , , , , , , , , ,
Labels: Schweiz

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 14. Juli 2015

In Excel ein Pivot nach Monat und Jahr gleichzeitig gruppieren

Wer von SQL her kommt und gelegentlich Auswertungen mit Excel fahren muss, wird die Pivot-Funktion zu schätzen wissen: Sie bietet annähernd etwas wie die GROUP BY-Klausel in SQL-Statements.

Kürzlich durfte ich auf der Arbeit die zeitlichen Aufwendungen für eine IT-Prüfung analysieren. Dazu erfasste ich alle Meetings mit ihrer Dauer, ihrem Datum und dem Titel in eine Tabelle. Anschliessend wollte ich mir ausrechnen lassen, wie viele Stunden pro Monat aufgewendet wurden.

Da die Prüfperiode im Juli 2014 begann und im Juli 2015 endete, gab es beim ersten Auswertungsversuch das Problem, dass die Aufwendungen im Juli des Vorjahres mit denjenigen des Julis des aktuellen Jahres addiert wurden. Doch wie macht man statt ein GROUP BY month ein GROUP BY month, year?

Stellt sich heraus, dass man in einer Pivot-Tabelle mittels Rechtsklick auf einen Datumswert im Menupunkt „Grouping“ durchaus auch zwei Elemente in der Liste („By“) auswählen kann, also beispielsweise auch „Months“ und „Years“.

Quelle: Pro tip: Group an Excel PivotTable by dates

Tags: , , , , , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 14. Juli 2015

Berner Parkkarte perfekt an der Windschutzscheibe des Autos befestigen

Seit dem 1. Juli 2015 sind wir hier an der Schlösslistrasse 39 ohne festen Parkplatz: Der Hauseigentümer musste die insgesamt acht Parkplätze vor dem Haus auf Geheiss des Bauinspektorats aufheben, weshalb wir vom Vermieter Ende März 2015 die Kündigung erhielten. Grund war, dass der Hauseigentümer im Jahr 2002 offenbar eine Vereinbarung mit der Stadt Bern eingegangen war, die Parkplätze aufzuheben, wenn am Gebäude Umbauten für mehr als 100’000 CHF vorgenommen würden. Eine solche Renovation hat sich offenbar zwischen 2002 und 2012 (unserem Einzug) ereignet. Dies bedeutet einerseits, dass künftig 80 CHF Parkplatzkosten pro Monat wegfallen, wir nun aber in der blauen Zone unserer Einbahnstrasse jeweils um einen Parkplatz kämpfen müssen.

Nachdem wir vom Polizeinspektorat die umgehend bestellte Parkkarte zugesandt erhielten, stellte sich mir die Frage, wie man die Parkkarte denn nun am Besten hinter der Windschutzscheibe befestigt. Nach einer Google-Recherche stiess ich auf einen deutschen Anbieter, welcher mit seinem Produkt dieses Problem ein für alle Mal gelöst hat:

Cardpicker — Die »Glasmagnettasche« für Ihre Parklizenz

Die Online-Bestellung verlief reibungslos und die Plastichülle erreichte uns innert einiger weniger Arbeitstage per Post. Nun klebt die Hülle seit Sonntag an der Windschutzscheibe unseres Yaris und scheint selbst bei der Höllenhitze nichts an seiner Klebkraft eingebüsst zu haben:

Parkkarte Cardpicker
image-6380

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

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 25. Juni 2015

Spuren im Netz

Eindrücklich. Ich hoffe, der Extended Cut dieses Films wird hierzulande in unseren Schulen im Fach „Medienkompetenz“ gezeigt — und in uns allen wächst die Erkenntnis, dass wir und unsere Informationen auf Facebook, Instagram, Twitter & Co. das „Produkt“ sind, das gegen Geld vermarktet wird.

Das Video war Teil des Referats „Social Engineering: The devil is in the details“ von Ivano Somaini (Compass Security Schweiz AG) am SIGS Technology Summit 2015 in Bern.

Tags: , , , , ,
Labels: Gesellschaft

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 25. Juni 2015

Das alte Bauernhaus an der Schlösslistrasse in Bern …

… ist gar kein Bauernhaus!

Seit drei Jahren gehe ich nun fast täglich an diesem altehrwürdigen Gebäude (einem „Fremdkörper“, verglichen mit dem jungen Alter aller anderen Gebäude) vorbei, und bis gestern wusste ich nicht, dass es sich hierbei nicht etwa um ein wie von mir vermutet Bauernhaus handelt.

Gestern nämlich habe ich mir während einer Zugfahrt nach Zürich die Zeit genommen, mehr über das Gebäude in Erfahrung zu bringen. Die erste Knacknuss war die Adresse — das Gebäude trägt keine Hausnummer der Schlösslistrasse, sondern ist aus Sicht der Stadt Anstösser der Brunnmattstrasse. Der digitale Stadtplan hat mir bei der Lokalisierung der Hausnummer geholfen. Mit Google Maps hätte ich es mit Trial & Error wohl auch irgendwann einmal geschafft gehabt — aber der Grundbuchplan ist halt schon viel bequemer:

Brunnmattstrasse 10
image-6369

Stadtplan der Stadt Bern (map.bern.ch)

Die Adresse des Gebäudes lautet dementsprechend:

Brunnmattstrasse 10
3008 Bern

Bewaffnet mit der Postanschrift war es anschliessend eine Frage von Minuten, bis ich auf entsprechende Web-Inhalte zum Gebäude stiess: Das Gebäude heisst offiziell Brunnhaus oder Brunnenhaus. Es handelt sich um ein ehemaliges Trinkwasserpumpwerk der Stadt Bern; das erste Gebäude an dieser Stelle wurde im 16. Jahrhundert gebaut. Die Pumpe wurde dabei bis ins 20. Jahrhundert vom offenbar dieses Quartier durchfliessenden Stadtbach angetrieben.

Das erklärt dann plötzlich auch, wieso die Gegend hier „Brunnmatt“ (hochdeutsch: „Brunnenwiese“) heisst!

Heute ist in diesem Gebäude übrigens ein Kindergarten untergebracht — ich hatte eigentlich gehofft, dass man das Gebäude für Anlässe mieten könnte, ähnlich wie beispielsweise das Stöckli in Thörishaus.

Tags: , , , , , , ,
Labels: Bern

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 25. Juni 2015

Spy (2015)

Meine Idee war es ja wirklich nicht, die Actionkomödie Spy mit Melissa McCarthy (die wohl mit Abstand bestverdienenste Übergewichtige in Hollywood) ins Kino schauen zu gehen.

Der Streifen war recht unterhaltsam, die 13 Franken Eintritt (pro Person!) war er aber definitiv nicht wert.

Doch wie es so ist bringt auch ein Streifen, an welchem ich überhaupt nicht interessiert war, Spannendes hervor: Susan Coopers Ankunft in Budapest ist mit einem äusserst unkonventionellen und ansprechenden Song unterlegt. Leider reichte die Zeit nicht aus, um das Lied mit Shazam zu erkennen, doch ich legte mir selbstverständlich eine Notiz in Remember the Milk an — immer mit der Angst im Nacken, von einem Placeur aus dem Sitz gezerrt und als potentieller Raubkopierer der Inhaltemafia und deren Vollstrecker übergeben zu werden.

Als ich den Song hörte, musste ich auf Anhieb an den Musikstil der Sängerin M.I.A. denken, auf welche ich wiederum über einen anderen Film aufmerksam geworden war: Slumdog Millionaire:

Auf der Suche nach dem unbekannten Song einer unbekannten Sängerin entdeckte ich die Web-Site Song On Lyrics, welche für diesen Film jedes Musikstück sauber katalogisiert hat:

Spy Soundtrack List

Auf den ersten Blick half mir die Auflistung aber leider nicht weiter — bis ich dann doch noch bis ganz ans Ende der Seite scrollte und den folgenden Eintrag entdeckte:

6. GO! (feat. Karen O) – Santigold
Cooper and Rayna get to Budapest.

Der Rest ist Geschichte — der Song ist über iTunes gekauft und blärrt nun nonstopp aus meinen Lautsprechern:

In einem Kommentar zum ersten Video-Treffer der YouTube-Suche nach „santigold go“ …

… liest man übrigens:

Ine Buntinx
2 weeks ago
Anyone else here because of Spy?

Quelle: Santigold – GO! (feat. Karen O)

Schlussendlich fragte ich mich auch noch, ab die gute Dame vielleicht dieses Jahr auf dem Gurten hier in Bern auftauchen wird — leider nein. Aber gleichzeitig erfuhr ich, dass sie 2012 auf dem Güsche war. Mist. Irgendwie ging dieser Act völlig an mir vorbei. Wie auch der Parov Stelar, wie ich auch gerade feststellen musste.

Tags: , , , ,
Labels: Medien

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 25. Juni 2015

Phil Schiller im Interview mit John Gruber

Die WWDC 2015 ist Geschichte. Apple hat uns einen Ausblick gezeigt auf das, was wir mit iOS 9.0 sowie mit OS X El Capitan erwarten können. Die Präsentation von Apple Music wurde von vielen Kommentatoren als einer der Tiefpunkte in der Geschichte der WWDC taxiert.

Dass Apple sich seit dem Tod von Steve Jobs unter Tim Cook wandelt, zeigt sich in vielen Belangen. Das „neue“ Unternehmen tritt offener und transparenter auf und kann auch in kontroversen Fragen klare Standpunkte einnehmen.

Etwas erstaunt war ich dann aber doch, Phil Schiller, SVP Worldwide Marketing, zu Gast bei John Gruber (Daring Fireball) zu sehen. Am Rande der WWDC lud John zu einem Talk, welcher als Live Stream verbreitet sowie aufgezeichnet wurde.

Wer Phil Schiller für einmal abseits von perfekt choreographierten Apple-Präsentationen erleben will, muss sich dieses Video unbedingt anschauen:

The Talk Show Live From WWDC 2015 from John Gruber on Vimeo.

Viel neues lernen wir aus dem Gespräch nicht, aber es ist erfrischend zu sehen, dass sich ein Apple SVP „unters Volk“ mischt und sich den aktuell brennenden Fragen stellt. Als spannend empfand ich die Bemerkung, dass Schiller 2004 erstmals per E-Mail mit John Gruber in Kontakt getreten ist.

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

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 24. Juni 2015

Raspberry Pi 2 einrichten (10/n): Apple USB-Tastatur sauber einrichten

Bei der einzigen im Haushalt freien USB-Tastatur handelt es sich um ein Apple Aluminium Keyboard mit Schweizerdeutschem Layout. Diese wird für die Installation des neuen Taschencomputers benötigt, solange noch keine Netzwerkverbindung verfügbar ist (dann geht alles viel einfacher mittels SSH).

Die Tastatur kann unter Raspberry Pi und jedem anderen Linux problemlos verwendet werden.

Die Tastatur kann ganz einfach mittels raspi-config eingerichtet werden (Kurzanleitung für die graphische Oberfläche). Leider scheinen nachträgliche Anpassungen mit diesem Tool nur dann möglich zu sein, wenn die Tastatur auch wirklich am USB-Port hängt.

Deshalb kann man die Anpassungen auch manuell an folgender Datei vornehmen:

/etc/default/keyboard

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="applealu_iso"
XKBLAYOUT="ch"
XKBVARIANT="de_mac"
XKBOPTIONS=""

BACKSPACE="guess"

Via: Changing the default keyboard layout from “gb” to “us” in Raspbian “wheezy” for Raspberry Pi

Apple Aluminium-Keyboards gibt es in drei Standards:

  • ANSI
  • ISO
  • JIS

Quelle: How to tell an Apple ISO USB keyboard from an Apple ANSI ISO keyboard

Da ich eine Tastatur mit schweizerdeutschem Layout besitze, vermute ich, dass es sich dementsprechend um ein ISO-Keyboard handelt.

Damit sich die F1-F12-Tasten wie ebendiese Tasten verhalten, musste ich zudem noch folgende Datei erstellen:

/etc/modprobe.d/hid_apple.conf

options hid_apple fnmode=2 iso_layout=0

Die bedeuten der Zahlenwerte für fnmode (0, 1 und 2) sind im Artikel „Apple Keyboard“ beschrieben.

Ist die Tastatur korrekt konfiguriert, kann man mit Druck auf die Tasten Ctrl-Alt-F1 von einer X-Oberfläche in eine Shell wechseln. Zurück ins GUI geht es, in dem man Ctrl-Alt-F7 betätigt.

Tags: , , , , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Montag, 22. Juni 2015

Raspberry Pi 2 einrichten (6/n): Automatisch in einen Web-Browser starten

Da ich meinen Raspberry Pi 2 dazu verwende, ein Dashboard anzuzeigen, soll der Taschencomputer nach einem Kaltstart automatisch aufstarten, sich mit dem Standardbenutzer in die graphische Oberfläche einloggen und danach ein Web-Browser-Fenster mit einer bestimmten URL öffnen. Dabei soll nur der Web-Site-Inhalt angezeigt werden, nicht aber die Fensteroberfläche des Window-Managers.

Automatischer Login

Auf der Kommandozeile öffnet man raspi-config und aktiviert dort die Option Enable Boot to Desktop/Scratch. Wichtig ist, dass man die Option mit den Cursortasten auswählt und danach mittels Tabulator auf „OK“ springt und dieses auch betätigt.

Quelle: RASPI-CONFIG

Automatischer Start des Web-Browsers mit einer bestimmten URL

Damit nun die gewünschte Web-Site angezeigt wird, muss man dem Betriebssystem nun noch sagen, dass bei jedem Login in die grafische Oberfläche ein entsprechender Befehl ausgeführt werden soll:

~/.config/lxsession/LXDE-pi/autostart

@xset s off
@xset -dpms
@xset s noblank

@unclutter -idle 1
# PROD
#@chromium-browser --incognito --kiosk http://dashboard.local/

# DEBUG
@chromium-browser --remote-debugging-port=4444 --show-fps-counter --incognito --kiosk http://dashboard.local/

Quelle: How to auto start chromium after boot on the Raspberry 2 (2015-01-31 debian wheezy)?

Ferner: How To Autostart Apps In Rasbian LXDE Desktop

Auch: Raspberry Pi Dashboard Kiosk

Wichtig: In vielen Anleitungen liest man, dass man die Datei /etc/xdg/lxsession/LXDE-pi/autostart (Raspberry Pi 2) respektive die Datei /etc/xdg/lxsession/LXDE/autostart (Raspberry Pi 1) mit den obigen Befehlen ergänzen soll. In meinem Fall hat das zu einer einstündigen Debugging-Session geführt, die erst mit folgendem Hinweis gelöst werden konnte:

Note: If both files are present, lxsession only executes the local file as of v0.4.9

Aus irgendeinem Grund war bei meiner Installation die Datei ~/.config/lxsession/LXDE-pi/autostart vorhanden, weshalb die Einträge in den generischen autostart-Dateien nie berücksichtigt wurden.

Quelle: LXDE

Mauszeiger ausblenden

Damit der Mauszeiger ausgeblendet wird, muss noch folgendes Paket installiert werden:

# apt-get install unclutter

Das Programm wird anschliessend beim Ausführen der Autostart-Datei ausgeführt.

Quelle: Step 16: Hiding the mouse pointer

Alternative: Window Manager umgehen und direkt in ein Browser-GUI starten

Dank an Simon Jenny für den Hinweis — leider bleibt der Bildschirm schwarz, diese Lösung funktioniert also derzeit nicht.

~/.xinitrc

xset -dpms &
xset s off &
unclutter -idle 1 &

exec chromium-browser \
--window-position=0,0 \
--window-size=1080,1920 \
--incognito \
--kiosk \
http://dashboard.local/

Folgende zusätzliche Parameter könnten ebenfalls hinzugefügt werden:

...
--no-first-run \
--disable \
--disable-translate \
--disable-infobars \
--disable-suggestions-service \
--disable-save-password-bubble \
--disk-cache-dir=/tmp/chromium/cache/ \
--user-data-dir=/tmp/chromium/user_data/ \
--show-fps-counter \
--remote-debugging-port=4444 \
...

/etc/rc.local

...
/usr/bin/xinit /home/pi/.xinitrc &
exit 0

Quelle: Raspberry Pi Information Radiator: Booting into a Browser

Tags: , , , , , , , ,
Labels: IT, Linux

1 Kommentar | neuen Kommentar verfassen

Montag, 22. Juni 2015

Raspberry Pi 2 einrichten (4/n): Chromium installieren

Nachdem der Raspberry Pi 2 auf Raspbian Jessy läuft, können wir die neueste verfügbare Version des Chromium-Browsers herunterladen und installieren. Wir bedienen uns dazu der Repositories von Ubuntu und laden uns (Stand 22. Juni 2015) folgende zwei .deb-Pakete herunter:

Die Links zu den vorkompilierten Binaries finden sich auf den beiden Paket-Seiten rechts im Abschnitt „Downloadable Files“.

WICHTIG: Unter Raspberry Pi 1 läuft nur die unter Wheezy verfügbare Version 22 von Chromium. Neuere Versionen funktionieren unter diesem System nicht, weil die ARMv6-CPU des Raspberry Pi 1 keine hardwarebasierte Fliesskommaeinheit mitbringt. Das armhf-Paket von Ubuntu setzt diese CPU-Einheit aber leider voraus. Wer Chromium trotzdem auf dem nachfolgenden Weg installiert, erhält spätestens beim Start von Chromium folgende Fehlermeldung:

$ chromium-browser --version
Illegal instruction

Raspberry Pi 2 basiert glücklicherweise auf der ARMv7-Plattform und hat diese Einheit mit an Bord.

Sobald die Dateien im lokalen Dateisystem vorliegen, installiert man sie folgendermassen:

# dpkg -i chromium-browser_43.0.2357.81-0ubuntu0.15.04.1.1170_armhf.deb chromium-codecs-ffmpeg-extra_43.0.2357.81-0ubuntu0.15.04.1.1170_armhf.deb

Quelle: Installing Google Chromium on ARM devices with Flash plugin – solution

Ob die Installation erfolgreich war, zeigt folgender Befehl auf der Kommandozeile:

$ chromium-browser --version
Chromium 43.0.2357.81 Built on Ubuntu 15.04, running on Raspbian 8.0

Tags: , , , , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen