Back to WordPress

Several month ago I abandoned WordPress in favour of Octopress. My old WordPress installation was a big mess. I upgraded it since Version 1.7 and changed the language more than one time. As result my blog was awfully slow. Even after I deleted most of the installed plug-ins the blog kept failing. In my frustration I looked for a different approach and I discovered Octopress. Octopress is, to put it simply, a Ruby script which generated static HTML files out of Markdown formatted text files. The advantage is that there is no server side dynamic programming language like PHP. Everything lies ready to watch on the server. The problem is that after every new blog post you have to recompile the whole thing and upload it. That makes it almost impossible to write blog posts on the go. Additionally it requires much more effort to bring a new post to the world wide web. After months of silence I decided to try WordPress again. This time I installed a new plain version of the newest english version of WordPress and imported my old articles with the standard import tool. It worked out fine. The performance issues I had before are gone, too. So, I think WordPress isn’t as slow as I thought, but it is (or was) not very ambitioned to remove unnecessary files from old versions. If I will ever come to the point where I’m satisfied with the design, there will be more activity in this blog. 🙂

text_reverse.php

Falls mal einer die Zeilen eines Textes umdrehen möchte:

//source file
$source = "konzerte.txt";

//put the lines of the files in the lines-array
$lines = file($source);

//reverse the lines-array
$lines = array_reverse($lines);

//put the elements of the reversed array together
foreach ($lines as $element) {
    $text .= $element;
}

//output file
$output = "bla.txt";

//open the output file and create it if it doesn't exist
$handler = fOpen($output, "a+");

//write the file
fWrite($handler , $text);

Vorher:

la
le
lu

Nachher:

lu
le
la

Download: text_reverse.php

Coda zum halben Preis!

Coda half price!

Von heute bis am 29. May um 11:59 PM PST gibts es das geniale Webdevelopment-Tool Coda von Panic zum halben Preis! $49.50 statt $99. Da ich Coda schon seit geraumer Zeit teste hab ichs mir gleich zugelegt. Denn ich hab noch kein praktischeres Programm gefunden. Unter keinem Betriebssystem. Passt wunderbar in meinen Workflow!

Am ehesten geht noch Espresso in die Richtung. Aber da fehlt schon noch einiges im Direktvergleich zu Coda. Aber falls sich Espresso mal noch macht in nächster Zeit bin ich gewappnet. Mit dem letzten MacHeist-Bundle – welches ich gekauft habe – kam auch eine Espresso Lizenz mit! 🙂

Also heute: Coda kaufen! 🙂

WordPress Theme

Eigentlich wollte ich mal was über mein schönes Theme hier schreiben. Aber seit ner Weile schreibt der Author meines Themes in seinem Blog nur noch darüber wie man möglichst gut Geld verdient mit seinem Blog. Und jetzt kostet mein Theme in der neuen Version etwas. Und zwar nicht 5$, sondern gleich 65$. Ja toll. Ich hoffe es kauft keiner. Hallo? Das ist kein CMS das ist ein WordPress Theme. Pixelmator kostet weniger und das ist in vollwertiges Bildbearbeitungsprogramm, damit kann man bald soviel machen wie mit Photoshop!

Naja, zum Glück kann ich selbst mit HTML, CSS und PHP umgehen und kann mir so mein eigenes WordPress Theme schrauben. Ich werde mir jetzt für den Anfang mal die WordPress Theme Vorlage die ich hier gefunden habe ansehen. Mal sehen wie schnell ich damit klar komm.

Wenn ichs dann mal kann bau ich mein jetziges Theme nach und verkauf es für 55$, ha! 🙂

XAMPP (Mac) Root ändern

Ich benutze inzwischen nicht mehr MAMP (link) für lokale PHP-Entwicklungen, sonder auch den Quasi-Standard für lokale PHP-Server: XAMPP. Früher gabs das nicht so wirklich für den Mac, man musste es sich glaub selbst kompilieren, ich weiß nimmer. Auf jeden Fall gibts das jetzt und es ist toll. Eigentlich.

Apple hat ja für die Websites des Users einen eigenen Ordner Vorgesehen. Der befindet sich unter “/Users/<username>/Sites”. Da habe ich bisher meine ganzen Web-Dateien auch abgelegt. Aber XAMPP richtet den Apache htdocs-Ordner wo anders ein. Nämlich unter “/Applications/xampp/xamppfiles/htdocs”. Total unpraktisch. Wer will schon in einem Unterorder des Programmeordners seine Web-Projekte haben?! Also bestand die Anforderung den Pfad umzubiegen. Dazu öffnet man die httpd.conf. Das ist die Konfigurationsdatei des Apache-Servers. Die findet man leicht über Spotlight, oder unter Programme -> xampp -> etc. Ind er httpd.conf sucht man die Stelle wo die DocumentRoot angegeben wird. Das sieht vermutlich so aus:

DocumentRoot "/Applications/xampp/xamppfiles/htdocs"

Das ersetz man in meinem Fall durch

DocumentRoot "/Users/juuro/Sites"

Wenn man das so gemacht hat sollte eigentlich alles tun! Allerdings nicht beim Mac. Wenn man jetzt den Apache per XAMPP Control Panel starten will kommen seltsame Fehlermeldungen. Man muss da nämlich noch unter “<Directory />”mit “AllowOverride All” angeben dass der Apache den Ordner beschreiben darf auf den er Zugriff hat. Also so:

    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all

Ja und dann, dann sollte der Apache laufen und man kann seine PHP-Dateien da entwickeln wo man sie haben will!

Binäre Suche mit PHP

Ich bin grade dabei mich auf die mündliche Nachprüfung zu Algorithmen vorzubereiten. Aus diesem Grund hab ich mir das Ziel Gesetzt möglichst alle Algorithmen die wir da hatten auch mal in PHP zu programmieren. Den Anfang macht die Suche.

Bei der ganz normalen linearen Suche wird die Liste oder hier der Array ja einfach von einer Seite her durch gegangen bis der gesuchte Wert gefunden wurde.
Das sieht dann so aus:

function linear_search($a, $k){
    for($i = 0; $i < count($a); $i++){
        if($k == $a[$i]){
            return true;
        }
    }
    return false;
}

Joa, da ist ja nix weiter dabei. Die Binäre Suche sieht dann schon bissl komplizierter aus:

function binary_search($a, $k){

    //Mitte finden
    $mitte = round(count($a)/2, 0)-1;

    //wenn die Mitte der gesuchte Wert ist...
    if($k == $a[$mitte]){
        echo $a[$mitte]." gefunden";
        return true;
    }
    //wenn der Array nur noch einen Wert enthält aber die Mitte nicht
    //der gesuchte Wert ist
    elseif(count($a)==1){
        echo $k." nicht gefunden";
        return false;
    }
    //wenn der gesuchte Wert kleiner als die Mitte ist...
    elseif($k < $a[$mitte]) {
        //Array aus linker Hälfte bilden und in dieser weitersuchen
        return binary_search(array_slice($a, 0, $mitte), $k);
    }
    //wenn der gesuchte Wert größer als die Mitte ist...
    elseif($k > $a[$mitte-1]) {
        //Array aus rechter Hälfte bilden und in dieser weitersuchen
        return binary_search(array_slice($a, $mitte+1, count($a)), $k);
    }
}

Ja, vielleicht kanns ja mal wer brauchen! 😉

PS: Irgendwie sieht das so hier mächtig scheiße aus. Leider hab ich kein gescheites Plugin für WordPress gefunden dass vielleicht sogar sowas wie Syntax Highlighting für PHP kann, geschweige denn überhaupt eines welches die Code-Funktion hier etwas aufmöbelt!

Edit:
Mit der richtigen Suchzeile findet man auch das passende Ergebnis! 🙂 Bei meinem “Hinundwieder-Arbeitgeber” der ilimitado OHG aus Tübingen hab ich ein wp-syntax gefunden. Dieses Plug-In beherrscht sogar Syntax-Highlighting und kann über 80 Sprachen! So sieht das doch schon deutlich besser aus!