Amazon AutoRip – Herunterladen unter Linux

Ich lese gerade von der coolen Funktion, dass Amazon jetzt für alle gekauften Alben (über Amazon, selbstverständlich) automatisch auch eine MP3-Version davon vorhanden ist. Das finde ich prima, weil ich seltenst noch wirklich die CD an sich nutze, sondern eh mir einen eigenen Rip mache. Und jetzt übernimmt das Amazon für mich. Gut, bestimmt ist da DRM oder sonstwas mit drin, aber das macht ja nichts, ist ja nur für den Eigengebrauch 🙂

Weil ich aber auf meinem Handy nicht den Amazon-Player nutzen will, sondern den Standard-Android-Musik-Player, wollte ich das alles herunterladen.

Jetzt gibts da wie immer zwei Möglichkeiten. Über die Amazon-Musik-App (für Mac und Windows) oder über den Browser. Ich hab gerade ein Linux, deswegen halt über den Browser.

Gibt auch ne Fancy „select all“-combobox, und ein „Herunterladen (145 Lieder)“, aber was kommt danach:amazon_cloud_player.linux
Ernsthaft? 145 sind jetzt nicht wirklich viel, da gibts Leute mit tausenden Liedern, aber jedes einzeln runterladen? Nein Danke.

Allerdings bin ich glücklicherweise nicht der Einzige mit dem Problem. Die Lösung: So tun, als wäre man mit Windows unterwegs. Hervorragend. Funktioniert.

ant + bad version

Ich  hatte die ganze Zeit ein Problem, dass wenn ich mein JAVA_HOME auf java5 gebogen habe, dass sich ant verabschiedet hat mit

java.lang.UnsupportedClassVersionError: Bad version number in .class file

Also noch bevor überhaupt das build.xml ins Spiel kam. Nach ein bissle recherche liegt es daran, das die xerces-XML-lib in ubuntu ohne target gebaut ist und somit auf 1.6 steht. Das klappt dann natürlich nicht mit 1.5.

Der Fix den ich jetzt gemacht habe ist relativ trivial:

http://packages.ubuntu.com/de/quantal/all/libxerces2-java/download

dort, eigentlich vor seiner Zeit (Quantal ist ja noch nicht stable) wurde das target wieder auf 1.4 gesetzt und somit klappts auch mit den Nachbarn.

Geburtstage

Inzwischen hab ich eine einigermassen gepflegte Kontaktliste, Google Contacts sei Dank. Früher hatte ich ein kleines Skript das über meine Datenbank gegangen ist und die heutigen und morgigen Geburtstage rausgesucht hat und per E-Mail verschickt hat. Hier mal die Version für Google Contacts/Calendar:

#!/bin/bash
TODAY=$(date +%Y-%m-%d) # 2010-03-30
TOMORROW=$(date --date=tomorrow +%Y-%m-%d)

TODAY2=$(echo ${TODAY} | cut -d "-" -f 2,3 )
TOMORROW2=$(echo ${TOMORROW} | cut -d "-" -f 2,3 )

YEAR=$(echo ${TODAY} | cut -d "-" -f 1 )
FOUND="false"

google calendar list --cal '.*birthday.*' --date ${TODAY},${TOMORROW} --field title | grep "^[^[]" | sed -e "s/'s birthday//g" > /tmp/file.txt
while read line; do
  LASTNAME=$(echo $line | rev | cut -d " " -f 1 | rev)
  BIRTHDAY=$(google contacts list "$LASTNAME" --fields birthday | grep "${TODAY2}\|${TOMORROW2}")
  if [ "${BIRTHDAY}" != "" ]; then
    BIRTHYEAR=$(echo ${BIRTHDAY} | cut -d "-" -f 1)
    echo "${line}: ${BIRTHDAY} -> $(( ${YEAR} - ${BIRTHYEAR} )). Geburtstag"
    FOUND="true"
  fi
done < /tmp/file.txt

if [ "${FOUND}" == "false" ]; then
  echo "no birthdays"
fi

rm /tmp/file.txt

Potthässlich, aber funktional. Man braucht dafür zwei Dinge

  1. https://code.google.com/p/googlecl/
  2. http://www.google.com/support/calendar/bin/answer.py?hl=en&answer=37098 -> More -> „Contacts‘ birthdays and events“

Wird bei mir per Cronjob aufgerufen und produziert dann beispielsweise sowas:

Peter Test: 1981-11-05 -> 29. Geburtstag
Karlheinz Mustermann: 2009-11-06 -> 1. Geburtstag

Thunderbird Addons

Aktivierte Erweiterungen innerhalb von Thunderbird. Nur das ich die halt mal irgendwo dokumentiert hab 🙂