Free to hire

Currently, I am free to hire from 1. Feb. 2010 – 30. Apr. 2010 (3 months work placement). More information.

Update:
Because I got asked: Yes, it is possible that I could work after the work placement as a reqular employee at your company (starting from 1.Aug.2010 at the earliest).

Sortieren einer Liste mit C++

Um eine (einfach) verkettete Liste mit C++ zu Sortieren gibt es unterschiedliche Ansätze. Ich habe die letzte Woche in einer Aufgabe im Rahmen meiner Algorithmik Vorlesung folgende Sortierungsfunktion implementiert, welche das Prinzip von Bubblesort verwendet.
Continue reading

PHP-Code-Camp in München

Vom 3. bis zum 6. März 2008 findet in München das PHP Code Camp statt und es sind noch Plätze frei. Auf diesem Camp werden unterschiedliche Schulungen mit einigen bekannten Referenten abgehalten. Das Camp findet im NH Hotel Deutscher Kaiser direkt am Münchner Hauptbahnhof statt und kostet ab 1.790 Euro. Organisiert wird das Code Camp vom PHP Magazin und von der Entwickler Akademie und wird als ein neuartiges Trainingskonzept beworben, das vier Tage lang in konzentrierter Form vermittelt, wie PHP-Anwendungen mit professionellem Anspruch entwickelt werden können.

Ein Auszug aus dem geplanten Programm:

Interaktives Code-Review einer “schlechten” Anwendung
PHP-Security (SQL-Injection, XSS, Session-Hijacking, Input-Verarbeitung)
Objektorientierte Programmierung
Testgetriebene Entwicklung
Einführung in Unit Testing, Entwicklung von Unit Tests
Werkzeuge für die PHP-Entwicklung
Funktionale Tests
Patterns für PHP
Code-Review von schlechtem und gutem Code

Mehr Informationen:
PHP Code Camp

Heute Neu: Google

Wer es Leid ist, Leuten die partout nicht zuerst eine Suchmaschine benutzen bevor diese in z.B. einem IRC-Channel fragen, biete ich ab sofort *applaus* IWUG. Man erntet manchmal keinen Erfolg, wenn man nur den Google-Link pastet bei einer dummen Frage, die von Google beantwortet würde, denn der User sucht eh nicht. Präsentiert man aber einen Link den er auf den ersten Blick nicht als Google-Link verifiziert, kann man immerhin hoffen, dass der User dann die Suche auch wirklich verwendet.

Somit wünsche ich frohes Googeln mit http://seric.at/iwug/

Software Design im Team

Leider scheitern viele innovative (Software) Projekte und Ideen an der Umsetzung. Oftmals kommen Programmierer mit verschiedenen Kenntnissen sowie Erwartungen zu dem Projekt. Es gibt selten ein Team mit den gleichen Kenntnissen der entsprechenden Programmiersprache sowie der selben Art an die unterschiedlichen Probleme heranzutreten und vorzugehen.

Hier möchte ich einige aus meiner Sicht essentiellen Punkte erläutern, welche einer guten Idee auch zu einer entsprechend guten Umsetzung verhelfen. Das ganze werde ich in meheren Teilen veröffentlichen und starte heute mit Teil 1: Continue reading

Externals in SVN inkludieren

Weil wir gerade die Diskussion hatten wie man externe Repositories in das eigene Repository inkludieren kann, möchte ich dazu einige Zeilen tippen. Es manch manchmal durchaus externe Quellen wie zum für Beispiel eine Library oder Plugins und Themes in ein Projekt zu integrieren. Um dabei auch jeweils auf dem aktuellsten Stand zu bleiben, kann man mithilfe der SVN (Subversion) Eigenschaft “externals” ein externes Repository angeben.

Dazu macht man folgendes: Continue reading

Die Türme von Hanoi in C

Ein beliebtes Beispiel für rekursives Programmieren ist das 1883 vom Mathematiker Eduard Lucas erfundene (Mathematik-)Denkspiel “Die Türme von Hanoi“.

Das Spiel besteht darin, einen Stapel A von verschieden großen Scheiben, welche der Größe nach sortiert sind, auf einen Stapel C mithilfe eines “Zwischenlager”-Stapel B zu bewegen ohne dabei eine größere Scheibe auf eine kleinere Scheibe zu legen. Am Ende muss auf dem Stapel C die selbe geordnete Reihenfolge vorliegen, wie auf dem Ursprungs-Stapel A. Zusätzlich gilt, dass jeweils nur eine Scheibe bewegt werden darf.

Der Stapel A mit 4 Scheiben wird so gelöst:

Türme von Hanoi

Dazu gibt es nun einen rekursiven Lösungsweg in der Programmierung. Man löst jeweils das kleinste Problem und wendet das selbe auf das nächt größere Problem an. Das heißt, man löst das Problem eines Stapels mit zwei Scheiben, kann dieses Problem gelöst werden, löst man das Problem für 2+1 bzw. schlussendlich n+1 Scheiben.

Der entsprechende Algorithmus in C:

void hanoi(int h, char src, char dest, char tmp) {
    if (h == 1) {
        moveDisk(src, dest);
    } else {
        hanoi(h-1, src, tmp, dest);
        moveDisk(src, dest);
        hanoi(h-1, tmp, dest, src);
    }
}
 
void moveDisk(char src, char dest) {
    printf("Move %c to %c\n", src, dest);
}

(Als simples Beispiel wird moveDisk() lediglich die entsprechenden Züge ausgeben.)

isPrime.c

Ja, man würde vielleicht vermuten, dass es überhaupt keine Schwierigkeit ist, herauszufinden ob eine Zahl eine Primzahl ist oder nicht. Es soll jedoch Leute geben, die sich damit schwer tun (und zufälligerweise des öfteren neben mir in den Vorlesungen sitzen).

Deswegen von mir (auch wenn man dieses Problem wohl niemals rekursiv lösen würde) der entsprechende Source-Code dazu:

int isPrime(int num, int i) {
    if (num == 0) return 0;
    if (i*i > num) return 1;
    if ((num%i) == 0) return 0;
    return isPrime(num, (i+1));
}