Jolene.

Nach einem Facebook-Post von (Ex-) Kollege Fabian zum Thema Irene hatte ich meinen Zweitlieblingsohrwurm "Jolene" wieder 🙂 Also: Youtube an. Dabei habe ich die folgenden, teilweise ebenfalls sehr guten Versionen gefunden. Hier in der Reihenfolge, in der ich sie gefunden habe - aus Performance-Gründen nicht direkt verlinkt.

Zuerst "mein" Original, in der Live Version. Das Original, ebenfalls live. Gutes Cover, musikalisch näher am Original. Queenadreena - vorher nie von gehört, klingt aber ganz vielversprechend.  Die 80er Pop Version 🙂 Ein "polnisches" Cover. Die American Idol-Version - deshalb habe ich das Original zu DSDS tatsächlich hin und wieder geguckt: Die können das! Die persische Folklore Version (kein Scheiß!). Fängt an wie eingeschlafene Füße, kommt dann aber etwas in Fahrt. Und die Stimme ist gut. Dann: Miley Cyrus 😀

Auch gar nicht schlecht, aber damit gleitet es langsam ab in die Austauschbarkeit. Deshalb: Hier die beste "private" Coverversion, sehr geil. Und die zweitbeste, dicht dahinter. Eine weitere. Musikalisch so lala, aber sie singt alleine bis zu drei Stimmen - außerdem die einzige (brauchbare) Version mit Ukulele 🙂

OK, mal was anderes, unbedingt hören! Die Sisters of Mercy-Version ist scheiße, die muss man nicht hören. Aber hey, Sisters of Mercy! Zum Thema Freak-Versionen: 90210. Achtung, die Version besteht aus drei Teilen, unbedingt bin zum Ende hören, die Stimmung des Songs ist ganz gut getroffen. Eine Version, halb Reggae, halb Jazz-Bar - man beachte den Bandnamen. Die erste Techno-Version (das hat aber gedauert!), und die zweite, und dritte... alle nicht schlecht, aber mein Gott, man kann's auch übertreiben. Zum Schlafengehen hier noch eine ruhige Version.

Darüber hinaus gab's noch einige nicht ganz so dolle Cover - oder? 1, 2, 3, 4, 5, 6, 7, 8, 9

Da kommt ganz schön was zusammen 🙂 Die Version von den White Stripes ist trotzdem die beste. Keine andere klingt angemessen sauer... Ich höre hier mal auf, obwohl es noch mehr Versionen gibt, vor allem "private" Cover und Techno-Versionen. Aber ich bin auch schon beim dritten vierten Rum 😉

Arduino mit Eclipse als IDE

Das ist leider einfacher gesagt als getan, siehe unten 🙁 Eclipse muss man natürlich nur einmal einrichten. Da das deutlich umfangreichere aber das Einrichten des Projektes ist, würde ich empfehlen, ein einmal lauffähig eingerichtetes Projekt als Template zu nutzen.

Anmerkung #1: Was momentan noch nicht funktioniert, ist die Ausgabe nach Serial 🙁 Ich habe bisher nur ein sehr rudiemntäres "Blink"-Projekt kompilieren können... offenbar fehlen da irgendwelche Includes, wobei die HardwareSerial eigentlich da ist. Ich bleibe dran.

Anmerkung #2: Im Folgenden werden OS X Lion und ein Uno verwendet

Einrichten von Eclipse:

  1. Eclipse IDE for C/C++ Developers installieren
  2. Das AVR-Plugin installieren
  3. Das AVR "Crosspack" installieren
  4. Sicherheitshalber die Pfade unter Preferences -> AVR -> Paths checken:
    AVR-GCC: /usr/local/CrossPack-AVR20100115/bin
    GNU make: /usr/local/CrossPack-AVR20100115/bin
    AVR Header Files: /usr/local/CrossPack-AVR20100115/avr-3/include
    AVRDude: AVR-GCC: /usr/local/CrossPack-AVR20100115/bin
  5. Dein(e) Arduino(s) unter Preferences -> AVR -> AVRDude einrichten. Anmerkung: Der default Port ist der, den man auch in der Arduino-IDE nutzt – und den man unter /dev/ findet (ls -la /dev/)
    Configuration Name: <irgendwas>
    Programmer Hardware: Arduino
    Override default port: /dev/tty.usbmodemfa131
    Override default baudrate: 115200

Einrichten eines ersten Projekts (dieses kann man hinterher kopieren, um diese Einstellungen nicht immer wieder vornehmen zu müssen):

  1. Neues "C" Projekt anlegen:
    Project name: <irgendwas>
    Project type: AVR Cross Target Application -> Empty
    Finish
  2. In den Project properties -> AVR -> AVR Dude -> Programmer -> "Programmer configuration" die Konfiguration von oben, Punkt 5, auswählen
  3. Das Arduino anschliessen
  4. In den Project properties -> AVR ->AVR Dude -> "Target Hardware" entweder "Load from MCU" versuchen, oder für den Uno "ATmega328P" auswählen. Anmerkung: Auch, wenn arduino.cc als Microcontroller für den Uno den ATmega328 angibt, so ist es in Wirklichkeit doch der ATmega328P
  5. Die Arduino IDE öffnen, ein neues Projekt anlegen, und kompilieren ("Verify" genügt) (es geht darum, einmal die Core Library anzulegen)
  6. "Irgendwo" unter /private/var/ die Datei core.a finden – bei mir war es /private/var/folders/8f/0zf3pf294rvbrybmwh7mq1bm0000gn/T/build1871947640038466426.tmp/core.a 🙂 – und in den Projektordner kopieren
  7. Diese "neue" core.a in libcore.a umbenennen
  8. Unter den Project properties -> C/C++ Build -> Settings -> Tool Settings -> "Additional Tools in Toolchain": "Generate HEX for Flash Memory", "Print Size" und "AVRDude" müssen angewählt sein; "Generate HEX file for EEPROM" und "Generate Extended Listing" müssen abgewählt sein
  9. Unter ... -> AVR Compiler -> Command von "avr-gcc" in "avr-g++" ändern
  10. Unter ... -> AVR Compiler -> Directories den Pfad /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino (oder analog) eintragen. Anmerkung: Rechtsklick auf die Arduino-App -> Paketinhalt anzeigen hilft 😉
  11. Unter ... -> AVR Compiler -> Debugging -> "Generate Debugging info" "No debugging info" auswählen
  12. Unter ... -> AVR Compiler -> Optimization -> "Optimization Level" "Size Optimization (-Os)" auswählen
  13. Unter ... -> AVR Assembler -> Debugging -> "Generate Debugging Info" "No debugging info" auswählen
  14. Unter ... -> AVR C Linker -> Libraries eine neue Library mit dem Namen "core" anlegen. Einen neuen Library Path mit "${workspace_loc:/${ProjName}}" anlegen – damit sollte er jetzt im aktuellen Projekt nach der corelib aus Schritt 6 und 7 suchen
  15. Eine neue Datei mit Namen main.c anlegen
  16. coden 😉

Kompilieren und flashen tut man das Projekt dann mit dem "Hammer"-Button in der Menüleiste – es muss dabei im Dropdown "Release" ausgewählt sein.

Mit Hilfe von, und, und, und.

Firefox: „Inkompatible“ Addons verwenden

Firefox ist ja auch auf den schwachsinnigen Trend aufgesprungen, alle 20 Minuten einen neuen Major Release zu veröffentlichen - mit dem Ergebnis, dass man ständig irgendein Addon deaktivieren muss, weil es "inkompatibel" ist. Lösung: Das Addon Compatibility Reporter deaktiviert die Kompatibilitätsprüfung.

Siehe auch.