This is a small proof-of-concept collection of quantized screenshots of “The Big Bang Theory” with an algorithm we implemented at university.
Category Archives: Projekte
Book recommendation “Extreme Programming Explained”
title: “Extreme Programming Explained: Embrace Change”
author: Kent Beck
pages: 224
chapters: 27
ISBN: 978-0201616415
publisher: Addison-Wesley Longman, Amsterdam
published: 1991 (1st edition)
notesheet: extreme_programming_explained
Wow… it’s been a long I finished a whole book. I’ve always been lazy reading a book until the end. Compulsory reading for a course seems to be a valid approach to motivate me. The Book is “Extreme Programming Explained: Embrace Change” by Kent Beck and please recognize that I am talking about the 1st edition.
Extreme Programming is an agile software engineering methodology. He describes the book not as a checklist what someone has to do to apply this paradigm rather than providing an overview to the different elements of it. But in general the reader will be a person unfamiliar with this methodology and requiring a HowTo. The result of this discrepancy is a book consisting of 3 parts (The Problem, The Solution, Implementing XP) and 27 chapters; each explaining one of its associated buzzwords. As far as I would like to carry out this paradigm on a daily basis, I would describe myself as an interested reader and can recommend this book as this number of pages really does not hurt. For german people I also recommend the Chaosradio Express episode about it (CRE 028 Extreme Programming).
BRGproj docu
Als ich 2008 das BRG Viktring Schülerforum abschaltete, planten wir von Anfang an eine informative Nachlassseite, die unsere gemeinsame Zeit dokumentieren soll. Dieses Ziel wurde jetzt für mich erreicht und ich möchte eine Dokumentation der abgeschalteten BRGproj veröffentlichen. Dies inkludiert:
- BRG_HP (homepage)
- BRG3 / BRG4 (board)
- BRGblog (weblog)
- BRGwiki (wiki)
- BMS (blog management system)
- BDB (BRGproj development blog)
>>> zur Dokumentation
Sie zeigt Zeitleisten, Statistiken und beschreibt die Ereignisse rund um meine ersten Softwareprojekte.
Großer Dank an Peter, Stefan und Toja!
My PHP Rant
Writing a lot of PHP source code in the last years, I got more and more annoyed by PHP recently. I assumed it would be a good idea to sum up my thoughts and collect all the stuff that annoyed me while writing source code. I ended up writing an article about PHP called Why I dislike PHP and introduced the snippets section at my website.
Whoever is too lazy to read the whole article, just check out the linked code snippets. It might give you a feeling about my rationale. I’m happy for some feedback whoever has some experience with PHP.
Fun fact: I thought some of the examples—like list() in foreach—were pretty weird ideas by myself. But after writing the article and searching for discussions about PHP, I found discussions about these aspects by core developers.
Associated with this document, I have to announce that I want to discard most PHP projects I am currently working on. I am looking forward to developing with python in the web and I think this might work out (I might be interested in ruby on rails and node.js too; some day). As far as projects are concerned I am the only developer, I will mostly try to get the remaining source code running stable and reliable, but I am looking for a future without PHP.
The Big Bang Theory Relationship Diagram
Today I finished my Relationship Diagram of The Big Bang Theory. In recent times when watching the episodes I logged the relationship status of each character. Using this data, I thought of a way to visualize it. It’s quite difficult, because there is a timeline axis, a 2-entity relation and different modes (relationship, had slept with, only date). In the end, I skipped the modes (dates have been removed, everything else is the same) and here is my diagram approach.
First of all, the circle defines the timeline. There are 5 phases (1 “before”, 4 seasons). The end of each phase is indicated by a pink arrow. Secondly, each person has an assigned segment of the blue (thick darkblue) circle. Btw, segments of main characters have a yellow shadow. Inside this circle, there are 2 dots for each relationship (dot is at angle corresponding to the person-segment) and a line indicating the duration and position of the relationship corresponding to the timeline.
For example we want to check out all relationships of Penny. Therefore we look out for her angle (below the “P” of Penny is a blue segment at about 12°). We can now see all dots at this angle describing different relationships. We can look for dots (with the same color) at the same radix to see which she was in relationship with. The large orange line indicates that Mike was her boyfriend between S02 E12 and S02 E17 (in this particular case: the start of the relationship is not mentioned explicitly, but its existence is approved in S02 E14).
Damn complex stuff :-/ Any ideas for other ways to visualize it? Eventually I will just create versions with reduced font sizes and remove some unimportant relationships. This might simplify the diagram. Check out the bigbang folder for future development and data.
FYI 2 bugs: Lisa is never linked. She dated Howard in S02 E08. When finishing the diagram, I omitted her, because there was not enough space for her and I generally skipped dates. The top-most darkblue line (for a person) is not assigned to anyone. Who cares
Update: Flo did an awesome work and improved it. Cool!
datenlandkarte release 1.0
(Tue, 10th Feb 08:12:26 PM) meisterluk: ich habe mein Baby aus dem Käfig gelassen...
Ich erwähne es nur, weil ich um testing-Mithilfe bitte. Irgendwie lassen sich noch keine Bugs finden oder die Leute melden Bugs nicht. Das github Repository nennt sich datenlandkarte.
CreateCamp Klagenfurt 2011

2 von 3 Tagen am CreateCamp Klagenfurt 2011 war ich mit von der Partie und habe mich temporär dem Projekt datenlandkarten.at angeschlossen. Es geht grundsätzlich um die Eingabe von statistischen Daten in einem geographischen Kontext, die dann auf einer Landkarte visualisiert werden. zB Durch die Eingabe numerischer Werte kann so sehr benutzerfreundlich die Kriminalstatistik der Bundesländer visuell dargelegt werden.
Das Projekt Dieses Projekt wurde bereits von einem Münchner in eingeschränkter Form realisiert, der uns auch den Quelltext zur Verfügung stellte. Nach dem ersten Öffnen war mir klar, dass mit diesem Spaghetti-Code kein modularer Quelltext entstehen kann. So entschied ich mich den ganzen Weg von den Eingabefeldern, zur Überprüfung der Usereingaben, zum Parsen und Rendern der SVG-Graphik bis zum Downloadangebot in zwei Graphikformaten selbstständig zu schreiben. Ingesamt bin ich in etwa 20 Gesamtzeit sehr weit gekommen. Die Software steht grundsätzlich vollständig. Unsauberkeiten gibt es bei der Usereingabenüberprüfung (zu streng angesetzt), das Testen des Renderns wurde noch nicht ausgeschöpft und kleine Features sind noch zusätzlich gewünscht. Des Weiteren sind jetzt noch unerwartet provider-spezifische Anpassungen notwendig (imagemagick).
Was habe ich erreicht? Mit dem Quelltext selbst bin ich recht zufrieden. Die Softwarequalität hätte ich noch ein bisschen steigern können, indem ich vorab eine bessere Modellierung der Anforderungen durchführe. Aber es liegt in der Natur jedes Projektes (zumindest meiner bisherigen Projekte), dass Anforderungen erst im Laufe des Entwicklungsprozesses klar werden und damit iterative Prozesse besser in der Softwareentwicklung greifen.
Was habe ich gemacht? Ohloh sagt mir, dass die Projektdateien auf github zu 73% aus PHP, 19% HTML, 5% Javascript und 3% CSS bestehen. Gefühlt würde ich beziffern, dass 85% Zeitaufwand in PHP, 13% in jQuery geflossen sind und der Rest durch SVG, HTML und CSS dargestellt wird. Leider kann ich es nicht verneinen, dass HTML weiterhin einen sehr langsamen Fortschritt hat und ich wenig bis gar keine HTML5 Features nutzen konnte. CSS war kein wirkliches Aufgabengebiet meiner Arbeit, aber PHP macht wirklich schreckliche Dinge. Es arbeitet nicht so schlimm wie C, aber als unerfahrener Programmierer sollte man nicht Webentwicklung betreiben. So erfolgt die Callback-Übergabe bei preg_replace_callback mittels eines Strings. Dieser stellt jedoch auch keinen normalen Call dar und ruft damit nicht die Funktion des geparsten Strings auf, sondern nur die Funktion auf erster Ebene (keine first-class-citizens). So musste ich dieses Problem über (evil) globals lösen. OOP wollte ich (nur dafür) nicht einführen. Ebenso machten mir einige Eigenheiten von PHP Sorgen. empty(“0″) evaluiert gegen true, ein Backslash muss mit vier Backslashes gematcht werden (preg_replace(‘/\\([^\\]*)/’, ‘$1′, $subject)) und die Parameterreihenfolge von Funktionen ist generell inkonsistent.
Was habe mitgenommen? Ein bisschen Programmiererfahrung. Dass man auf den IE6 keine Rücksicht mehr nimmt. Dass SVG einige Anwendungsfälle hat. Dass binäre Datenformate Programmierern prinzipiell im Weg stehen. Dass es öffentliche Datendanken und APIs für öffentliche Daten geben sollte. Dass lizenzrechtliche Diskussionen im Rahmen der ShareIt-Kultur immer wichtiger werden und dass PHP nicht zu bevorzugen ist.
Danke an den Projektleiter Robert und danke insbesondere für die sehr gelungene Organisation des #bcklu. Die verminderte Anzahl an Sessions bei einer Parallelführung (Barcamp + CreateCamp) halte ich auch für kritikfähig und ich persönlich bin für zwei getrennte Konzepte und Termine: barcamps (Diskussion, Sessions) und projectcamps (programming, promoting).
Silvester Artwork
I did some artwork for silvester, because I tried some stuff with Inkscape.
Artwork “Burn 2010″
Artwork “The new game”
Artwork “Share your knowledge”
Artwork “Choose your side”
Happy new year
Truthtable Script
A small python script to create a truthtable.
Update: name, you are a God.
#!/usr/bin/env python
import itertools
def truthtable(fields=2, elements=(True, False)):
'''Create a truthtable'''
liste = []
for element in elements:
for i in xrange(fields):
liste.append(element)
perm = itertools.permutations(liste, fields)
nodup = tuple(set(perm))
sor = sorted(nodup)
return sor
return tuple(itertools.product(elements, repeat=fields))
f = lambda x, y: x and y
for i in truthtable(2):
for element in i:
print str(element).center(8) + ' ',
print f(*i)
My first real program
Good old days. In about 2006 I was writing my first program. Actually it was VBA in M$ Excel. I might have written Hello-World first, but for sure this was just typed off from somewhere. I remember, that my first own program (containing logic) was a password request in VBA, because it was my project in computer science. During other lessons you don’t have a computer, that’s why it handwritten.








Recent Comments