kip's blog

nothing too important

virtualbox – einen gast ins LAN einbinden

leave a comment

vbox-logo Ich benutze zur Zeit neben Ubuntu 9.04 auch Windows 7 auf meinem Desktop Rechner. Ich muss zugeben, obwohl mir das neue Windows ganz gut gefällt, möchte ich lieber eine LAMP Umgebung zur Webentwicklung benutzen, auch unter Windows. Also warum nicht ein Ubuntu in einer virtuellen Maschine laufen lassen und den Apache und MySQL Server von Ubuntu nutzen. Read the rest of this entry »

Written by blog.kips-world.de

September 19th, 2009 at 11:37 pm

batch rename unter mac osx

leave a comment

konsole Ich hatte gerade das Problem, dass ich 94 Bilddateien umbenennen musste. Die Bilder hatten alle den Teilstring “bearb_#” oder “bearb_” im Namen und der sollte entfernt werden.

Unter MacOSX gibt es dafür natürlich einige grafische Tools, nicht zuletzt den Automator. Dieser bennent auf Wunsch beliebig viele Dateien um, allerdings mit festem Namen und einer laufenden Nummer. Ich wollte die Namen meiner Bilder allerdings behalten und nur den störenden Teilstring entfernen.

Hier zeigt sich mal wieder warum ich meinen Mac so mag: Geniales GUI – aber unter der Haube ein Unix mit all seinen nützlichen Tools! Einen Teilstring aus allen Dateinamen eines Ordners zu entfernen ist für ein Unix und die Bash keine Herausforderung – dazu braucht man nur eine einzige Befehlszeile:

Read the rest of this entry »

Written by blog.kips-world.de

September 12th, 2009 at 9:50 pm

Posted in apple, coding

Tagged with , , , , ,

Festplatte retten

leave a comment

Ich habe heute verzweifelt einen Laptop in die Hand gedrückt bekommen: “Beim Booten erscheint Partitionstabelle ungültig – was soll ich machen?”.

Erstmal ist wichtig nicht zu versuchen die Festplatte mit irgendwelchen Windows Tools wieder zu retten, denn wenn das schiefgeht sind die Daten vielleicht wirklich weg. Mein erster Schritt war also eine Ubuntu Live CD zu booten und die gesamte Festplatte mit dem Linux Tool dd auf eine externe USB Platte zu sichern:

dd if=/dev/sda of=/media/disk/sda.dd.img

Das dauert ein Weilchen, denn dd kopiert byte für byte genau wie die Daten auf der Festplatte stehen, alles in eine Datei. Dabei werden auch leere Bereich der Festplatte mitkopiert. Das heißt, dass eine 120GB Festplatte wie in meinem Fall – selbst wenn nur 10GB belegt sind – ein Image der Größe 120GB erzeugt.

Nachdem die Festplatte gesichert ist können wir das Problem etwas genauer analysieren. Mit sfdisk ersteinmal schauen, was von der Partitionstabelle noch übrig ist:

sfdisk -d /media/disk/sda.dd.img 
Warnung: erweiterte Partition beginnt nicht an einer Zylindergrenze
DOS und Linux werden den Inhalt unterschiedlich interpretieren.
\# Partitionstabelle von /media/disk/sda.dd.img
unit: sectors

/media/disk/sda.dd.img1 : start=229197824, size=  5240832, Id= c, bootable
/media/disk/sda.dd.img2 : start=   241664, size= 20971520, Id= 7
/media/disk/sda.dd.img3 : start= 21213184, size=207982592, Id= 7, bootable
/media/disk/sda.dd.img4 : start=229195776, size=  5242880, Id= f
/media/disk/sda.dd.img5 : start=229197824, size=  5240832, Id= 0

Sieht ja garnicht so schlecht aus. Ich weiß, dass die Platte drei Partitionen hatte (es handelt sich um ein DELL Notebook, zwei der drei Partitionen sind von DELL angelegt, eine der angezeigten 5 Partitionen ist wohl eine erweiterte). Die Daten-Partition ist die Wichtige um die es mir geht. Woran man die erkennt? Es sollte eine der größeren Partitionen sein. Jetzt sind ein paar Grundkenntnisse über Festplatten-Partionierung und Dateisysteme vorteilhaft. Nach der Ausgabe von sfdisk vermute ich, dass es sich bei img2 um eine erweiterte Partition handelt (also nur um den Container für eine logische Partition). img3 scheint mir die Daten-Partition zu sein nach der ich suche. Um diese Partition jetzt zu mounten, muss ich noch den richtigen Offset berechnen. sfdisk sagt mir, dass img3 bei “21213184″ startet. Dieser Wert muss jetzt aber noch mit 512 multipliziert werden (Bei (S)ATA Platten ist ein Sektor 512 Byte groß). Der mount-Befehl sieht dann so aus:

mount /media/disk/sda.dd.img /mnt/sda-3 -t ntfs-3g -o ro,loop,offset=10861150208

Bingo! Ich kann die Partition aus dem Image heraus lesen. Alle Daten scheinen da zu sein! Jetzt kann ich mich an die Reparatur der Festplatte wagen. Dazu werde ich TestDisk benutzen, aber alle anderen (auch Windows Tools) sind jetzt auch in Ordnung – zur Not hat man ja ein komplettes Image der Festplatte das man zurückspielen kann.

Written by blog.kips-world.de

September 7th, 2009 at 5:56 pm

Posted in linux

Tagged with , , , , ,

mysql-query benchmark

leave a comment

logo_mysql_sun_a Ich habe heute einen MySQL-Query mit insgesamt 14 Joins geschrieben und wollte schauen wie schnell dieser ausgeführt wird. Deshalb hab ich mir schnell ein kleines Benchmark Skript geschrieben. In dem Skript gibt man seine MySQL Daten, den Query und die Anzahl der Testläufe ein. Als Ausgabe erhält man die durchschnittliche Zeit, die die Datenbank benötigt um den Query auszuführen. Finde ich ganz nützlich wenn man versucht seine Datenbankanfragen flott zu machen.

In der MySQL-Doku gibt es auch ein ganzes Kapitel zur Query-Optimierung. Außerdem bin ich auf hackmysql.com gestossen. Dort gibt es ein paar interessante Paper zum Thema:

Es gibt noch ein paar weitere die teilweise noch tiefer in die Materie eintauchen. Einfach mal auf hackmysql.com vorbeischauen.

Written by blog.kips-world.de

September 3rd, 2009 at 11:28 pm

Posted in Uncategorized

ohrwurm #2

leave a comment

Am Besten im Auto – so laut das der Rückspiegel wackelt … :) Ist zzt. auch Nummer #1 in den deutschen Single Charts und in den iTunes Charts!

Written by blog.kips-world.de

September 2nd, 2009 at 11:15 pm

Posted in ohrwurm

der apfelplanet #1

leave a comment

Ich habe mir vor einiger Zeit die Domain “apfelplanet.de” gesichert. Ich würde auf der Domain gerne ein neues Projekt starten: Einen Planet für Apple bezogene Blogs. Was ist überhaupt ein Planet? Das sagt Wikipedia dazu:

Planet ist ein serverseitiger Feedreader für Aggregator-Dienste, der zur Zusammenfassung verschiedener Nachrichtenquellen auf Websites genutzt wird. [...] Im übertragenen Sinn wird der Begriff allgemein für Websites verwendet, die mittels eines Feed-Aggregators verschiedene Nachrichtenquellen, vor allem Blogs, zusammenfassen.

Der erste Schritt muss nun sein das ich mir ein Design überlege. Es soll etwas sehr einfaches sein, was aber andererseits auch an Apple erinnern darf. Ich denke ich werde mich an Me.com orientieren. In die graue Leiste oben muss ein schönes Logo (ein Planet der nach einem Apfel aussieht wäre genial oder? ;) ).

Dannach muss ich mich auf die Suche nach ein paar Seiten machen die sich am Planet beteiligen möchten. Ich möchte keine Apple-News Seiten aufnehmen, es sollen rein private Blogs sein. In meinem Newsreader haben sich in letzter Zeit einige “Apple”-Blogs angesammelt. Wenn die Seite steht und der Feedreader auf dem Webserver läuft werde ich die Webmaster mal anschreiben.

Ich denke ich werde als Reader “das Original” einsetzen. Dafür brauche ich zwar Python auf dem Webserver, aber wenn man seinen eigenen Root-Server hat, ist das weniger ein Problem. Dann kann ich das nächste mal gleich über die Installation und Konfiguration des Planet bloggen …

Wer sich mal ein paar Beispiele anschauen möchte kann ich den planet.ubuntuusers.de, planet.gnome.org oder den planet-index empfehlen.

Written by blog.kips-world.de

September 2nd, 2009 at 1:01 am

Posted in apfelplanet, apple, coding, me

Did You Know?

leave a comment

Written by blog.kips-world.de

August 31st, 2009 at 2:57 pm

Posted in Uncategorized

aptana – die web ide

leave a comment

aptana Viele Entwickler von Webanwendungen sind der Meinung ein einfacher Text-Editor reicht für die tägliche Arbeit. Für kleine Projekte oder um mal schnell eine Änderung zu machen stimmt das sicherlich, aber wenn es an größere Projekte geht erleichtert eine gute IDE die Arbeit erheblich.

Read the rest of this entry »

Written by blog.kips-world.de

August 27th, 2009 at 1:26 am

Posted in coding, html/css, javascript/jQuery, php

Tagged with , ,

kips-lastfm

leave a comment

lastfm_red Mein erstes Wordpress Plugin: kips-lastfm!

Das Plugin kann in dieser Version noch nicht besonders viel. Es zeigt eine Liste der zuletzt gespielten Titel in der Sidebar. Konfiguriert wird es über die Sidebar-Widgets im WP-Admin Menü. Einstellen kann man bis jetzt den Titel, den Last.FM Usernamen und die maximale Wort-Länge für Interpret und Album (damit das Design nicht kaputt geht).

Jetzt kann man sich natürlich fragen warum ich ein Plugin für last.fm schreibe, wenn es davon schon mehr als genug auf wordpress.org zum Download gibt. Ganz einfache Antwort: Mir gefällt keines dieser Plugins (und außerdem muss ich demnächst 2-3 Plugins für die neue IRD Webseite schreiben, da ist es gut schonmal einen Blick auf die Plugin-API zu werfen!).

kips-lastfm soll sich besonders in folgenden Punkten von anderen Plugins dieser Art unterscheiden:

  • Verwendung der last.fm 2.0 API
  • Anfragen an last.fm cachen
  • Cache im Hintergrund mit jQuery refreshen

Das Problem der anderen last.fm Plugins: Sie laden die last.fm Daten während des Seitenaufrufs. Selbst bei der Verwendung eines Caches gibt es immer Besucher die einen spürbaren Anstieg der Ladezeit registrieren. Dies tritt immer dann auf, wenn die Plugins den Cache erneuern. Mein Plugin soll das alles im Hintergrund machen. D.h es wird immer erstmal eine Liste mit Titeln aus dem Cache angezeigt. Wenn diese Liste zu alt ist, wird der Cache per AJAX nach dem Laden der Seite im Hintergrund erneuert und die alten Daten mit den neuen ersetzt. So muss ein Besucher niemals auf den manchmal langsamen last.fm-Server warten!

Version 0.1 hat noch keine Cache/AJAX Funktion!

Download kips-lastfm-0.1
(nicht zum produktiven Einsatz gedacht, nur zu Testzwecken!)

Written by blog.kips-world.de

August 23rd, 2009 at 4:29 pm

wordpress seo

leave a comment

Ich bin gerade über einen sehr interessanten Vortrag von Matt Cutts gestolpert. Matt ist Leiter des Webspam Teams bei Google und hielt diesen Vortrag beim WordCamp 2009 in San Francisco. Er erzählt wie man seinen Blog für Suchmaschinen optimiert und gibt dazu jede Menge kleiner Tipps.

How do you decide whether to do a video or a podcast? Post a picture of yourself on hotornot.com. If you get a 6 or higher, do a video. If you get lower … hmm … I think it’s better to do a podcast!

Written by blog.kips-world.de

August 23rd, 2009 at 1:24 pm

Posted in wordpress