Datenbank – Normalformen – Merkspruch

Gelegentlich wird man ja doch gefragt wie Normalisierung zu verstehen ist und in welcher Normalform ein Datenbankschema ist – da passte es, dass ich kürzlich auf dem ToRead-Stapel einen Artikel der Wikipedia vor mir hatte.

Nun der dort erwähnte Merkspruch zur Ablage:

»The key, the whole key, and nothing but the key. So help me Codd!«

Damit ergeben sich die verschiedenen Normalformen recht einfach:

  1. NF: atomare Werte beziehen sich nur auf den Schlüssel
  2. NF: atomare Werte beziehen sich bei zusammengesetzten Schlüsseln jeweils auf den gesamten
  3. NF: alle Werte hängen nur direkt vom Schlüssel ab

Zug verpasst – lustige Leute – Kein Schwanz ist so hart wie das Leben

Manchmal trifft man auf Leute im Berufsverkehr, die einem den morgen unerträglich machen – andere sorgen für ein Lächeln auf den Lippen.

Als ich heute wieder vergebens nach dem Regio rannte und vor verschlossenen Türen stand und der Zug gerade losfuhr, meinte ein vorbeilaufender Passant süffisant:

Was gut ist, kommt wieder.

Daraufhin konnte ich nur verlegen lachen und mich auf zur S-Bahn machen – daraufhin er:

Kein Schwanz ist so hart wie das Leben.

Damit war alles gesagt für diesen Tag im Berliner Berufsverkehr

Java SDK Mac finden und einrichten in IntelliJ

Java-Einrichtung

Um die neue IntelliJ-Version an den Start zu bringen, muss man ja wissen, wo auf dem Mac das installierte Java liegt – nach ein wenig Suchen findet IntelliJ ein JDK unter:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Das als globale Bibliothek / SDK einrichten und schon verschwinden die Syntaxfehler 🙂

Einstellungen in IntelliJ

  • Settings -> Editor -> Appearance: show line numbers
  • File -> Project Structure, dort: SDKs – Add – Java SDK (Werte siehe oben)
  • Settings -> File encodings: UTF-8 (IDE Encoding)

Basierend auf diesen Informationen müssen auch die Einstellungen im Terminal entsprechend vorgenommen werden – dazu einfach in der .profile-Datei:

export JAVA_HOME=`/usr/libexec/java_home`

und schon hat man stets den Verweis auf das System-Java.

Eclipse Indigo einrichten – SVN/Maven

Die Zwischenzeit konnte ich nutzen, um meine virtuelle Maschine und das Äpfelchen auf den aktuellsten Stand zu bringen.

Um ins SVN der Firma zu kommen, muss wieder ein wenig manuell nachgearbeitet werden.

Zuerst das aktuelle 4.4/Luna-Eclipse runterziehen:

  • Eclipse Luna 4.4 – Standard
  • Eclipse Luna 4.4 – JavaDevelopers

Dann noch Subversion installieren:

  • Mac: Collab.net-Gedöns installieren – man muss sich leider anmelden
  • Ubuntu: aptitude install subversion libsvn-java

Eclipse-Plugins installieren

Über den Eclipse-Marktplatz die folgenden Plugins nachinstallieren und dann jeweils Eclipse neu starten:

  • Subclipse (Tigris) – SVN-Provider (nicht: Subversion nehmen sonst kommt alles durcheinander)
  • M2 – Maven2Eclipse – Eclipse-Maven-Integration
  • Maven Development Tools
  • Moreunit
  • EclEmma
  • EGit
  • Gradle

Eclipse-Konfiguration nachziehen

Die JavaHL-Bibliothek liegt nicht an Standardpfaden, weshalb die Eclipse-Konfigurationsdatei eclipse.ini angepasst werden muss – die Zeile muss eingefügt werden:

  • Mac: -Djava.library.path=/opt/subversion/lib
  • Ubuntu: -Djava.library.path=/usr/lib/jni

Sobald die Konfig nachgezogen ist, sieht man bei einem Neustart im Einstellungsfenster zu Team/SVN, dass JavaHL zur Auswahl steht. Dann funzt alles.

Ansonsten nicht vergessen, dass das Repo mit svn+ssh in der URL eingebunden werden muss.

So – nun also mit der neuen Version am Start und ready 2 rumble 🙂

Die Alternative mittels MacPorts die Bindings sowie eine aktuelle SVN-Version auf dem Mac zu installieren haben nicht funktioniert, weil MacPorts mit Schmerzen abbrach.

Hilfereiche Links sind ebenfalls:

ungewöhnlicher Mac-Ärger – Rechner startet nicht, Festplatte defekt, Klickibuntu-Tool hilft nicht

Kaum ist die Elternzeit vorüber, ruft die Arbeit wieder …. und ungewöhnliche Probleme begrüßten mich gestern morgen.

Mein iMac startete nicht mehr – kurz kam ein Fortschrittsbalken, der Dateisysteme geprüft hat. Dann ging die Dose aus 🙁

Die Admins hatten wie immer keine richtige Ahnung – also starten von der Installations-DVD (‚C‘ während des Bootens halten) – Festplattendienstprogramm aufrufen und Festplatte überprüfen und reparieren.

Fehlermeldung: wrong node count

Das grafische Tool stellte die Arbeit ein und empfahl die bestehenden Daten zu sichern, die Platte zu formatieren und dann die Daten wieder zurückzuspielen – glücklicherweise kann das alles das Disktool der Installations-DVD.

Also:

  • Von der gesamten Platte ein Backup ziehen (komprimiertes Image auf externe via USB angeschlossene Festplatte) – hat bei 213 GB Daten ca. 4 Stunden gedauert. Zum Glück gab es einen USB-SATA-Adapter, in den man eine rumliegende Festplatte einfach einstecken konnte.
  • Dann das Backup validiert – dauerte ca. 3 Stunden.
  • Am nächsten Morgen dann das Backup zurückgespielt in der Menüoption Wiederherstellen. Dabei als Quelle das gestrige Image genommen und als Ziel die Festplatte.
  • Wieder 4 Stunden auf das Zurückspielen gewartet.
  • Hoffnungsvoll neu gestartet …
Aber: gleiches Problem!
Dann ein wenig recherchiert und die folgenden 2 äußerst hilfreichen Artikel gefunden – was für ein Glück, dass unter dem Mac ein BSD liegt und daher normale Funktionen wie eine Konsole gehen:
Also einfach: Apfel-S nach dem Versuch mit Apfel-V machen und schon geht’s los.
  1. Beachten, dass es die englische Tastatur ist: ein Unterstrich _ befindet sich auf dem ß/?
  2. fsck_hfs -dr /dev/rdisk0s2
  3. Das Dateisystem wird geprüft und der interne Index neu aufgebaut.
  4. Wenn alles erfolgreich repariert wurde: reboot
Dann hatte der Spuk ein Ende und der Rechner kam wieder hoch!
Also gleich noch ein wenig ausgemistet, damit die Updates beim nächsten Mal nicht so groß sind und geprüft, dass Time Machine auch brav Updates einspielt – es gibt auch die Möglichkeit den Schneeleoparden mit einem Time Machine-Backup wiederherzustellen.
Hoffentlich war’s das!

Sprache – KiK – Prekariatswerbung

Wenn man in mancher Publikation die Anreihung der Worte liest, muss man sich häufig schütteln – so mancher Werbeslogan lässt vermuten, dass die anzusprechende Kundengruppe sich ähnlich gewählt ausdrücken kann:

KiK - Werbung - 2011-04-16
Besser als wie man denkt - clever einkaufen

Interessant zu wissen wäre, ob es Leute gibt, die beim Lesen der Überschrift Fragezeichen im Hirn kriegen, was daran clever ist. Aber der Bildungsföderalismus ermöglicht diese Art der Freiheit – wer weiß, welche Werbung die Firma KiK in Bayern schaltet.

Ich sag nur: Schöner als wie man denkt, wenn man clever eingekauft hat.

Ubuntu Repository manuell ändern – nötige Schlüssel hinzufügen

Wenn man spezielle Repositorien in Ubuntu einbinden will, muss man diese zuerst hinzufügen und dann noch die Repositry-Schlüssel zur Liste der gültigen Schlüssel hinzufügen.
Die nötigen Eckdaten findet man meistens in Launchpad, wo Detailinformationen des PPA stehen.

Hier am Beispiel von gPodder:

  • sudo add-apt-repository ppa:thp/gpodder
  • oder manuell in /etc/apt/sources.list.d/gpodder:
    • deb http://ppa.launchpad.net/thp/gpodder/ubuntu maverick main
    • und

    • deb-src http://ppa.launchpad.net/thp/gpodder/ubuntu maverick main
  • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B016C6A9D0B071368E999F9BC18DC20E89617F48

Dann kriegt man nicht ständig Warnungen – sind die Repositry-Einträge netzwerktechnisch erreichbar, so sollte dann ein Update mit folgendem Alias möglich sein:
alias emerge='aptitude update && aptitude safe-upgrade'