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

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

5 Kommentare | 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

Montag, 22. Juni 2015

Raspberry Pi 2 einrichten (7/n): Zeitzone und Uhrzeit einstellen

Mittels folgendem Befehl sollte man die Uhrzeit richtig stellen:

# dpkg-reconfigure tzdata

Ausserdem empfiehlt es sich, die Uhrzeit stündlich neu zu stellen:

# apt-get install ntpdate

/etc/crontab

...
* * * * *	root	ntpdate -s ch.pool.ntp.org
...

Tags: , , , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Montag, 22. Juni 2015

Raspberry Pi 2 einrichten (5/n): Bildschirmausgabe um 90 Grad drehen

Da ich meinen Raspberry Pi 2 für die Anzeige eines web-basierten Dashboards verwende, dessen 22″-Monitor hochkant an einer Wand neben der Eingangstüre unserer Wohnung hängt, muss ich die Bildschirmausgabe um 90 Grad im Uhrzeigersinn rotieren.

Hierzu ist mindestens eine Einstellung namens display_rotate im Pseudo-BIOS des Raspberry Pis 2 nötig:

/boot/config.txt

...
disable_overscan=1
...
gpu_mem=256
...
display_rotate=1

Quelle: CONFIG.TXT

In der Dokumentation sind die Gradangaben für die Werte 0 bis 3 aufgeschlüsselt — 90 Grad im Uhrzeigersinn werden mit dem Wert 1 konfiguriert.

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

6 Kommentare | neuen Kommentar verfassen

Montag, 22. Juni 2015

Raspberry Pi 2 einrichten (3/n): Von Raspbian Wheezy auf Jessie aktualisieren

Nachdem man SSH-Verbindungen herstellen kann, aktualisiert man zuerst einmal das System. Hierzu loggt man sich per SSH mit dem Benutzer pi ein und wechselt danach zum root-Benutzer:

$ sudo su -

Als nächstes aktualisiert man wie von Debian gewohnt die

# apt-get update

und installiert alle neuen Pakete:

# apt-get upgrade

Ist Wheezy auf dem neuesten Stand, wechseln wir das Repository in folgender Datei zu Jessie:

/etc/apt/sources.list

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

Nun führen wir erneut ein

# apt-get update

durch, um die Jessy-Paketliste herunterzuladen.

Jetzt startet die grosse Upgrade-Aktion:

# apt-get dist-upgrade

Nach einigen Stunden und allfälligen Dialogen sollte nach einem Reboot Raspbian Jessy auf dem System laufen.

Tags: , , , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Montag, 22. Juni 2015

Raspberry Pi 2 einrichten (2/n): WLAN USB-Stick konfigurieren

Für meinen zweiten Raspberry habe ich in meinem Elektronik-Lager einen unbenutzten WLAN USB-Stick Linksys WUSB54GC v3 gefunden. Mit der Standard-Stromversorgung (1.2A) funktioniert dieser Stick problemlos (keine andere Peripherie an den USB-Anschlüssen) und Raspbian erkennt den WLAN-Stick automatisch.

Als erstes gilt es, den Raspberry Pi 2 zu booten. Angeschlossen an einen HDMI-Monitor und mit einem USB-Keyboard geht man danach an die Konfiguration des WLAN-Adapters, damit man die restliche Konfiguration per SSH vornehmen kann.

Nachdem man nach dem ersten booten in raspi-config landet, vergrössert man zuerst die Partition und startet den Taschencomputer neu. Beim nächsten Neustart loggt man sich mit dem Standardbenutzer pi und dem Passwort raspberry in die Shell ein. Dort startet man raspi-config erneut, und wechselt das Keyboard-Layout im Menupunkt „INTERNATIONALISATION OPTIONS“ auf „Deutsch (Schweiz)“. Anschliessend wechselt man das Passwort des Standardbenutzers. Sicher ist sicher.

Da in der Standardinstallation vim noch nicht vorhanden ist, nehmen wir nano und bearbeiten folgende Datei:

/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet manual

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
   wpa-ssid EMEIDI-LEGACY
   wpa-psk ********

iface default inet dhcp

Um die Verbindung herzustellen, habe ich den WLAN-Stick kurzerhand aus- und wieder eingestöpselt. Nach gefühlten 10 Sekunden führte der Befehl ifconfig für das Interface wlan0 dann eine gültige IP-Adresse auf (sofern der in dieser Konfiguration zwingend benötigte DHCP-Server im Netzwerk sauber funktioniert).

Nachdem man sich die IP unter dem Interface wlan0 notiert hat, geht es an den Mac mini, von welchem aus man mittels SSH die restliche Konfiguration des Systems vornimmt.

WLAN nach Komplikationen automatisch neu starten

Falls man mit gelegentlichen Verbindungsproblemen kämpft, welche einen automatischen Neustart des WLAN-Interfaces nötig machen, sollte man einen entsprechenden Cron-Job einrichten:

/etc/crontab

...
* * * * *	root	/usr/local/bin/check-wifi.sh > /dev/null 2>&1
...

Das Script liest sich folgendermassen:

#!/bin/bash
##################################################################
# A Project of TNET Services, Inc
#
# Title:     WiFi_Check
# Author:    Kevin Reed (Dweeber)
#            dweeber.dweebs@gmail.com
# Project:   Raspberry Pi Stuff
#
# Copyright: Copyright (c) 2012 Kevin Reed 
#            https://github.com/dweeber/WiFi_Check
#
# Purpose:
#
# Script checks to see if WiFi has a network IP and if not
# restart WiFi
#
# Uses a lock file which prevents the script from running more
# than one at a time.  If lockfile is old, it removes it
#
# Instructions:
#
# o Install where you want to run it from like /usr/local/bin
# o chmod 0755 /usr/local/bin/WiFi_Check
# o Add to crontab
#
# Run Every 5 mins - Seems like ever min is over kill unless
# this is a very common problem.  If once a min change */5 to *
# once every 2 mins */5 to */2 ... 
#
# */5 * * * * /usr/local/bin/WiFi_Check 
#
##################################################################
# Settings
# Where and what you want to call the Lockfile
lockfile='/var/run/WiFi_Check.pid'
# Which Interface do you want to check/fix
wlan='wlan0'
##################################################################
echo
echo "Starting WiFi check for $wlan"
date
echo 

# Check to see if there is a lock file
if [ -e $lockfile ]; then
    # A lockfile exists... Lets check to see if it is still valid
    pid=`cat $lockfile`
    if kill -0 &>1 > /dev/null $pid; then
        # Still Valid... lets let it be...
        #echo "Process still running, Lockfile valid"
        exit 1
    else
        # Old Lockfile, Remove it
        #echo "Old lockfile, Removing Lockfile"
        rm $lockfile
    fi
fi
# If we get here, set a lock file using our current PID#
#echo "Setting Lockfile"
echo $$ > $lockfile

# We can perform check
echo "Performing Network check for $wlan"
if ifconfig $wlan | grep -q "inet addr:" ; then
    echo "Network is Okay"
else
    echo "Network connection down! Attempting reconnection."
    ifdown $wlan
    sleep 5
    ifup --force $wlan
    ifconfig $wlan | grep "inet addr"
fi

echo 
echo "Current Setting:"
ifconfig $wlan | grep "inet addr:"
echo
 
# Check is complete, Remove Lock file and exit
#echo "process is complete, removing lockfile"
rm $lockfile
exit 0

##################################################################
# End of Script
##################################################################

Quelle: dweeber/WiFi_Check

Tags: , , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen