Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken. Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.

Da Politiker im Regelfall von neuen Dingen nichts verstehen, halten wir es für notwendig, Sie davor zu schätzen. Dies ist im beidseitigen Interesse, da unnötige Angstzustiände bei Ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsächtigen Politikern schützt.

Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.

Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.

Mehr Informationen unter www.politiker-stopp.de.



Monatsarchiv für Juli 2009

Architekturentscheidungen

Donnerstag, den 30. Juli 2009

Im Moment haenge ich an einer Designentscheidung… Letztendlich gibt es bei meinem Problem viele Loesungen und alle funktionieren auch.

Ich arbeite zur Zeit mit OpenGL in .NET und da treffen zwei voellig verschiedene Paradigmen aufeinander. OpenGL verwaltet seine Stacks selbststaendig; jede Methode ist static. Das passt nicht zu objektorientierter Programmierung, aber man kann OpenGL ja nicht einfach biegen, wie man es gerne haette. Die Favoriten sind im Moment folgende (wobei ich bei jedem die Nachteile hasse):

Klassendiagramm

Klassendiagramm

Ganz links wird eine verschachtelte Fassade mit einem Singleton (Nested Facaded Singleton) genutzt, um die Zustandsbehaftung und gleichzeitig die statische Natur von OpenGL zu erhalten, indem die aeussere Klasse die selben Methoden anbietet, wie die innere Klasse. Nur die aeussere Klasse kann auf die Methoden der inneren Klasse zugreifen. Die aeussere Klasse bietet statische Methoden an, die innere bietet nicht-statische Methoden ueber ein Singleton (d.h. nur einmalige Instanzierung moeglich) an. Die Klasse NestedFacade macht nun z.B. in ihrer Methode Method folgendes:

public static void Method()
{
    Singleton.Instance.Method();
}

Und da ist auch direkt der Knackpunkt: Ich verdopple somit die Anzahl der Methoden ohne die Funktionalitaet zu erhoehen. Hierdurch erzeuge ich eine hohe Kopplung ohne die Kohaesion zu veraendern. Das allein reicht fuer mich eigentlich schon als Totschlagargument.

In der Mitte ist ein klassisches Singleton Pattern (mit Threadsicherheit durch Locking*) abgebildet. Im Moment habe ich meine Klasse auf die Art modelliert. Eigentlich stoert mich daran auch nur, dass ich jedesmal via Instance darauf zugreifen muss:

Singleton.Instance.Method();

Bisher hat mich das sehr gestoert, da ich das Singleton doch sehr haeufig benutzen muss.

Naja * Locking ist auch so eine Sache. In C# gibt es da viele Herangehensweisen: Einfaches Locken, Double-Lock Idiom, Static Constructor, Instance Container, Delegation statt Locken, Verwendung anonymer Delegate… Jedes (Not-)Locking Idiom macht meist nur in einem Pattern Sinn und ist ansonsten ein Anti-Pattern. Argh.

Letzteres Diagramm zeigt eine einfache Facade, die die OpenGL Methoden kapselt. Problem hierbei: Da ich das Objekt an mehreren Stellen benoetige, muesste ich die selbe Referenz an mehreren Orten verwalten. Das ist mir viel zu viel Overhead und die Kopplung explodiert ins bodenlose. Der Vorteil dabei waere jedoch, dass die Kohaesion bei 100% liegen wuerde.

Lustigerweise hatte ich bei der Modellierung des restlichen Systems keinerlei Schwierigkeiten, da alles sehr offensichtlich in die diversen Patterns gepastet hat.

Distributed Calculation of Primes

Donnerstag, den 30. Juli 2009

Als Uebung fuer eine in der naechsten Woche anstehenden Klausur habe ich mal versucht Primzahlen verteilt (vgl. SETI@Home, Tiles@Home, etc) berechnen zu lassen.

Hier ist das Ergebnis:
Remote Method Invocation @ FSEwiki.

Geheimnisse im Strom und Angriffe gegen den Secure Layer

Donnerstag, den 30. Juli 2009

Da kommen schlimme Zeiten auf uns zu…

Auf der Sicherheitskonferenz Black Hat, die derzeit in Las Vegas stattfindet, haben die italienischen Sicherheitsforscher Andrea Barisani und Daniele Bianco einen PS/2 Protocol Keyboard Sniffer vorgestellt. Dieser kann die Tastenanschläge von PS/2-Tastaturen aus der Masseleitung im Stromnetz auslesen. Nach Angaben von Barisiani war das Team damit in der Lage, die PINs von Geldautomaten in Italien ohne Kamera oder andere Methoden nur via Steckdose auszulesen. Damit zeigen die beiden eine weitere Skimming-Quelle auf.

via heise Security.

Erneut hat der IT-Sicherheitsexperte Moxie Marlinspike eine gefährliche Schwachstelle bei SSL-Zertifikaten offengelegt: Während seiner Präsentation im Rahmen der Blackhat-Konferenz am Mittwoch in Las Vegas demonstrierte Marlinspike, wie leicht er sich ein gültiges Zertifikat für eine fremde Domain wie zum Beispiel www.paypal.com von einer Zertifizierungsstellen ausstellen lassen konnte. Der Trick: Marlinspike fügte beim Beantragen des Zertifikats im Namensfeld (CN, Common Name) ein Nullzeichen (\0) zwischen den gewünschten Domainnamen und den Namen der eigenen, bereits in seinem Besitz befindlichen Domain thoughtcrime.org ein.

via heise Security.

Da bleibt nur eins…
(Entweder JavaScript ist nicht aktiviert, oder Sie benutzen eine alte Version von Adobe Flash Player. Installieren Sie bitte den aktuellsten Flash Player. )

DBMS + REM2: done

Donnerstag, den 30. Juli 2009

Puh, das wars fuer diese Woche. Ich bin tot.

Cryptography: done

Mittwoch, den 29. Juli 2009

So, eben habe ich erfahren, dass ich bestanden habe. Ich haette zwar gerne eine 1 vor dem Komma gehabt, aber naja… Mal gucken, was ich bei der Einsicht der Klausur noch rausholen kann…

Und gleich gehts in die naechste Klausur: Datenbankmanagementsysteme.

Claiming for Technorati

Mittwoch, den 29. Juli 2009

hj2uytpswq

Mit dem Code sollte Technorati nun anerkennen, dass ich Betreiber der Seite bin.

Turing’s Guinea Pig

Montag, den 27. Juli 2009

Heute war es dann soweit: Das Final Exam stand fuer das Modul Cryptography an. Nachdem ich vor einiger Zeit zum Versuchskaninchen beim Zentralabitur in NRW wurde, musste ich heute wieder Neuland betreten: Computer-gestuetzte Klausuren.

Ziel des (nicht mehr ganz so) neuen Rektorats ist es, Klausuren an Computern schreiben zu lassen, um so Korrekturaufwand und somit Zeit zu sparen. Das von der LPLUS GmbH entwickelte TestStudio™ wurde bereits bei den Vorpruefungen zum Modul Datensicherheit / Kryptografie verwendet und fiel zumindest bei der zweiten Pruefung auf die Nase. Resultat war, dass die minimalen 25%, die man erreichen musste, um die Teilpruefung zu bestehen, allen Teilnehmern aus Kulanz gutgeschrieben wurden. Die Probleme des Systems sollten – in der Theorie – direkt von der LPLUS GmbH behoben werden. Jedoch existiert zumindest das Problem, dass man beim Einloggen schnell auf die Enter-Taste druecken muss, da ein Bestaetigungsfenster sich sonst sofort wieder schliesst, immernoch (nach 3 Vorpruefungen).

Also was ist heute passiert? Ganz normal beginn ich mit den auf einzelnen Seiten verteilten Aufgaben. Nachdem ich bei Aufgabe 20 den RSA Algorithmus durchgefuehrt habe und auf den Button klickte, der mich zur naechsten Aufgabe bringen sollte, kam ich nur zu einer ASP.NET Fehlerseite, auf der in roter Schrift (etwa in Schriftgroesse 30pt) IndexOutOfRangeException stand. Ich meldete diese Fehlermeldung sofort. Einer der wissenschaftlichen Mitarbeiter versuchte das Problem mit der Standardvorgehensweise (unter Windows) das Problem zu loesen: Woanders hinklicken, dann nochmal dahinklicken. Aber nichts: Das System konnte nur noch diese Meldung anzeigen. Interessanterweise betraf nur mich das Problem. Der wissenschaftliche Mitarbeiter rief also irgendwo an und wurde einige Minuten spaeter wieder zurueckgerufen. Er teilte mir daraufhin mit, dass ein Techniker der LPLUS GmbH am Server sitzt und versucht das Problem zu beheben…

Ich durfte beobachten, wie alle Teilnehmer nach und nach gingen. Kurz bevor die letzten paar gingen konnte ich endlich wieder weitermachen. Mir wurden 10 Minuten gutgeschrieben, die ich aber letztendlich nicht brauchte, weil ich sowieso noch 59 Minuten und 4 Sekunden gehabt haette und nur noch weitere 5 Minuten gebraucht habe.

Fazit: Computer koennen Menschen nicht ersetzen. Nichtmal bei so scheinbar einfachen Aufgaben. Zudem laesst sich mit dem System immer nur ein Loesungsweg abfragen, wobei es doch oft viele Alternativen gibt. Hiermit gilt fuer mich also bewiesen, dass das LPLUS System und somit Computer-gestuetzte Pruefungen sowohl beim Turing-Test, in der Praxis, als auch in Sachen Universitaetsniveau durchgefallen sind.

Setzen, 6.

100011011

Montag, den 27. Juli 2009

Hilfe. Ich sehe irreduzible Polynome und bewege mich in Galoisfeldern. Jemand hat mich in GF(2^8) eingesperrt. Ich sehe Muster in
0 1 1 0 0 1 1 0
1 1 1 1 1 1 1 1
0 0 1 0 0 1 1 0
0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1
1 0 1 0 1 0 1 0
1 1 1 0 0 0 0 1
1 0 1 0 1 0 1 0
und erkenne 9876543210FEDCBA als Wort an!

Argh.

Jodas Wisdom

Sonntag, den 26. Juli 2009

Die Zensur in Deutschland, zur dunklen Seite sie dich treibt!

Ein Tyrann im Stuhl mit zwei Raedern…*grml*
Dunkelheit ueber das Land der Deutschen er bringen wird!
Deshalb tapfer mein junger Jedi du musst sein.
Den Rebellen anschliessen du dich musst!

Gefunden bei heise.

Prokrastination

Mittwoch, den 22. Juli 2009

quod erat demonstrandum

Freiheit statt Angst – der Trailer

Samstag, den 18. Juli 2009

Freiheit statt Angst – der Trailer from Alexander Svensson on Vimeo.

Via ports

Copy & Paste via PuTTy in vim

Montag, den 13. Juli 2009

Des Oefteren hatte ich das Problem, dass ich in vim Text kopieren und wieder einfuegen wollte. Dabei hat vim den Text immer sehr merkwuerdig eingerueckt. Jetzt habe ich endlich die Loesung fuer das Problem gefunden.

vim ist automatisch im auto-indentation Modus. Jedem Text wird eine Einrueckung vorangestellt, die sich auf die zu letzt eingerueckte Zeile bezieht. Dadurch entsteht haeufig Mist, den man manuell korrigieren muss. Hier ist die Loesung:

Auto-Einrueckung abschalten:

:set paste

Auto-Einrueckung wieder einschalten:

:set nopaste