[Quicktip] MySQL Query-Ergebnis per Console in eine CSV Datei exportieren

Mit phpmyadmin und Konsorten ist es kein Problem, Ergebnisse von SQL Abfragen in CSV-Dateien zu exportieren. Problematisch wird es allerdings, wenn man eine aufwändigere Abfrage hat, die den php Timeout provoziert, oder aber man keinen Web-Client zu Verfügung hat. Dann greift man zur Konsolenversion von MySQL – welche diesen Export nicht direkt anbietet. Mittels ein bisschen Bash-Magie kann man sich aber behelfen:

mysql --database=database --execute="select a from b where a>1;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > filename.csv

Was passiert? Die Abfrage wird ausgeführt und die Ergebnisse werden in Textform ausgegeben. Mittels Pipe wird die Ausgabe an “sed” weitergegeben, welches diese in das CSV Format umwandelt und anschließend in die Datei “filename.csv” schreibt.

Via snipplr.com

[Quicktip] ssh Verbindung ohne Known-Hosts Eintrag

Es gibt gute Gründe, warum ssh die Fingerprints (also die virtuellen Fingerabdrücke) der Server speichert, mit denen man sich verbindet. Tut man dies nämlich erneut, so kann ssh prüfen, ob sich hinter dieser IP bzw. hinter diesem Hostnamen noch immer der gleiche Rechner befindet. Wenn nicht, gibt’s eine Warnung.

Nun gibt es aber auch Fälle, bei denen will man diesen Schutz unterbinden – vornehmlich beim Scripting. Und das macht man so:

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@server

Was passiert? Mit dem ersten Parameter wird das known-hosts-File “/dev/null”, also “nichts”, verwendet. Parameter 2 gibt an, dass die Überprüfung der Fingerprints deaktiviert werden soll. Lässt man den ersten Parameter weg, so werden trotzdem die Fingerprints in der normale known-hosts-File geschrieben.

[Quicktip] GIT Commit/Merge auf github rückgängig machen

Folgendes Problem: Ihr habt ein paar Änderungen commited und auch schon gepushed – in meinem Fall zu github -, merkt dann aber, dass ihr was falsches commited habt. Was nun?

Zuerst könnt ihr mit eurem GIT Client auf die Version resetten, die noch ok war. Oder ihr macht das per Git-Bash:

git reset --hard [Hashwert des gültigen Commits]

Damit setzt ihr euren Stand direkt auf diesen Commit zurück. Achtung! Wenn ihr den Parameter –hard verwendet werden sämtliche Änderungen überschrieben – und alle nachfolgenden Commits werden gelöscht!

Anschließend führt ihr ein

git push -f

aus und schon wird der Reset auch an Github oder evtl. andere entfernte Repositories übertragen. Achtung auch hier: die nachfolgende History wird gelöscht, auch von github. Wenn ihr den Parameter -f (für “force”) weglasst, so wird euch der Push verweigert, da ihr ja einen älteren Stand als im Repository pushen wollt. Daher ist er zwingend nötig.

[Quicktip] iPhone Wörterbuch durch eigene Wörter erweiterten

Im Gegensatz zu Android ist die Auto-Korrektur beim iPhone nicht sehr intelligent gelöst. Hinzu kommt, dass sie nur schlecht neue Wörter lernt. Um dem Abhilfe zu schaffen kann man nun einen Jailbreak durchführen, um anschließend die Datei

/private/var/mobile/Library/Keyboard/dynamic-text.dat

zu editieren. Die einzelnen zusätzlichen Wörter stehen da durch Leerzeichen getrennt drin.

Es gibt aber auch einen wesentlich eleganteren Weg, und das ohne Jailbreak. Dazu geht man in die Einstellungen – Allgemein – Tastatur – internationale Tastaturen – Tastatur hinzufügen. Dort wählt man nun die Tastatur “Japanisch (Romaji) aus. Wenn man nun wieder eine Ebene höher geht, also in die allgemeinen Tastatureinstellungen, dann gibt es dort den neuen Menüpunkt “Benutzerwörterbuch”. In diesem kann man nun eigene zusätzliche Wörter verwalten, welche dann von der Autokorrektur erkannt werden. Hinweis: Es reicht, das Wort nur bei “Wort” einzutragen – man muss nicht noch Japanisch übersetzen 😉

[Quicktip] Google Mail, Kalender und Kontakte mit iPhone synchronisieren

Als Android-User ist mir Googlemail und seine Kalender- sowie Kontaktdienste ans Herz gewachsen. Mein komplettes Telefonbuch wird mit Google synchronisiert, was mir erlaubt, einfach mal zwischen Geräten zu wechseln, und das ohne umständlichen Datenaustausch.

Wenn ich nun auf dem iPhone ein neues Email-Konto hinzufügen möchte, wird mir auch gleich Googlemail als eigene Rubrik angeboten. Schön und gut, nur leider werden bei dieser Methode nur Emails und Kalender synchronisiert, die Kontakte jedoch nicht. Der Trick ist, dass man kein Googlemail sondern ein Exchange Konto einrichten muss. Der Benutzername ist die eigene Googlemail-Adresse, das Passwort bleibt gleich. Klickt man nun auf “fertig”, so wird man erstmal darauf hingewiesen, dass die Zertifikate nicht glaubwürdig sind. Das bestätigt man einfach. Anschließend erscheint noch das Feld “Server”, in welches man einfach

m.google.com

einträgt. Aussehen müsste es dann so:

Anschließend drückt man noch einmal auf “fertig”. Nun kann man wählen, was synchronisiert werden soll. Hier tauchen nun auch die Kontakte auf.

[Quicktip] mehrere Googlekalender auf dem iPhone

Kurz nachdem ich mein neues iPhone 4 eingerichtet hatte, stellte sich mir folgende Frage: Wie kann ich mehrere Google Kalender mit dem iPhone synchronisieren? Man ruft mit dem iPhone die Seite

m.google.com/sync

auf. Dort steht dann wahrscheinlich, dass dieser Service nicht verfügbar ist bzw. das Gerät nicht unterstützt wird. Man klickt nun unten auf

“Sprache ändern”

und wählt dort “Englisch (US)” aus. Anschließend meldet man sich mit seinem Google Account an. Nun werden einem die verwendeten Geräte angezeigt (iPad, iPhone, iPod usw.). Klickt man auf eines davon, kann man per Haken auswählen, welche Kalender für dieses Gerät synchronisiert werden sollen. Bei der nächsten Synchronisierung erscheinen die Kalender in der Kalender-App.

Falls dem nicht so sein sollte, geht einfach in die Einstellungen -> “Mail, Kontakte, Kalender” und wählt dort euren Google Account aus. Legt den Schalter für “Kalender” um. Ihr erhaltet eine Warnung, dass nun alle Einträge dieses Kalenders vom iPhone gelöscht werden. Bestätigt dies und legt anschließend den Schalter erneut um. Wenn ihr nun die Kalender-App startet, wird eine erneute Synchronisierung erzwungen.

Fertig.

[Quicktip] Milestone – Fragezeichen im Batteriesymbol

Falls euer Milestone mal ein Fragezeichen im Batteriesymbol innerhalb der Statusleiste anzeigen sollte, dann haut irgendwas bei der Synchronisierung zwischen Akku und Telefon nicht hin. Das Problem scheint damit zu tun zu haben, dass das Milestone den Akkuverbrauch nur in 10%-Schritten lesen kann und dabei irgendwie aus dem Takt gerät.

Ist ja auch egal. Da man aber gerade bei einem Akkufresser wie dem Milestone auf die Anzeige angewiesen ist, kann man folgendes probieren, um das Problem zu beheben:

– Telefon einfach mal neu starten. Der Akkustand sollte aber um min. 10% geschrumpft sein, da sonst auch der Neustart laut eigener Erfahrung auch nichts bringt. Am besten das Handy nach einer oder 2 Stunden neu starten.

– schneller geht es mit einem Kaltstart – während des Betriebs einfach mal den Akku herausnehmen, 10 Sekunden warten und dann wieder einsetzen. Anschließend kann man das Handy wieder starten.

Bei mir haben beide Methoden funktioniert. Falls das Fragezeichen stehen bleibt, solltet ihr euch über einen neuen Akku Gedanken machen. Zum Glück kosten die ja nicht mehr allzu viel.

[Quicktip] Motorola Milestone kein Internet trotz Empfang

Ich führe hier mal die bereits vom alten Blog bekannte Reihe der Quicktips weiter, diesmal mit einem Tip zum Motorola Milestone. Ich hatte seit dem letzten Service-Update von Android 2.1 das Problem, dass ich teilweise unterwegs eine HSPA/3G/EDGE/GPRS Verbindung angezeigt bekomme, jedoch weder im Browser noch sonst irgendwo der Zugriff auf das Internet möglich ist. Und dazu möchte ich hier die Lösung aufzeigen.

Das Problem liegt am Wlan: fährt man das Handy mit eingeschaltenem Wlan ein und es verbindet sich anschließend gleich mit einem bekannten Wlan, dann tritt genau dieser Fehler auf. Sobald man das Wlan verlässt hat mein kein Internet mehr. Die einzige Lösung ist ein Neustart des Telefons, natürlich erst, wenn ihr das Wlan ausgeschalten habt.

Ich weiß, dass ist keine schöne Lösung, denn ab und zu vergisst man es doch mal, aber zumindest kennt ihr nun die Ursache des Problems 😉

Es bleibt zu hoffen, dass die Probleme mit dem hoffentlich noch in diesem Jahr erscheinenden Android 2.2 Update behoben werden.

[Quicktip] Spotlight Suche reparieren

Habt ihr das Problem, dass einige Programme oder Daten nicht mehr in Spotlight gefunden werden? Mir ging es so nach dem letzten OSX Update. Programme wie Itunes wollten sich einfach nicht mehr finden lassen – manuell raussuchen und starten ging aber.

Die Lösung ist, dass man den Spotlight-Index neu erstellen lassen muss:

1. Spotlight Einstellungen aufrufen -> oben rechts auf die Lupe und dann “Spotlight Einstellungen” oder über die Systemeinstellungen und dann auf Spotlight klicken

2. Auf “Privatsphäre” klicken

3. nun könnt ihr entweder einzelne Ordner in die Liste ziehen, oder gleich die ganze Festplatte. Sobald ihr dies tut, wird der Index für diese Verzeichnisse gelöscht. Wenn ihr die ganze Platte reinzieht, dann wird der komplette Index entfernt.

4. die Ordner / Laufwerke wieder aus der Liste löschen

5. Fertig. Spotlight wird diese Ordner / Laufwerke nun neu indizieren. Man erkennt dies an dem Punkt, der innerhalb der Spotlight-Lupe aufblinkt. Sobald dieser Weg ist, ist die Indizierung durch und die Programme / Daten sollten wieder auffindbar sein.

Einzelne Ordner hineinziehen hatte bei mir nicht geholfen – Spotlight reagierte darauf gar nicht. Erst als ich die ganze Festplatte reingezogen hatte reagierte es und erstellte den kompletten Index neu. Bedenkt aber, dass die Indizierung der kompletten Festplatte mehrere Stunden in Anspurch nehmen kann….