Mittwoch, 29. Oktober 2014

Mac bootet nach Upgrade auf Yosemite und TimeMachine-Restore nicht mehr

Kürzlich durfte ich einem Arbeitskollegen helfen, welcher sein neues Retina MacBook-Pro bei der Installation von Mac OS X Yosemite und dem anschliessenden Restore des TimeMachine-Backups zerschossen hatte.

Bootete der Kollege den Mac, erschien alsbald das blinkende Fragezeichen, welches darauf hindeutete, dass im System kein brauchbares Boot-Volume gefunden wurde.

Wir booteten deshalb in den Recovery-Modus und ich sah mir anschliessend die Situation genauer an. Im Disk Utility erschien die Festplatte zwar, uns war es aber nicht möglich, Partitionen auf der Festplatte zu erstellen oder zu löschen. Wählten wird die Systempartition an, blieb der “-“-Knopf (für “Löschen”) ausgegraut.

Ich wechselte deshalb in Terminal.app und startete auf einem anderen PC einige Google-Suchen zur Thematik. Äusserst rasch stiess ich auf folgende Ask Different/Stackexchange-Frage:

Can’t ever remove partition?

Wie in der Frage dargelegt führte ich ebenfalls folgendes Kommando aus:

# diskutil list
    ~ - Tue Aug 14 10:12:00: diskutil list
    /dev/disk0
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *512.1 GB   disk0
       1:                        EFI                         209.7 MB   disk0s1
       2:                  Apple_HFS MacSSD                  425.7 GB   disk0s2
       3:                 Apple_Boot Recovery HD             784.2 MB   disk0s5
       4:          Apple_CoreStorage MacSSD 2                85.3 GB    disk0s4   <--- Want to remove this
       5:                 Apple_Boot Boot OS X               134.2 MB   disk0s6
    /dev/disk1
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:                  Apple_HFS MacSSD2                *84.9 GB    disk1

(Symbolauszug) Wie auch bei dem Terminalauszug auf Stackexchange lag das Problem bei uns auch bei einer Partition, die als "Apple_CoreStorage" gekennzeichnet war. Dies bedeutet, dass die Partition mit FileVault verschlüsselt ist.

Der Kollege gab mir sein OK, dass ich die Partition löschen konnte, da er ja ein aktuelles Backup auf seiner TimeCapsule liegen hatte. Wie in der Antwort auf Stackexchange beschrieben listet ich zuerst alle File Vault-Partitionen auf:

# diskutil cs list

Anschliessend kopierte ich die Volume ID des Logical Volumes, eine Zeichenkette aus den Buchstaben und Zahlen A-F0-9. Als nächstes löschte ich die Volumengruppe:

# diskutil cs delete <Volume ID>

Nach dieser Aktion starteten wir Disk Utility wieder - und siehe da, die Festplatte konnte neu partitioniert werden.

Meine Vermutung war daraufhin, dass der Restore mit Time Machine eine fehlerhafte Manipulation an der Festplattenverschlüsselung vorgenommen und die Partition unlesbar gemacht hatte.

Tags: , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 29. Oktober 2014

Alle Seiten von PDF-Dateien unter Windows in Grafikdateien umwandeln

Kürzlich nahm ich mir vor, besonders visuell ansprechende Folien von Abschlusspräsentationen im Powerpoint-Format in einer Galerie zu sammeln, damit sich künftige Autoren an guten Beispielen inspirieren lassen können.

Als erstes sammelte ich alle Präsentationen, die mir auf unserem Netzlaufwerk bei der Durchsicht begegneten. Anschliessend öffnete ich jede Präsentation von Hand in Powerpoint und speicherte diese als PDF-Datei in einem zentralen Verzeichnis ab.

Da die Foliensätze nun in einem elektronischen Standardformat vorlagen, machte ich mich hinter ein Bash-Script, mit welchem ich alle Seiten der PDF-Dateien mittels ImageMagicks convert in einzelne Grafiken umwandeln konnte. Das Resultat:

# /bin/sh

DESTEXT="jpg"
DESTEXT="png"

echo "Starting up ..."
echo ""

echo "Working in directory $PWD ..."
echo ""

CONVERT=$(which convert)

if [ ! -f "$CONVERT" ]
then
echo "ERROR: convert binary 'convert' not found ($CONVERT). Aborting"
exit 1
fi

echo "Using convert binary at $CONVERT"
echo ""

# Ghostscript not in path in WIN32, won't succeed
# This is how imagemagick does it: http://trac.imagemagick.org/browser/ImageMagick/branches/ImageMagick-6/magick/nt-base.c?rev=13427
# https://www.google.ch/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=site%3Atrac.imagemagick.org%20gswin32c.exe
#GS32=$(which gswin32c.exe)
#GS64=$(which gswin64c.exe)
#if [ ! -f "$GS32" ] && [ ! -f "$GS64" ]
#then
#	echo "ERROR: Ghostscript binary 'gswin[32|64]c.exe' not found (32-bit: $GS32, 64-bit: $GS64). Aborting"
#	exit 1
#fi

#echo "All binaries exist, continuing conversion process."
#echo ""

echo "Using convert binary at $CONVERT"
echo ""

# http://unix.stackexchange.com/questions/9496/looping-through-files-with-spaces-in-the-names
find . -type f -iname "*.pdf" -print0 | while IFS= read -r -d '' PDF; do
echo "Converting $PDF ..."
SOURCE="$PDF"
DEST="$PDF.$DESTEXT"

CMD="\"$CONVERT\" -density 72 \"$SOURCE\" \"$DEST\""
echo "Command: $CMD"
eval $CMD
echo "Done"
echo ""
done

exit 0

Siehe auch:

Probleme

Fehlendes bash

Ich verwende die Git for Windows, um auch unter Windows auf eine bash zugreifen zu können. Git for Windows bringt unter anderem eine bash-Shell mit sich. Im Windows-Explorer öffnet man bash im aktuellen Verzeichnis, indem man nach einem Rechtsklick auf eine leere Fläche im Zielordner im Kontextmenu auf Git Bash klickt.

Fehlendes ImageMagick

ImageMagick steht auch als kompilierte Windows-Binaries zur Verfügung. Bei mir hat das Script mit folgendem Paket funktioniert:

C:\Users\USER>convert --version
Version: ImageMagick 6.8.9-6 Q16 x64 2014-07-22 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo freetype jbig jng jp2 jpeg lcms lqr pangocairo png ps rsv
g tiff webp xml zlib

Fehlendes Ghostscript

Wenn ImageMagick folgenden Fehler meldet …

convert.exe: FailedToExecuteCommand `"gswin32c.exe" -q -dQUIET -dSAFER -dBATCH -
dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEV
ICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" "-sOutputFile=C
:/Users/USER/AppData/Local/Temp/magick-4444uMzVadN1QsOl%d" "-fC:/Users/USER/AppData/Local/Temp/magick-4444-MgLEhwrf1qK" "-fC:/Users/USER/AppData/Loc
al/Temp/magick-4444WnOaJKpe5I_Y"' (-1) @ error/utility.c/SystemCommand/2051.

… bedeutet dies, dass auf dem lokalen Windows-System die Installation von Ghostscript (gswin32c.exe) fehlt.

Ghostscript steht natürlich auch in Form von Windows-Binaries zur Verfügung und lässt sich mit einigen wenigen Mausklicks installieren.

Beim Debugging des oben genannten Problems drang ich tief in den Source Code ein, um die Stelle zu finden, wo ImageMagick herausfindet, wo die Ghostscript-Executables liegen:

Man schaue sich die Funktion NTLocateGhostscript() in nt-base.c genauer an: Die Pfade sind nicht hardkodiert, sondern werden aus der Windows-Registry ausgelesen. Dies bedingt, dass Ghostscript ordnungsgemäss installiert wurde.

Labels: Programmierung

Keine Kommentare | neuen Kommentar verfassen

Samstag, 20. September 2014

(Verhinderte) Abzocke beim Mietwagenverleih in den USA

Seit ich im Januar 2007 das erste zweite Mal in die USA gereist bin und in Kalifornien mit einem Mietwagen unterwegs war, weiss ich über die Tücken, die unbedarften Touristen beim us-amerikanischen Mietwagenverleih drohen: Man läuft, sozusagen als Touristenfreiwild, Gefahr, unnötige Versicherungen abzuschliessen und auf ein besseres Auto upgegradet zu werden — für wenige Dollars (pro Tag).

Anbieter meiner Wahl: Holidayautos

Damals entschied ich mich nach der Lektüre unzähliger warnender Forumsbeiträge dafür, über den europäischen Wiederverkäufer Holidayautos einen Mietwagen zu buchen, statt direkt über die Web-Siten der einschlägig bekannten Anbieter wie Budget, National, Enterprise und Alamo. Die Vorteile sind mannigfaltig; unter anderem enthalten die von Holidayautos vertriebenen Pakete über keinen Selbstbehalt bei Schäden und der Gerichtsstand ist in Europa.

Die Anpreisungen auf Holidayautos Web-Site bewahrheiteten sich 2007: Bei der Abholung des Mietautos beim Los Angeles International Airport LAX musste ich zwar immer noch Upselling-Versuche der unter Verkaufs- und Provisionsdruck stehenden Verkäufer abwehren, doch weder bei der Entgegennahme des Mietautos noch bei dessen Rückkgabe musste ich noch irgendwelche Gebühren entrichten. Was man als Schweizer halt erwartet: Man bezahlt den angeschriebenen Preis und erhält nicht noch hunderte Gebühren und Steuern auf den Nettopreis geschlagen, welche sich im Kleingedruckten verstecken.

Mietwagen für Kalifornien 2014-2 (Juli 2014)

Im Juli 2014 war es wieder einmal so weit: Stephanie und ich flogen für zwei Wochen nach Kalifornien und leisteten uns über Holidayautos einen SUV-Mietwagen, um den geplanten zweiwöchigen Road Trip zu bestreiten. Einen SUV deshalb, weil eine Reise von San Francisco über Santa Barbara nach Los Angeles bis hinunter nach Dana Point anstand, wo wir an einer Hochzeit teilnahmen, und anschliessend die Rückfahrt mit Zwischenhalten in Yosemite und Napa. Mit dabei hatten wir Ausrüstung, um Hochzeiten und Wanderungen bis auf fast 2000 Meter zu bestreiten.

Am 21. April 2014 erstanden wir über die Internet-Site von Holidayautos ein günstiges Mietwagenangebot, welches wir am 11. Juli 2014 beim Budget Rent A Car Mietwagenverleih am Flughafen San Francisco International SFO einlösten. Bei der Übergabe achteten Stephanie und ich — wie in den USA leider antrainiert — darauf, dass uns kein zusätzlicher Schmarren angedreht wurde. Unser Kundenberater Andrei, dem Akzent nach aus Osteuropa eingewandert, war höflich, verschonte uns mit nicht enden wollenden Verkaufsgesprächen und wickelte die Abholung speditiv ab. Am Schluss witzelte er noch etwas über Upselling, wir lächelten und zogen mitsamt dem unterschriebenen Vertrag Richtung des roten Mitsubishis von dannen.

Fünfzehn Tage später retournierte ich das Fahrzeug am selben Ort. Wie gewohnt fuhr ich in das Parkhaus hinein, navigierte zum richtigen Stockwerk, lud das Gepäck aus und nahm vom Budget Rent A Car-Handlanger die Rückgabequittung entgegen, nachdem dieser den den Barcode am Auto gescannt und den Füllstand des Tanks geprüft hatte (natürlich hatten wir das Fahrzeug in Millbrae, zwei Autominuten vom Flughafen entfernt, frisch aufgetankt).

Für einige Sekunden stutzte ich, als ich einen Betrag von $206.37 vermerkt sah, machte mir aber keine weiteren Gedanken, weil ich wusste, dass die Kosten von Holidayautos bereits Ende April 2014 vollständig von unserer Kreditkarte abgebucht worden waren und wir uns sicher waren, mit Budget einen Vertrag abgeschlossen zu haben, welcher keine Zusatzkosten beinhaltete.

Kreditkartenabrechnung

Ende August kam das böse Erwachen: Auf der Kreditkartenabrechnung fand sich für den 26. Juli 2014 ein Posten von “Budget Rent A Car, Kahului” (steueroptimierter Firmensitz auf Hawaii?) in der Höhe von 192.40 CHF:

2014-08-25 Credit Card Charge

(Schweizer Franken deshalb, weil ich bei der Übergabe des Fahrzeugs aus lauter Blödheit die Abrechnung in meiner Landeswährung angekreuzt hatte — bei der Währungsumrechnung profitiert dann zwar nicht Swisscard AECS AG, hingegen aber der Rechnungssteller).

Studium des Vertrags und der Rückgabequittung

Zum Glück hatte ich den am 11. Juli unterzeichnete Vertrag mit in die Schweiz gebracht. Auch die Rückgabequittung vom 26. Juli fand sich noch in den Reiseunterlagen. Als erstes fertigte ich in weiser Voraussicht Scans der beiden Dokumente an und legte die PDFs anschliessend auf meinem Computer ab.

Nun begann das Entziffern der Rückgabequittung und der Vergleich mit dem Mietvertrag. Der Mietvertrag machte unmissverständlich klar, dass uns nach Abzug der über Holidayautos getätigten Buchung Gesamtkosten in der Höhe von sagenhaften $0.01 anfielen:

YOUR ESTIMATED TOTAL CHARGES: X_AGREED__: .01

Ein US-Cent wohl deshalb, weil das Computersystem vom Budget nicht mit kostenlosen Mieten klarkommt:

2014-07-11 Your Estimated Total Charges

Auf dem Rückgabeschein las ich:

2014-07-26 Your Vehicle Charges

Für Laien völlig unverständlich, musste ich mich im Internet erst schlau machen, wie dieses Gibberish aufgeschlüsselt wird. Wichtig war zuerst einmal folgende Linie:

@NON PKG ITEMS 206.38

Mir wurden also irgendwie “nicht paketierte Optionen” in der Höhe von $206.37 verrechnet. Doch was verbirgt sich dahinter? Etwas weiter unten auf dem Zettel folgt die Auflösung:

PAE/ESP/SLI CHG NON PKG
TRANSP FEE 20.00/RNTL 20.00

Kundenunfreundlicher kann eine Abrechnung nicht daherkommen — aber das hat sicherlich System. Die Zeile PAE/ESP/SLI CHG NON PKG bedeutet, dass die Optionen PAE/ESP/SLI CHG auf NON PKG gebucht wurden. NON PKG sieht man weiter oben referenziert und beträgt $206.37. Excel würde hier wohl wegen einer zu komplexen Referenzierung motzen …

Im Abkürzungsdschungel

Doch was sind PAE/ESP/SLI? Ausgeschrieben:

  • PAE Personal Accident and Effects
  • ESP Emergency Sickness Plan
  • SLI Supplemental Liability Insurance

Siehe auch: PSA…

Soso, eben genau all diesen Schrott, den kein Tourist wirklich braucht, den Mietwagenverleihern aber eine satte Marge einbringt. Der Vergleich mit dem Vertrag brachte folgenden Abschnitt zu Tage:

2014-07-11 PAE ESP SLI

Wie man erkennen kann, hatte ich die Punkte PAE sowie ESP abgelehnt, da diese mit $6.95/Tag respektive $5.00/Tag zu Buche geschlagen hätten. Den Loss Damage Waiver sowie SLI hatte ich zwar akzeptiert, doch mit $0.00/Tag war diese Optionen auch harmlos.

Sonderfall SFO

Die TRANSP FEE 20.00/RNTL ist eine Eigenheit des Regimes der Mietwagenverleiher am Flughafen SFO: In Verträgen mit dem Flughafenbetreiber haben die Mietwagenverleiher vereinbart, dass für jeden Mieter $20 zu entrichten sind, sofern dieser mittels dem AirTrain vom Flughafengebäude zum Mietwagenkomplex transportiert wird. Dies war bei mir zwar der Fall, doch im Original meines Mietvertrags stand diesbezüglich:

2014-07-11 Transportation Fee Included

Dieser Betrag, welcher pro Mietvertrag einmal erhoben werden darf, war glücklicherweise im Holidayautos-Paket enthalten.

Mir schauderte es langsam — wie konnte diese Firma so dreist sein, mir trotz den im Vertrag schwarz-auf-weiss abgelehnten Gebühren Kosten dafür zu berechnen?

Kundendienst

Nun war es Zeit, mich an die Mietwagenverleihfirma selber zu wenden. Budget bietet seinen Kunden über ihre Web-Site an, eine elektronische Quittung (sog. “e-Receipt”) für eine bereits abgeschlossene Vermietung einzuverlangen. Hierzu geht man in die Rubrik contact us und wählt im Abschnitt E-mail Assistance im Dropdown billing question aus. Unter Angabe meiner Vertragsnummer bat ich den Kundendienst, mir doch bitte eine elektronische Kopie der Quittung zuzustellen.

Nach zwei Tagen traf die Antwort mitsamt PDF endlich ein. Und da staunte ich nicht schlecht:

2014-09-05 PAE ESP SLI

Dampfende Scheisse! Ich legte die beiden Verträge — den physischen, mit meiner Unterschrift sowie den elektronischen — nebeneinander, und irgendwie schienen sich nach der Unterzeichnung wie von Geisterhand zwei Optionen von “Declined” auf “Accepted” gewechselt zu haben.

Wer der Urheber dieser Urkundenfälschung — anders lässt es sich nicht sagen — ist, lässt sich nur vermuten. Entweder ist es Andrei, der seine monatlichen Verkaufsziele erreichen muss und aus Erfahrung weiss, dass viele dummen Touristen ihre Verträge nicht mit nach Hause nehmen — oder es ist sein Vorgesetzter, der entgegen jeglicher Logik Verträge nach der Unterzeichnung im Computersystem anpassen kann. Ein Fall für den Internal IT Audit!

Am Rande sei noch erwähnt, dass der e-Receipt für diese Zusatzdienstleistungen Kosten von $314.25 ausweist, weiter unten auf dem Beleg dann aber der effektiv abgebuchte Betrag von $206.37 steht. Wohin verschwanden die $107.88, welche mir nicht verbucht wurden? Auch dieser Widerspruch bestätigte mich in der Annahme, dass die Jungs ihre IT-Systeme nicht unter Kontrolle haben.

Reklamation

Ausgerüstet mit diesen Unterlagen brauchte es danach drei Anläufe, um von Budget häppchenweise zur Rückzahlung des abgebuchten Betrags zu bewegen. Zuerst erfolgte eine Rücküberweisung von $186.74, doch getreu dem Shareholdervalue und der Gewinnmaximierung verpflichtet, behielt Budget den Restbetrag aus mir unerfindlichen Gründen zurück. Nach erneuter Intervention wurden mir kürzlich noch weitere $19.63 rückerstattet (diese aber nicht von BUDGET RENT A CAR, KAHULUI, sondern von BUDGET RENT-A-CAR, SAN FRANCISCO — wahrscheinlich, weil es sich um die “irrtümlich” ebenfalls verrechneten Transportkosten handelt, die spezifisch in SFO erhoben werden. Sonst käme ja deren Buchhaltung durcheinander!). $186.74 + $19.63 = $206.10, sprich ich zahlte unter dem Strich 27 US-Cent drauf, um zu meinem Recht zu kommen (meine Opportunitätskosten von mindestens zwei Stunden Informationen zusammentragen, recherchieren und E-Mails schreiben nicht eingerechnet).

Eine Antwort auf mein letztes gehässigtes E-Mail mit einem Ultimatum für die Rückzahlung erhielt ich nicht. Einzig wurde ich danach noch zwei Mal von automatisch generierten E-Mails belästigt, welche mich zu meiner Kundenzufriedenheit befragen wollten, doch mit meiner klaren Meinung wollte ich Budget dann doch verschonen.

Chargeback über Swisscard AECS AG

Da die Überweisung etwas auf sich warten liess, schaltete ich zur Sicherheit auch noch meine Kreditkartenfirma Swisscard AECS AG ein, um einen sog. Chargeback einzuleiten. Hierzu hatte ich über die (für einmal völlig unprofessionelle und unmotivierte) Hotline ein entsprechendes Formular verlangt, welches mir in den folgenden Tagen physisch (!) per Post zugestellt wurde.

Hintergrund: Das Kleingedruckte der Kreditkartenabrechnungen liest sich so, dass eine Abrechnung 30 Tage nach Erhalt als akzeptiert gilt, wenn man nicht widerspricht. Diesbezüglich wollte ich auf Nummer sicher gehen, wenn die Transaktion effektiv wie von Budget gewarnt 30 bis 60 Tage zur Verarbeitung benötigt hätte. Zum Glück ist das Geld bereits 14 Tage nach der Intervention vollständig angekommen.

Merke

  • Amerikanischen Unternehmen und deren Mitarbeitern ist schlicht nicht (mehr) zu trauen. Im Zeichen des Shareholder Values werden Kunden auf dreiste Art verarscht und geschröpft.
  • Aus diesem Grund sind auf USA-Reisen alle physischen Verträge und Belege, die man erhält, aufzubewahren, in die Heimat überzuführen und zu Hause sicher zu lagern, bis die Kreditkartenrechnung für den gesamten Reisezeitraum erfolgt ist.
  • Jegliche Abklärungen und Kommunikation mit Dienstleistungsunternehmen sollten in solchen Fällen schriftlich resp. elektronisch erfolgen, damit man das Bündel an Dokumenten kommentarlos an den Kreditkartenanbieter senden kann.

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

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 16. September 2014

udevd meldet “invalid rule”

In /etc/udev/rules.d/10-local.rules stand bei mir Folgendes:

BUS=="usb", KERNEL=="sd?1", ATTR{manufacturer}=="LaCie*", NAME="%k", SYMLINK+="usbhdd1"

Mit einem der udev-Updates der letzten Jahre scheint sich die Notation solcher Regel etwas geändert zu haben, weshalb beim Boot-Prozess meines Linux-Servers kurzzeitig eine Fehlermeldung aufflackerte:

udevd[xxx]: invalid rule '/lib/udev/rules.d/10-local.rules:1'

Das Debugging solcher Fehlermeldungen und Regeln ist ganz einfach — wenn man weiss wie.

Auf der Kommandozeile führt man folgenden Befehl aus:

# udevadm test /etc/udev/rules.d/10-local.rules
load module index
read rules file: /etc/udev/rules.d/10-local.rules
unknown key 'BUS' in /etc/udev/rules.d/10-local.rules:1
invalid rule '/etc/udev/rules.d/10-local.rules:1'
...

Quelle: Debugging udev rules

Und siehe da, heute scheint das neu folgendermassen zu heissen:

SUBSYSTEM=="usb"

Nach der Änderung prüft man die Syntax erneut:

# udevadm test /etc/udev/rules.d/10-local.rules
load module index
read rules file: /etc/udev/rules.d/10-local.rules
unknown key 'SYSFS{manufacturer}' in /etc/udev/rules.d/10-local.rules:1
invalid rule '/etc/udev/rules.d/10-local.rules:1'
...

Aha, heute heisst das offenbar:

ATTR{manufacturer}

… und ab sofort motzt udevd nicht mehr rum:

# udevadm test /etc/udev/rules.d/10-local.rules
load module index
read rules file: /etc/udev/rules.d/10-local.rules
read rules file: /lib/udev/rules.d/42-usb-hid-pm.rules
...

Der Abend ist gerettet.

Tags: , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 10. September 2014

Kurzkritik Apple Watch

Mittlerweile habe ich mir die Zeit genommen, um den gestrigen Apple Special Event zu Gemüte zu führen. Nachfolgend einige wenige Bemerkungen zum (vielleicht) neuen Apple-Blockbuster:

  • Ich mag das Logo — Apple-Apfel mit “WATCH” in Grossschrift — nicht. Es schaut nicht elegant aus.
  • Ich könnte wetten, dass die Uhr auf Grund technischen Einschränkungen dicker ist, als es manch einem Apple-Designer lieb ist
  • Die Möglichkeit, Herzschlag und kleine Skizzen mit einem anderen Apple Watch-Träger zu teilen, ist eines der Killerfeatures, welche es weiter zu beachten gilt. Ich kann mir gut vorstellen, dass eine solche Anwendung bald auch auf’s iPhone kommen wird. Als ich die Demonstration dieser Funktion sah, musste ich mich an einen Zivilschutzkollegen erinnern: Er, gutaussehender Secondo im besten Alter, zeigte mir, wie er über sein Handy unregelmässig seine Angebetete anrief. Ihr Telefon klingelte, doch die Abmachung war es, den Anruf nicht anzunehmen. Die Bedeutung solcher Aktionen: Den anderen wissen zu lassen, dass man an ihn denkt.
  • Grösstes Problem, welches mir während der Demo des Produkts bewusst wurde: Wann benutze ich den Touch-Screen, wann benutze ich die “digitale” Krone? Diese zwei Eingabearten werden meiner Meinung nach noch mächtig zu Verwirrung sorgen.

Und zu guter letzt: Wie lange reicht eigentlich die Batterie dieses Teils?

Für mich als zunehmenden Traditionalisten und Bünzli ist klar: Wenn ich jemals wieder eine Uhr tragen werde, dann etwas edles, elegantes und langlebiges aus Schweizerischer Manufaktur.

Tags: ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 10. September 2014

Rigide Qualitätskontrolle versagt bei Apples Special Event vom September 2014

Die Ankündigung und die Gerüchteküchen haben wahrlich nicht zu viel versprochen — auch wenn sowohl die Apple Watch als auch die zwei neuen, grösseren iPhones 6 nichts für mich sein werden. Das iPhone 5s hingegen hat sozusagen über Nacht 200 Franken an Wert eingebüsst und erscheint mir je länger desto mehr als ein verführerisches Angebot.

Was mich heute ab 19 Uhr fürchterlich aufgeregt hat waren die mannigfaltigen Probleme mit dem Live-Stream, welchen ich mir über unseren Apple TV am neuen 50″ Plasma zu Gemüte führen wollte. Denkste!

  • Wie üblich brach die Übertragung in regelmässigen Abständen ab und ich musste den Apple TV-Kanal erneut von Hand aufrufen. Das bin ich mir bereits von WWDC-Keynotes gewohnt
  • Neu war jedoch das äusserst hässliche Testbild mit dem Programm des Tages, welches aus dem letzten Jahrhundert, so ca. zur Einführung des Farbfernsehens, zu stammen scheint. Da leidet bei Apple die Leidenschaft für das Detail seit Steves Ableben doch etwas zu stark … (wobei ich annehme, dass das Bild vom Sohn des CEOs des Satellitendienstleister hergestellt wurde)
  • Zu guter Letzt — aber zur Freude meiner Verlobten — hörte man einerseits Tim Cook durch die Veranstaltung führen, im Off aber säuselte mit einer Echtzeit-Übersetzung eine Frauenstimme auf Chinesisch (Mandarin).

Würde Steve leben, stünden morgen einige Mitarbeiter auf der Strasse und ausgewählte Dienstleister dürften von Apple wohl nie mehr mit Aufträgen bedacht werden …

Tags: , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 31. August 2014

Schriften auf Etsy-Einladungskarten identifizieren

Vor einigen Tagen fand ich auf der Flohmarkt-Plattform Etsy eine wunderschöne Einladungskarte.

Leider blieben meine Kontaktversuche zum Anbieter fruchtlos, weshalb ich mich dazu entschied, die Einladungskarte mit diversen layout- und designtechnischen Anpassungen selber herzustellen.

Das wichtigste Kennzeichen der Karte war die äusserst spezielle Schrift, deren Namen mir sich natürlich entzog. Was nun? Ich lud die auf Etsy publizierte Vorschaugrafik der Einladungskarte herunter, öffnete die Grafik in Photoshop, isolierte den Schriftzug, drehte diesen, damit er horizontal verlief und machte mach anschliessend auf die Suche nach einer hilfsbereiten Web-Site.

Innert Minuten stiess ich auf MyFonts und die dort angebotene Funktion What The Font. Ich lud das bearbeitete Bild auf den Server und musste anschliessend einzelne Buchstaben identifizieren. Da es sich um eine verschnörkelte Illustrationsschrift handelte, konnte die Software zusammenhängende Buchstaben nicht auseinanderhalten. Offenbar reichten die von mir identifizierten Buchstaben aber, um die Datenbank zu durchsuchen.

Die ersten Einträge in der Liste waren nicht die gesuchte Schrift, doch ungefähr auf Platz acht erschien für mich auf Anhieb ersichtlich die effektiv für die Einladungskarte verwendete Schriftart:

Rosarian Bold

Es lebe das Internet!

PS: Stephanie landete anschliessend mit der vom Designer auf Etsy verwendeten Vektorblumengrafik einen Volltreffer, weshalb ich das auf Etsy angebotene Kartenoriginal 1:1 hätte reproduzieren können.

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

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 31. August 2014

Unter Linux einen Kommandozeilenbefehl regelmässig in Sekundenabständen ausführen (ohne cron)

Kürzlich spielte ich wieder einmal eine Sicherung des Inhaltes der 2 GB SD-Card, welche in meinem uralten TomTom ONE Europe steckt, zurück auf das Gerät. Da das Navigationsgerät nur über einen USB1-Anschluss verfügt, handelt es sich um eine entsprechend langwierige Angelegenheit.

Da ich die Sicherung auf der Kommandozeile unter Verwendung von rsync und ohne irgendwelche aussergewöhnlichen Kommandozeilenoptionen durchführte (-av reicht mir in solchen Fällen), musste ich mir einen anderen Weg überlegen, um den Fortschritt zu visualisieren.

Ich öffnete mir dazu ein zweites Kommandozeilenfenster. Damit ich den Computer kurzzeitig verlassen und mich bei der Rückkehr jeweils vom Fortschritt überzeugen konnte, startete ich folgenden Befehl:

$ watch -n 1 "df -k | grep INTERNAL | awk '{print \$4} {print \$5}'"

Mit Hilfe des Unix-Tools watch kann ein Befehl alle definierten n Sekunden wieder ausgeführt werden (hier: n -1, sprich jede Sekunde). Den Befehl fügte ich in Anführungszeichen bei, weil dieser Sonderzeichen und Pipes enthielt.

Konkret wird das Tool df aufgerufen, welches Grösseninformationen über gemountete Volumes ausgibt. Mittels grep filtere ich den Datenträger heraus, welcher mich interessiert. Und mittels awk isoliere ich dann die Grössenangaben über den noch verfügbaren Speicher (-k, das heisst in Kilobytes). Diese Zahl sollte im beschriebenen Anwendungsfall stetig nach unten zählen, bis der Kopiervorgang zu Ende ist.

WICHTIG: Damit awk in einem solchen Konstrukt funktioniert, müssen die Dollarzeichen escaped werden.

Tags: , , ,
Labels: Linux

1 Kommentar | neuen Kommentar verfassen

Sonntag, 31. August 2014

Verzeichnis ohne Inhalt in SVN Repository einchecken

In meinem Falle wollte ich ein Cache-Verzeichnis in ein SVN Repository einchecken, ohne die aber in der Zwischenzeit darin abgelegten Cache-Dateien. Nichts leichter als das — SVN sieht auch für diesen Fall eine passende Kommandozeilenoption vor:

$ svn add --depth=empty cache

Via: Add directory structure to SVN, without files

Tags: ,
Labels: Programmierung

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 31. August 2014

Über die Herkunft von Hugo Reitzel Maiskolben

Nach der zweitägigen Wanderung von Innertkirchen zur Gaulihütte und zurück zum Parkplatz Mürvorsess im Urbachtal galt es heute Sonntag bei der Ankunft in Bern meinen Heisshunger zu bändigen. Was gibt es da besseres, als an einem wolkenbehangenen, kühlen Sonntag-Nachmittag die Raclette-Saison einzuläuten?

Nachdem ich viel zu viele Scheiben heissen Käse mitsamt Beilagen verschlungen hatte, fiel mir in einer ruhigen Minute plötzlich auf, dass sich die Etiketten der Hugo Reitzel Silberzwiebeln und Hugo Reitzel Maiskölbchen auf subtile Weise unterscheiden:

Hugo Reitzel Essigwaren

Den Maiskölbchen fehlt das Schweizer Kreuz! Wieso denn das, fragte ich mich — und wurde auf der Rückseite rasch fündig: Die Maiskölbchen sind “Fabriqué en Inde”. Ja Himmelheiland! Da tischt man sich nach einer Wanderung in urschweizerischen Gegenden (heute fand in Meiringen notabene auch noch das 12. Eidg. Scheller- und Trychlertreffen statt) ein urschweizerisches Mahl auf, und isst dann zusammen mit in einem in China hergestellten Raclette-Öfeli geschmolzenen Schweizer Käse und Schweizer Patatlis nicht etwa lokal hergestellte Maiskölbchen, sondern solche, welche aus Indien um die halbe Welt geschifft werden?

Nun gut, dachte ich mir — die Produkte hatte ich während einer Aktion als 3er-Combo-Pack im nahegelegenen Denner erstanden. Per Zufall hatte ich angesichts der in diesem enttäuschenden Sommer viel zu früh nahenden Raclette-Saison weitere Maiskolben angeschafft. Doch dieses Mal in der MIGROS. Und die Verwalter von Duttis Erbe würde ja sicherlich keinen solchen ökologischen Irrsinn befürworten. Denkste:

Hugo Reitzel Essigwaren Rückseite

Auch die MIGROS Classic-Maiskölbchen stammen aus Indien: “Elaboré en Inde”. Und analog zur Verpackung von Hugo Reitzel ist auch auf der MIGROS-Verpackung jeder Text in dreifacher Übersetzung (D/F/I) angebracht, ausser die Herkunftsbezeichnungen, welche erstaunlicherweise ausschliesslich in Französisch wiedergegeben sind. Zufall? Absicht?

Und aus aktuellem Anlass: Wie wissen in diesem Falle die armen Thurgauer- und Nidwaldner-Kinder eigentlich, wo ihre Speisebestandteile herkommen?

Tags: , , , , ,
Labels: Shopping

Keine Kommentare | neuen Kommentar verfassen