Archiv vom Juni 2009

KISS?! Wer braucht das schon…

Vom 17. Juni 2009

Als Programmierer kommt man vielleicht in eine Phase, in der einem die eigene Phantasie davon rennt. Dann denkt man sich innerhalb von einer Stunde ein schön Aufgebautes System aus, das bloß leider auch sehr umfangreich und komplex ist. In meiner persönlichen Entwicklung hab ich mehr als einmal Monate an etwas programmiert, dass ich mir in einer Stunde ausgedacht hatte…

So schön das auch sein mag, so schlimm waren für mich persönlich die Folgen: Selbst wenn ein System besonders gut durchdacht war, sobald ich an die Implementierung gedacht hab, ist der Eifer in Frust umgeschlagen. Es würde eh zu lange dauern, diese Idee zu implementieren, also kann ich es auch gleich sein lassen.

Diese nüchterne Einsicht hätte fast dazu geführt, dass ich mit dem Programmieren aufgehört hätte. Wofür auch programmieren, wenn man die Sachen, die man im Kopf hat, eh nicht so Umsetzen kann? Wofür, wenn man seinen eigenen Ansprüchen an schönen Code nicht gerecht wird und damit auch keinen Spaß an der Sache hat? Ich habe mich in der Programmierung verloren… nur noch des Programmierens halber programmiert und dabei oft die eigentlichen Probleme aus den Augen verloren.

Glücklicher weise bin ich damals mehr durch Zufall und englische Literatur auf eine andere Art der Programmierung gestoßen. Dort ging es auf einmal um Prinzipien wie KISS und DRY. Erst dank dieser Prinzipien hab ich verstanden, dass es von Vorteil ist, ein System möglichst einfach zu halten. Weniger Code, weniger Fehler, übersichtlicher, schneller zu implementieren und einfacher zu warten.

Nach einiger Gewöhnungszeit gelang es mir dann sogar wieder, mir Sachen auszudenken, die in überschaubarer Zeit programmierbar waren. Zwar auch durch die Hilfe diverser Sprachen und Frameworks, aber in erster Linie indem ich in der Lage war, unnötige Funktionen wegzulassen und so das System möglichst einfach zu halten. Komplexität hat zwar auch seine Schönheit, aber etwas, dass ein Problem auf bestechend einfache und ausdrucksstarke Weise löst, hat einen ganz anderen Reiz.

Leider scheint man beim Studium auf solche Prinzipien nicht wirklich Wert zu legen. Warum auch Dinge einfach halten, wenn man sie kompliziert machen kann? KACAP scheint da der Trend zu sein. Warum sollte man als Programmierer auch an das Problem denken, dass man eigentlich lösen wollte? Das währe ja fast so schlimm wie ein Programmierer, der leistungsorientiert oder wirtschaftlich denken kann…

Langsam bekomme ich den Eindruck, manche Vorlesungen bewegen sich in diese Richtung.

Abgelegt in: Programmieren, Gedanken | Kommentare ansehen und hinterlassen

Autotest with Ubuntu OSD notification

Vom 13. Juni 2009

Having suffered under a minor burnout lately it’s time to have some fun with programming again. Therefore I’m doing a small of the record Rails project and thought I could start some serious testing with Shoulda and Webrat. All so fine and funny but the GNOME notify plugin for autotest made it perfect!

Once you fire up autotest it automatically runs your tests based on what file you just saved. Pretty cool if you code some new stuff and get direct feedback without having to type in the test command.

I have used this before on a project but with the GNOME notify plugin you don’t even have to look at the console. Once saved you’ll get a nice little new Ubuntu style notification:

An Ubuntu OSD notification message showing that all tests passed

Pretty neat an the “good job” line keeps you programming. Couldn’t be more fun.

Abgelegt in: Programmieren | Kommentare ansehen und hinterlassen (1)

Spielerein mit Blender

Vom 10. Juni 2009

Das Studium an der Hochschule der Medien hat eine ganze Menge schöne Seiten. Eine davon: es sind jede Menge Leute dort, die sich mit allen möglichen Programmen auskennen. Heute hat z.B. ein Kommilitone die grundlegende Handhabung von Blender vorgeführt.

Für alle Interessieren: Blender ist ein OpenSource 3D Modelierungs- und Animationsprogramm. So wie 3D Studio Max oder Maya, bloß eben in den Sphären der freien Software.

Leider ist die Bedienoberfläche von Blender etwas… unintuitiv und bisher konnte ich nicht viel mehr als Blender starten. Der Vortrag allerdings hat schön gezeigt, wie man sich in Blender bewegen kann und Gitterpunkte, Kanten oder Flächen manipuliert. Mit allein diesen Grundkenntnisse kann man schon innerhalb von 10 Min. einen kleinen Darwianer bauen:

Alles in allem echt gut für einen kleinen Einstieg ohne jegliche Vorkenntnisse. Besten Dank an Timo für diesen guten Vortrag. :)

Abgelegt in: Sonstiges | Kommentare ansehen und hinterlassen

Projekte

Simple Localization
Ein einfaches, aber macht- volles Übersetzungsplugin für Ruby on Rails.
Table Navigation
Ein jQuery Plugin um per Tastatur schnell durch Tabellen zu navigieren.

Über was ich schreibe…

Newsfeeds

Kommentare