Warum Apple endlich einen eigenen Fernseher herausbringen sollte

Die Antwort ist einfach: weil alle anderen Geräte Schrott sind!

Aber machen wir es ausführlich:

Vor ca. 3 Jahren habe ich mir den ersten LCD Fernseher gekauft – einen Philips mit Ambilight. Ein echt tolles Gerät, aber leider auch ein sehr typischer Vertreter der ersten Smart TVs mit einer unterirdisch schlechten Leistung. Das Bild ist echt super, ABER: Ein Tastendruck führt dazu, dass erst ca. 1 Sekunde später die Reaktion auf dem Bildschirm sichtbar ist, die Internet Inhalte brauchen eine gefühlte Ewigkeit, ehe sie geladen sind usw. – es fühlt sich einfach nur träge an. Hinzu kommen Unzulänglichkeiten, wie etwa, dass bei eingestecktem Kopfhörer (ich schließe so mein 2.1 Audio System an den Fernseher an) trotzdem die Lautsprecher des Fernsehers aktiv bleiben und die Lautstärkeregelung weiterhin nur für diese funktioniert und nicht etwa, wie man annehmen würde, für die Kopfhörer…und zu guter letzt wird man mit einer relativ langen Anschaltzeit sowie einer furchtbaren Sendersortierung bestraft. Ein paar gute Ideen der Techniker sind schon erkennbar, aber trotzdem stellt sich die Frage, warum man ein solches Gerät guten Gewissens in den Laden stellt. Es wirkt wie ein Prototyp, der noch den letzten Feinschliff benötigt.

3 Jahre später, ich stehe mal wieder im Elektronikfachgeschäft und sehe mir die neuesten Errungenschaften der Technik an. Das Bild hat sich nicht allzusehr gewandelt. Gut, die Preise sind etwas runter gegangen, aber letztlich bekommt man noch lange keine Topgeräte für sein Geld. Nachdem verschiedene Prototypen begutachtet sind, entscheide ich mich für ein Samsung Gerät – vor allem wegen Empfehlungen aus dem Bekanntenkreis. Die Verkäufer faseln irgendwas von Dualcore Prozessoren und Erweiterungsschächten, mit denen man die Kiste später updaten kann. Ich nehme die günstigere Variante (6000er Serie) mit Single Core CPU (so ganz einig waren sich die zwei Verkäufer doch nicht und behaupteten jeweils, dass es ein Single Core oder eben ein Dualcore ist) und freue mich aufs auspacken.

Das Gerät ist schnell montiert und die Einrichtung geht auch einfach von der Hand – allerdings schon mit deutlich zu viel Fachchinesisch. Warum geht das nicht einfacher und mit mehr Bildchen?
Nun ja, nachdem ich nun den ersten Sender sehe, ist der natürliche Reflex, erstmal die Sender ordentlich zu sortieren. Denn das macht so ein smarter Fernseher nicht etwa für mich – er sortiert die Sender lieber einfach alphabetisch. Schön gemischt mit verschlüsselten Sendern, obwohl er bereits gemerkt haben sollte, dass ich keine Decoder Karte eingesteckt habe und diese Sender daher ohnehin nicht sehen kann. Er müsste sie ja noch nicht mal löschen, aber ausblenden wäre eine Option. In irgendwelchen Videos im Netz habe ich gesehen, dass man irgendwo beim Sendersuchlauf einstellen kann, ob man überhaupt verschlüsselte Sender haben will. Einmal hatte ich diese Option auch, beim nächsten mal war sie verschwunden. Wahrscheinlich stelle ich mich auch einfach zu blöd an. Aber ist es nicht gerade die Aufgabe eines smarten Fernsehers, für mich mitzudenken und mir das Leben so leicht wie möglich zu machen?

Um so richtig Smart zu sein, bietet Samsung natürlich auch eine App. für diverse mobile Endgeräte an, mit der man den Fernseher auch per WLAN steuern kann. An sich eine sehr nette Idee, aber warum genau ist diese App. nichts anderes als eine virtuelle Fernbedienung, die nur ab und zu bei Textfeldern – hier kann man dann die Tastatur des mobilen Gerätes verwenden) wirklich nützlich ist? Wisst ihr, was mir zuerst in den Sinn kommen würde, wenn ich so eine App. bauen würde? Ich würde die Senderliste als echte Liste auf dem Handy anzeigen, sodass man Sender direkt auswählen könnte. Eine Einstellungsseite würde die gleiche Liste, aber mit Sortieroption bieten – einfacher könnte man eine Sendersortierung fast nicht mehr gestalten. Ich würde Menüpunkte einbauen, die direkten Zugriff auf die Apps des Fernsehers ermöglichen. Diese Ansicht gibt es sogar bereits, aber nur, wenn man den Smart Hub des Fernsehers aufruft. Wenn ich soweit mit der Fernbedienung navigiert habe, warum sollte ich nun das Handy in die Hand nehmen? Warum kann ich nicht direkt in der App. das Epg sehen, meine Aufnahmen planen oder mir auch den Videotext ansehen? Vielleicht verstehe ich den Begriff smart aber auch nur falsch…

Und weiter geht es mit den Einstellungen des Fernsehers. Glücklicherweise sind die schon kompakt gehalten, aber warum muss ich mich z.B. beim Bild mit einzelnen Punkten wie Schärfe, Farbwert usw. herumschlagen? Ich finde es gut, dass es die Einstellmöglichkeit gibt, aber bitte nicht auf der ersten Menüebene. Auf dieser will ich ein paar perfekt optimierte Vorgaben wie Film, normales Fernsehen, analoges Fernsehen, usw. auswählen können. Gerne auch mit der Möglichkeit, dass ich diese Einstellung pro Quelle (also Tuner, hdmi1, hdmi2,… usw.) auswählen kann. Da sich natürlich digitale, digitale Hd sowie analoge Sender in meiner liste befinden, sollte ich für jede Art den Modus festlegen können. Aber das natürlich auch nur optional. Die restlichen Einstellungen sind mehr oder weniger kryptisch. So war es mir nicht möglich, bei eingestecktem LAN Kabel das WLAN zu konfigurieren. Es gibt noch Menüpunkte wie Datennutzung oder Direct Wifi, mit denen ich nicht viel anfangen kann.

Ich öffne die Social tv App (der Fernseher ist leider noch nicht so Smart, dass ich dies als Standardfall nehmen kann) und möchte nebenher Statusmeldungen von Facebook lesen. Nach ca. 15 Sekunden Ladezeit sehe ich auch die Statusmeldungen und kann sie nun durch einzelne Tastendrücke durchscrollen. Möchte ich spontan einen Status absetzen, muss ich erstmal wieder ganz nach oben scrollen – also über jeden einzelnen Beitrag zurück gehen. In dieser Form ist die App. einfach nur unbrauchbar. Das Verhalten zieht sich durch mehrere Apps durch. Ich bezahle jeden Monat für eine 32.000er Internetanbindung. Jedes meiner Geräte profitiert davon – außer der Fernseher.

Die 3D Funktion des Fernsehers ist wirklich nett und gefällt mir persönlich deutlich besser als die passive Variante, welche man im Kino zu sehen bekommt. Mit der App. Explore3d bekommt man entsprechendes Bildmaterial direkt übers Internet kostenlos geliefert. Besonders die Doku über Alligatoren ist sehr beeindruckend. Außerdem bemerkt die Youtube App., wenn sie 3D Material wiedergibt und aktiviert dann auch gleich die Brillen. Hier muss ich jedoch anmerken, dass 3D mit verschwommenen youtube Videos nicht so toll ist. Ein weiteres nettes Feature ist die Möglichkeit, dass man bei angeschlossener Konsole den 3D Modus dazu verwenden kann, dass bei Spielen mit geteiltem Bildschirm jeder Spieler nur sein Bild sieht. Den Modus kann man wunderbar aktivieren und prinzipiell würde er auch funktionieren, aber leider kommt dann folgendes heraus: auf dem linken Auge sieht man das Bild des ersten Spielers, auf dem rechten das des zweiten Spielers. Ich habe keine Ahnung, was ich noch einstellen muss, oder, ob es evtl. spezielle Brillen für diesen Modus gibt. Das online Manual auf dem Fernseher weist darauf zumindest nicht hin. Und eine kurze google suche ergab auch nichts brauchbares. So habe ich prinzipiell eine tolle Funktion, kann sie aber nicht nutzen. Richtig imposant wird es aber, wenn Konsolenspiele den 3D Modus an sich unterstützen. Sofern man frontal vor dem Fernseher sitzt, schwingt dann die Wumme im Call of Duty Match in wunderbarem 3D vor einem hin und her.

Ein Lichtblick ist die Aufnahme bzw. Timeshift Funktion. Hierfür muss der eingesteckte USB Stick bestimmte Anforderungen (Schreib- und Lesegeschwindigkeit) erfüllen, die der Fernseher vor der ersten Verwendung überprüft. Sobald der Stick geprüft und formatiert ist, kann man jederzeit die Aufnahme oder Pause Taste drücken und startet somit entweder eine Aufnahme, oder aber Timeshift. Über die Ladezeit, bis Timeshift wirklich aktiv ist, kann man sich streiten, mit ca. 5 bis 10 Sekunden ist sie aber noch immer gut im Rahmen. Aufgrund gewisser Interessengruppen ist es leider nicht möglich, den Stick mit Aufnahmen an den Rechner oder auch nur an einen anderen Fernseher des gleichen Types zu stecken. Zumindest nicht mit Bordmitteln – zu gegebener Zeit werde ich nochmal schauen, was da möglich ist…

Da ich mir die anderen Marken nur im Geschäft angesehen habe, kann ich nicht wirklich ein volles Urteil abgeben. Was ich jedoch vor Ort gesehen habe, hat mich nicht unbedingt umgehauen. Letztlich sind alle Fernseher mit technischen Spielereien ausgestattet, die man zwar mitbezahlt, aber eigentlich nicht braucht. Hätte man die Zeit und das Geld lieber darin investiert, die bestehenden Features perfekt zu machen, wäre allen geholfen…

Was mir nicht so recht in den Kopf gehen will: es arbeiten sehr viele Leute bei den jeweiligen Herstellern, die die eigenen Geräte ja höchstwahrscheinlich auch täglich verwenden. Fällt das alles niemandem auf, oder habe ich einfach zu hohe Ansprüche? Meiner Meinung nach bekomme ich für 1000€ bereits einen sehr ordentlichen Rechner mit relativ großem Display. Alles, was den Fernseher unterscheidet, ist das größere Panel. Mir kann niemand erzählen, dass das den Preis so extrem nach oben schraubt, sodass man gezwungen ist, extrem billige und leistungsschwache Technik einzubauen. Um die Teile flotter zu machen, muss man ja noch nicht mal viel Geld in die Hand nehmen. So ein guter mobiler Chip bewegt sich irgendwo im Bereich bis ca. 20€ – wenn überhaupt. Damit würde die Gesamthaptik deutlich profitieren. Ein Hersteller, der sowas durchsetzt, würde auch deutlich Profit davon tragen.

[Infografik] wie viel kostet es, eine App zu erstellen

Auch wenn es die eine oder andere gut klingende Erfolgsstory von der “Millionen App übers Wochenende” gibt, so ist die Realität dann doch, dass so eine App ordentlich Zeit und Geld kostet – außer man ist Entwickler und auch grafisch begabt…dann kostet es nur Zeit 😉

20130213-082004.jpg

via ideatoappster.com

Es gibt keine echte Innovation

So etwas hier bekommt man von Kollegen bei der obligatorischen Apple Diskussion vorgesetzt:

Inhaltlich kann man dem jungen Herren im Video nichts vorwerfen – man könnte jedoch einwenden, dass seine Argumente so ziemlich jede Firma betreffen. Vor allem, wenn er auf die Unibody Gehäuse zu sprechen kommt und dann mehr oder weniger argumentiert, dass nur niemand vorher so blöd war und so viele cnc Fräsen für ein solches Produkt zu verwenden. Gleiches Thema mit dem Magsafe Stecker, wo ein Stecker aus den 60er oder 70er Jahren gezeigt wird. Das Video bestätigt nur mal wieder, dass es keine “echte” Innovation gibt – letztlich basiert jede Erfindung auf etwas, was bereits vorher da war.

Wenn man schon derartige Debatten führt (wozu ich mich leider immer wieder verführen lasse), dann sollte man zumindest sachlich bleiben. Aber das wird man bei derart emotionalen Themen wohl nie hinbekommen…

[Quicktip] .nfo Dateien mit der Mac OSX Vorschau / Quick Look anschauen

Ihr kennt sicherlich das extrem coole Feature von Mac OSX, dass man im Finder oder auf dem Desktop nur die Leertaste drücken muss, und schon erscheint eine kleine Vorschau der jeweils gerade ausgewählten Datei. Dies geht leider nur mit einigen bekannten Formaten wie txt Dateien oder Bildern. Möchte man damit z.B. weitere Textdateien, die jedoch andere Endungen verwenden, öffnen, dann geht es nicht von Haus aus. Ein Beispiel hierfür sind z.B. .nfo Dateien.

Um auch diese Dateien per Quick Look ansehen zu können, muss man folgendes machen:

Die Datei /Applications/TextEdit.app/Contents/Info.plist editieren – dies kann man entweder per

sudo vi /Applications/TextEdit.app/Contents/Info.plist

oder über den Finder den Ordner Programme aufrufen, dort das Programm TextEdit raussuchen und anschließend per Rechtsklick den Menüpunkt “Programminhalt anzeigen” öffnen. Nun in den Ordner Contents wechseln und dort die Datei Info.plist öffnen. Achtung: hierfür werden Adminrechte benötigt!

In der Datei angekommen, bewegt euch ganz nach unten vor die beiden schließenden Tags

und fügt da folgendes ein:

<key>UTExportedTypeDeclarations</key>
	  <array>
	    <dict>
	      <key>UTTypeConformsTo</key>
	      <array>
	        <string>public.text</string>
	        <string>public.plain-text</string>
	      </array>
	      <key>UTTypeDescription</key>
	      <string>NFO information file</string>
	      <key>UTTypeIdentifier</key>
	      <string>com.macromates.textmate</string>
	      <key>UTTypeTagSpecification</key>
	      <dict>
	        <key>com.apple.ostype</key>
	        <string>TEXT</string>
	        <key>public.filename-extension</key>
	        <array>
	          <string>nfo</string>
	        </array>
	      </dict>
	    </dict>
	  </array>

Anschließend speichern und noch auf der Konsole ein

sudo touch /Applications/TextEdit.app

ausführen. Anschließend sollten auch .nfo Dateien mittles Leertaste angezeigt werden.

via macuser.de

Ein schönerer Desktop

Und hier mal wieder ein Artikel von meinem ehemaligen Kollegen Alberto, dieses mal zum Thema Desktop Verschönerung auf dem Mac…

Die meisten Mac Desktops sehen eher langweilig aus und weichen kaum vom Standard ab. Wer nicht ganz im Einheitsgrau versinken will, hat immerhin ein spannendes Hintergrundbild. Eine Vielfalt wie gemodete Desktops unter Windows vermisst man jedoch auf den meisten Macs. Dabei gibt es mit dem GeekTool im AppStore durchaus ein mächtiges, zudem kostenloses Werkzeug, um den eigenen Hintergrund zum Leben zu erwecken. Am Beispiel meines eigenen Desktops möchte ich euch demonstrieren, was möglich ist – mit ein paar Zeilen Bash und dem GeekTool.

Der richtige Hintergrund

Alles steht und fällt mit dem richtigem Hintergrundbild, dieses bildet die Basis für unseren lebendigen Desktop. Ich habe mich hierbei für Vaporware 2.0 von http://browse.deviantart.com/?q=aurahack#/d1kj7zb entschieden, da ich ein großer Fan der 8Bit Kunst und ebenso Musikliebhaber bin. Kleiner Bonus: das Bild gibt es auch in einer hohen Auflösung und eignet sich damit Perfekt für mein Retinadisplay.

Typhographie

Die Magie dieses Desktops ist vor allem den Ausgaben der verschiedenen Shellscripte geschuldet. So ist eine entsprechend passende Schrift unerlässlich, wenn man sich die Wirkung nicht durch eine 08/15 Standardschrift zerstören will. Aufgrund des 8Bit Themas des Hintergrundbildes sollte die Schrift auch ein wenig pixelig, eben 8Bit Style sein. Fündig geworden bin ich hier mit dem 8Bit Wonder, welches für alle Ausgaben verwendet wird. Die Farbwahl für die Ausgaben fiehl dabei auf weiß, da dies beim gewählten Hintergrund den besten Kontrast ergibt.

Die Magie

Bis hierher haben wir nur ein gut aussehendes Hintergrundbild – aber das haben viele. Wir wollen mehr. Wir wollen den ultimativen Hintergrund. Um das zu ermöglichen, brauchen wir ein paar Scripte, die wir mittels GeekTool ausführen und richtig auf dem Desktop platzieren.

CPU- und Arbeitsspeicherverbrauch

Beginnen wir in der rechten, oberen Ecke. Wäre es nicht toll, hier den aktuellen Arbeitsspeicherverbrauch und die genutzte CPU im Blick behalten zu können? Hierfür müssen wir einfach ein Shell geeklet aus dem gestarteten GeekTool auf die richtige Stelle auf dem Desktop ziehen und in den Einstellungen das Command Feld mit dem unten stehenden Script befüllen. Dieses liest die CPU Load mithilfe von top aus und formatiert diese als Balkendiagramm mit entsprechender Prozentanzeige. Selbiges wird für den Arbeitsspeicher durchgeführt, nur, dass sowohl Werte für den genutzten und ungenutzten Speicher ausgelesen werden. Damit wir immer aktuell bleiben, sollte die refresh time auf 0.1 Sekunden gesetzt werden. (Anm. Bytelude: bei solch kurzen Refresh-Zyklen immer die CPU und den Akkuverbrauch im Auge behalten – im Zweifel lieber längere Refresh-Raten verwenden)

myCPU=`top -l 1 | awk '/CPU usage/ {print $3}' | sed s/%//`
myCPU=`echo "tmp=$myCPU; tmp /= 1; tmp" | bc`
typeset -i b=9
echo "CPU Usage      \c"
while [ $b -lt $myCPU ]
do
    echo "33[1;37m▇33[0m\c"
    b=`expr $b + 10`
done
#echo "33[1;39m█33[0m\c"
while [ $b -lt 99 ]
do
    echo "33[2;30m▇33[0m\c"
    b=`expr $b + 10`
done
echo "  $myCPU%\c"
echo "\r"
unset myCPU
unset b
myUsedMem=`top -l 1 | awk '/PhysMem/ {print $8}' | sed s/M// `
myFreeMem=`top -l 1 | awk '/PhysMem/ {print $10}' | sed s/M// `
myActiveMem=`top -l 1 | awk '/PhysMem/ {print $4}' | sed s/M// `
myTotalMem=` expr $myUsedMem + $myFreeMem`
myUsedPer=`echo |awk '{print f / t * 100}' f=$myActiveMem t=$myTotalMem`
myUsedPer=`echo "tmp=$myUsedPer; tmp /= 1; tmp" | bc`
typeset -i c=9
echo "Memory Usage   \c"
while [ $c -lt $myUsedPer ]
do
        echo "33[1;37m▇33[0m\c"
        c=`expr $c + 10`
done
#echo "33[1;39m█33[0m\c"
while [ $c -lt 99 ]
do
        echo "33[2;30m▇33[0m\c"
        c=`expr $c + 10`
done
echo "  $myUsedPer%\c"
echo "\r"
unset myUsedMem
unset myFreeMem
unset myTotalMem
unset myUsedPer
unset c
unset count
unset i
unset currname
unset currp
unset a

Dienste im Blick behalten

Als Webentwickler kann man nicht ohne seinen Apache und seine MySQL Datenbank entwickeln. Warum also nicht den Status dieser beiden Dienste im Blick behalten und sofort sehen, ob diese laufen oder gerade offline sind? Selbstverständlich kann hiermit auch jeder andere Dienst im Auge behalten werden, solange dessen Prozessname bekannt ist. Hierfür wird, wie im vorherigen Beispiel, ebenfalls ein Shell geeklet benötigt, welches unten stehendes Script als Command mit bekommt. Dieses durchsucht den Prozessbaum, angezeigt durch ps, nach dem gewünschten Prozess. Wenn dieser gefunden wird, so wird in grün running ausgegeben, ansonsten in rot gestaltet ein offline. Gekapselt ist das ganze in eine Bashfunktion, welche mit echo ausgegeben wird. Auch hierbei sollte die refresh time des geeklets nicht außer acht gelassen werden, jedoch reichen hier auch größere Sekundenwerte.

 typeset -i show=0 function service() { echo $1 | tr '[:lower:]' '[:upper:]' if ["$(ps -Ac | grep $1)" != "" ] then echo "33[1;32m running 33[0m else echo "33[1;31m offline 33[0m fi }
echo $(service httpd) echo $(service mysqld) 

Wer bin ich?

Manchmal gibt es diesen Moment, da fragt man sich: wer bin ich, woher komm ich, wohin gehe ich. Als ITler folgt darauf meist die Frage nach der eigenen IP als zentraler Lebenspunkt – also warum diese nicht ebenfalls immer in Sicht haben? Auch dafür können wir wieder ein Shell geeklet nutzen, welches per curl die eigene externe IP beim DNS-Provider dyndns.org erfragt und aus der Rückgabe per sed alle Zeichen außer Zahlen und Punkten entfernt, da um die eigentliche IP herum etliche HTML-Tags liegen. Das fertige Script sollte danach wie folgt aussehen:

echo External IP: `curl -s http://checkip.dyndns.org/ | sed 's/[a-zA-Z/ :]//g'`

Hier spielt die Musik!

Da die letzten paar Scripts alle technischer Natur waren und wohl nicht für jeden Nutzer das richtige bieten, sollen nun auch ein paar Informationen angezeigt werden, die nicht nur technikaffinen Menschen etwas bringen. Und da (fast) jeder Musik mag: warum nicht einfach den aktuellen Titel mit Interpreten und zugehörigem Album anzeigen, sofern iTunes gerade läuft? Passt ja auch ganz gut zum gewählten Hintergrund. Glücklicherweise hat iTunes seit einiger Zeit eine Script Schnittstelle, welche per AppleScript abgefragt werden kann und entsprechende Informationen bereit stellt. Da GeekTool aber AppleScripts nicht direkt ausführen kann, lohnt es sich einen Blick auf das Kommando osascript zu werfen, welches nichts anderes tut, als ein übergebenes AppleScript auszuführen und die Rückgabe auszugeben. Mithilfe des Parameters -e kann hier auch eine Zeichenkette als Script übergeben werden und es muss kein zusätzliches Script auf einer nie wieder auffindbaren Stelle im System hinterlassen werden. Unten stehendes Script tut dann nichts weiter als sich alle Prozesse mit ihrem Namen vom System zu holen, diese nach iTunes zu durchsuchen und im Fehlerfall, wenn iTunes also nicht läuft, die Ausgabe auf Stopped zu setzten. Wenn iTunes jedoch gerade läuft holt das Script sich Titel, Album und Interpret des gespielten Lieds und schreibt diese auf den Outputstream. Ein kleiner Trick hierbei sind die new_line Tags, welche als Trennzeichen genutzt werden, um die drei Attribute später untereinander ausgeben zu können. Die Ausgabe geschieht dabei mit einem echo, welches nach awk gepipet wird. Awk kümmert sich darum, dass anhand des new_line Tags die Ausgabe zerlegt und nur der gerade relevante Teil ausgegeben wird. Das fertige Script sieht dann wie folgt aus und kann direkt in einem Shell geeklet laufen gelassen werden:

DATA=$(osascript -e 'tell application "System Events"
    set myList to (name of every process)
end tell
if myList contains "iTunes" then
    tell application "iTunes"
        if player state is stopped then
            set output to "Stopped"
        else
            set trackname to name of current track
            set artistname to artist of current track
            set albumname to album of current track
            set output to trackname & "new_line" & artistname & "new_line" & albumname
        end if
    end tell
else
    set output to "Enjoy the silence"
end if')
echo $DATA | awk -F new_line '{print $1}'
echo $DATA | awk -F new_line '{print $2}'
echo $DATA | awk -F new_line '{print $3}'

Mehr Text

Viel Musik lebt von ihren Lyrics, also zeigen wir diese auch gleich noch mit an. Zumal auf dem Hintergrundbild noch einiges an Platz frei ist, der sonst so leer wirkt. Das folgende Script ist im Grunde genommen nicht viel anders als das vorherige, jedoch wird diesmal nur per AppleScript der Liedtext zum aktuellen Song abgefragt. Sollte iTunes nicht laufen, so wird hier nur ein leerer String zurück gegeben. In der Ausgabe werden alle Vorkommen von “\r” durch “\n” ersetzt, damit diese Umbrüche korrekt umgesetzt werden.

echo "\n\n"
osascript -e 'tell application "iTunes" to lyrics of current track' | tr '\r' '\n'

Zeit ist Geld

Als nächstes sollten wir einen Blick auf den Gameboy in der rechten, unteren Ecke werfen, welcher bisher nichts anzeigt. Das soll sich ändern. Um auch mal ein einfaches Script zu nutzen soll hier nur mit Hilfe des date Kommandos das aktuelle Datum, sowie die Uhrzeit angezeigt werden. Hierzu gibt es nicht viel zu sagen, dem date Kommando wird als Argument mitgegeben, wie das Datum, respektive die Zeit aussehen soll, weitere Optionen hierzu sind in der entsprechenden Manpage nach zu lesen.

date +%d.%m.%y
date +%H:%M

Alle Farben sind schön

Um auch mal eine aufwändigere Kombination von mehreren geeklets zu zeigen und ein wenig Farbe ins Spiel zu bringen, soll unser aktueller Speicherverbrauch in einem Tortendiagramm visualisiert werden, welches die Kopfhörer des Hintergrundbildes überlagert. Dafür brauchen wir zwei geeklets: ein Shell geeklet zum Sammeln der Daten und Generieren der Grafik sowie ein Bild geeklet zum Anzeigen der generierten Grafik. Das Sammeln der Daten geschiet im Grunde genommen durch das Auslesen der Prozessliste mit ps und umformartieren dieser Informationen per cut, sed, awk und anderen UNIX Tools. Hier in die Tiefe zu gehen würde nur unnötig ausarten. Die gesammelten Daten werden danach mit Hilfe der Google Chart API zu einer ansehnlichen Grafik aufbereitet, welche per curl im temporären Ordner abgelegt wird.

SIZE="450x650"
TYPE="pc"
COLOR="E5707070|C5606050|C5A5A050|AAAAFF50|AAAAFF30,E5AB77|F5CB97"
BG="bg,s,00000000"
ps Amo pmem,comm | grep -v % | sed 's/\/.*\///; s/^ //; s/,/\./' > /tmp/memusage.log
grep -v "0\." /tmp/memusage.log > /tmp/memusage2.log
(grep "0\." /tmp/memusage.log | cut -d\  -f1 | paste -sd+ - | bc; echo others) | xargs >> /tmp/memusage2.log
data=`cut -d\  -f1 /tmp/memusage2.log | paste -sd, -`
unused=`echo $data -100 | sed 's/,/\+/g' | bc`
legend=`cut -d\  -f2,3,4,5 /tmp/memusage2.log | sed 's/ /%20/g' | paste -sd\| -`
sum=`vm_stat | head -6 | tail -5 | awk 'BEGIN{sum = 0;} {sub(/\.*$/,""); sum+=$NF} END{print sum}'`
vm_stat | head -6 | tail -5 | awk -F: '//{print $1, 100*$2/'$sum'}' | sed 's/down //; s/,/\./' | cut -d\  -f2,3 > /tmp/memusage3.log
pfree=`grep free /tmp/memusage3.log | cut -d\  -f2`
pinactive=`grep inactive /tmp/memusage3.log | cut -d\  -f2`
pactive=`grep "^active" /tmp/memusage3.log | cut -d\  -f2`
pspeculative=`grep speculative /tmp/memusage3.log | cut -d\  -f2`
pwired=`grep wired /tmp/memusage3.log | cut -d\  -f2`
pmem="$pwired,$pactive,$pinactive,$pspeculative,$pfree"
plab="wired|active|inactive|cache|free"
rm /tmp/memusage.log
rm /tmp/memusage2.log
rm /tmp/memusage3.log
link="http://chart.apis.google.com/chart?cht=$TYPE&chs=$SIZE&chd=t:$pmem|$data,$unused&chco=$COLOR&chf=$BG&chl=$plab|$legend|"
echo $link

So viel zum schwierigen Teil, denn sobald das Bild generiert wurde, muss es nur noch mit Hilfe eines Bild-geeklets angezeigt werden. Mit 230 Pixeln Höhe und Länge ist das geeklet optimal dimensioniert und überdeckt genau die Kopfhörer. Als weitere Eigenschaften müssen neben der schon bekannten refresh time, denn dieses Bild soll alle paar Sekunden neu generiert werden, auch die Bildurl angegeben werden. Hierbei kann per file:///tmp/memusage.png auf das eben generierte Bild zruück gegriffen werden. Um die Infos aktuell zu halten, sollten beide geeklets eine kurze refresh time bekommen.

Wenn auch diese beiden geeklets funktionieren, ist die Arbeit erstmal getan. Jedoch gibt es noch viel zu entdecken und mit Hilfe des MacOSX Unix Unterbaus gibt es noch viele weitere Möglichkeiten, verschiedenste Informationen abzurufen und diese auf dem Desktop darzustellen. Hier kann sich ruhig ausgetobt werden, um die perfekte Balance zwischen nützlicher Datenvisualisierung und optisch ansprechendem Desktop zu finden.

Warum man in OSX Mountain Lion seine Social Network Logins hinterlegen kann

Unter iOS ist es ja bereits sehr prominent möglich, seinen Twitter und seit Version 6 auch seinen Facebook Account zu hinterlegen und somit systemweit Beiträge darüber zu schreiben. Erst jetzt ist mir aufgefallen, dass man diese Möglichkeiten auch unter OSX Mountain Lion hat, wobei der Spaß hier noch deutlich weiter geht…

Facebook und Twitter sind natürlich völlig klar und sorgen dafür, dass man in der Notification Leiste von Mountain Lion nun direkt im jeweiligen Netzwerk posten kann. Außerdem erhält man auch alle Notifications von Facebook als OSX Notification. Sehr nett. Aber was hat es z.B. mit Vimeo oder Flickr auf sich? Nun, dazu muss man einfach mal im Finder eine Bilddatei oder ein Video mit der rechten Maustaste anklicken und schon hat man folgende Möglichkeit:

oder

Es ist wirklich grandios. Kein einloggen, Upload starten, warten, Browser ja nicht schließen usw., sondern einfach nur anstoßen und machen lassen und schon landen eure Inhalte im gewünschten Netzwerk. Leider geht die Integration nicht immer gleich super weit – so ist es z.B. nicht möglich, Bilder auch auf einer Facebook Seite zu posten. Schade auch, dass Youtube nicht als Service unterstützt wird – oder ich stell mich zu blöd an. Aber mit Vimeo hat man auf jeden fall ein ordentliches Portal dabei.

Das neue Ad-Tracking unter iOS 6 und wie man es deaktiviert

Oh Apple, warum lässt du dich auf sowas ein? Du ermöglichst Werbetreibenden zu sehen, welche Dinge ich mir so im Netz anschaue (zumindest anonymisiert), damit diese geziehlt Werbung für mich schalten können. All dies wäre nicht schlimm, wenn du dies wenigstens standardmäßig deaktivieren bzw. nachfragen würdest – als absolutes Minimum aber den entsprechenden Menüpunkt an der korrekten Stelle ablegen würdest (nämlich unter dem Menüpunkt “Datenschutz” und nicht etwa in den Systeminformationen!). All dies tust du nicht, daher informiere ich nun alle iOS 6 User darüber 😉

Also, folgende Schritte sind notwendig, solltet ihr das neue Ad Tracking auf eurem Gerät deaktivieren wollen:

Wer noch ein bisschen mehr darüber erfahren möchte, der kann sich folgenden Artikel zu Gemüte führen:
http://www.businessinsider.com/ifa-apples-iphone-tracking-in-ios-6-2012-10?op=1