Thursday, April 12, 2007

Tops und Flops der Vorlesungen

Hier mal rein subjektive meine Liste der fünf Top-Vorlesungen und Flop-Vorlesungen, die ich im Laufe der letzten sieben Semester besucht habe bzw. besuchen mußte.

Tops:

  1. Konzepte und Methoden der Systemsoftware
    Prof. Karl hat seinen Weierstraß-Preis voll verdient.
  2. Softwaretechnikpraktikum (alte Aufgabenstellung)
    Die mit Abstand aufwändigste, aber auch sehr interessante und lehrreiche Veranstaltung an der Uni. Mal angesprochen: Die alte Aufgabenstellung (Shuttle-Simulation) war um Längen besser als die neue. Bei der alten Aufgaben waren Fähigkeiten aus allen Bereichen z.B. auch Graphenalgorithmen und Approximationsalgorithmen notwendig, bei der neuen Aufgabenstellung sind nur noch SWT-Fähigkeiten gefragt.
  3. Methoden des Algorithmenentwurfes
    Ich verstehe die Freude einiger Freunde von mir, weil Ulf-Peter Schröder nun die Vorlesung "Approximationsalgorithmen" anbietet und jeder hofft, dass dies "Algodesign " wird. Ich habe (leider) für die Vorlesung keine Zeit.
  4. Rechnernetze
    Nochmal Karl. Was soll man sagen, er macht um eine Größenordnung bessere Vorlesungen.
  5. Mathematik für Informatiker 1
    Angeblich nicht immer mathematisch formal (sagten mir zumindest Mathenebenfachler), aber sehr motivierender Stil. Ideale Einstiegsveranstaltung ins Studium

Flops:

  1. Mathematik für Informatiker 3 - Stochastik
  2. Wirtschaftsinformatik 1
  3. Wirtschaftsinformatik 2
  4. Operations Research II

P.S. Außer Konkurrenz ein Zitat aus einer Vorlesung: "Wenn das Programm weiß, dass die Berechnung nicht enden wird, kann es die Berechnung auch abbrechen".

Monday, April 02, 2007

Python-Frameworks im Vergleich

Die Webseite "jp’s domain" vergleicht in dem Artikel "Python web development and frameworks in 2007″ die Python-Webdevelopment-Frameworks Zope, Djangeo, Pylons and TurboGears nach verschiedenen Kritierien wie der

  • allgemeinen Designphilosophie
  • dem System zum URL Dispatching
  • dem Templatesystem
  • dem OR-Mapper
  • der Formularverwaltung
  • den Vor- und Nachteilen des Systems
  • und den Zukunftserwartungen für des Framework

Over the past year or so I have spent a whole lot of time evaluating different web frameworks, trying to find what works best for me. Like many programmers, I am a bit of a perfectionist, but I am also a pragmatist. I want my tools to work absolutely right every time, and I want my tools to help me effectively get certain tasks done. However, if you’ve programmed much at all, you know that perfection isn’t something that you are likely to find, as perfection to one person is different to what perfection for another person is. In the end you can only pick what works best for you.

Compounding this decision process is the fact that in Python web development, there are quite a few choices.

Wintersemester zu Ende!

Eben ist mit meiner Prüfung zu "Algorithmen in synchronen Rechnernetzen" das Wintersemester zu Ende gegangen. Zeit für meine letzte VKrit.

Ich fand die Vorlesung von anderer Seite "überkritisiert". Sie war nicht perfekt, aber gut.

Die Übungsaufgaben waren jederzeit fordernd. Etwas über dem Schwierigkeitsgrad der Übungsaufgaben von "Methoden des Algorithmenentwurfes". Sie haben mir viele Ah-Erlebnisse beschert (zu viele davon aber erst in der Besprechung).

Die Vorlesung ist eine Standardvorlesung und sehr ausgereift. Dies bedeutet gleichzeitig, dass nichts wirklich "Neues" behandelt wird. Die aktuellste Quelle in der Literaturangabe ist von 1997.

Der größte Kritikpunkt ist, dass leider der Veranstalter (AG Monien) gar nicht mehr so sehr in dem Bereich aktiv ist und dies eher eine Vorlesung aus der Vergangenheit der AG ist. Entsprechend war die Motivation nicht immer optimal. Dies sollte man bedenken. Von der Motivation des Dozenten mitreißen lassen kann man sich in dieser Veranstaltung nicht.

Friday, March 30, 2007

Ruby-Präsentation in der Google Talk-Reihe

Google hat innerhalb seiner Google Talk-Reihe eine Speaker Series über Ruby On Rails gestartet, die sie über ihre Videoplattform öffentlich verfügbar machen.

Am 8. März haben die Entwickler des Webdienstleisters Competitious (TechCrunch) ihre Erfahrungen mit Ruby On Rails dargestellt (Video).

Die Präsentation und vor allem die sehr interessante Diskussion danach beleuchtet die Vorteile von RoR, aber auch die (momentanen oder konzeptionellen) Schwächen. Auch die Frage, wann man vielleicht nicht Rails einsetzten würde werden gestellt und beantwortet.
Einige Beispiele (z.B. das Activity Logging) zeigen sehr schön die eleganten "Tricks", die man mit der Ruby-Programmiersprache machen kann.

Die Slides sind im Entwicklerblog von Competitious verfügbar.

P.S. Schön zu sehen, dass ich offensichtlich nicht der einzige bin der a) manchmal Ruby sagt, wenn er Rails meint und b) der Versuchung einer Framework-Debatte kaum widerstehen kann.

Tuesday, March 27, 2007

Fazit vom 1. Webmontag

Gestern fand der erste Webmontag in Paderborn statt und ich glaube es war (für einen ersten Versuch) auch eine gelungene Veranstaltung. Klar, manche Dinge müssen sich einspielen, es war nicht klar wie viel Zuspruch die Veranstaltung bekommt und welche Zielgruppe anwesend ist. Ich bin sicher beim zweiten Mal (schon in Planung!) wird es etwas weniger chaotisch ablaufen, aber es war auch so interessant.

Wer sich nochmal den Vortrag von Frederik und mir über Ruby On Rails ansehen möchte und die Folien noch mal langsam durchgehen will, kann sich die Folien bei Frederik herunterladen.

Friday, March 09, 2007

VKrit: Architektur paralleler Rechnersysteme

Diese Veranstaltung "Architektur paralleler Rechnersysteme" von dem PC^2-Mitarbeiter Jens Simon sorgt dafür, dass (große) parallele und verteilte Systeme nach dem Weggang von Professor Kao an der Uni Paderborn nicht total untergehen. Die Veranstaltung ist weitgehend unbekannt, weil die Webseite dazu nicht über die Seite "Lehrangebot" erreichbar ist.
Im Modulhandbuch wird sie auch nicht explizit erwähnt. Dort heisst es aber:

Die Veranstaltungen über Cluster Computing, Architektur paralleler Rechnersysteme und Performance-optimierte Programmierung führen in die Welt des Hochleistungsrechnens. Dabei werden sowohl der prinzipielle Aufbau als auch Fall Beispiele von Hochleistungsrechnern vorgestellt. Ferner wird auf die entsprechende Systemsoftware, auf die Netzwerkstrukturen und insbesondere auf die Programmiermodelle für Parallelrechner eingegangen.

Das Thema finde ich sehr interessant und eines der empfohlenen Bücher "Hennessy/Patterson: Computer Architecture - A Quantitative Approach" ist eines der besten Bücher, die ich bisher im Studium gelesen habe.

Ein Plus-Punkt bekommt die Veranstaltungen wegen den Übungsaufgaben, die auch praktische Entwicklung auf dem PC^2-Cluster beinhalteten.

Negativ ist anzumerken, dass in der Vorlesung und in dem Folienskript teilweise der rote Faden fehlt. Einzelne Themen werden mehrmals besprochen und dabei teilweise unterschiedlich definiert. Insgesamt brauchen die Folien nochmals eine gründliche Durchsicht.
Auch wirkt die Motivation mit dem Zitat von Luiz Andre Barroso über die Google Architektur in Anbetracht der Ausrichtung der gesamten Veranstaltung auf wissenschaftliches Rechnen (was auch genau dem Fokus des PC^2 entspricht)sehr merkwürdig.


Das Google Konzept z.B. hier widerspricht in meingen Augen genau dem Fokus und den Inhalten der Vorlesungen (Sehr deutlich z.B. auf Folie 23 der Vorlesung zu Clustern). Eine Motivation, die eher auf wissenschaftliches Rechnen mit Aufgaben wie Barnes Hut (Galaxiesimulation) u.a. eingeht, würde der Vorlesung besser entsprechen.

Bis auf die verbesserungsbedürftigen Folien und der Motivation, die nicht zur Vorlesung passt, auch eine gute Veranstaltung, die ich empfehlen kann.

VKrit: Semantik von Programmiersprachen

Meine kurze Reihe von persönlichen Veranstaltungskritiken setze ich mit zwei Wochen Verspätung zur Prüfung fort: Semantik von Programmiersprachen

Im Modulhandbuch steht zu Semantik von Programmiersprachen nicht viel. Dort heisst es nur:

Semantik von Programmiersprachen
1 Operationale Semantik
2 Mathematische Semantik
3 Axiomatische Semantik
4 Induktives Definieren und Beweisen
5 Semantische Bereiche und Fixpunkttheorie
6 Rekursionsgleichungen
7 Semantik nebenläufiger Systeme

Klingt sehr theoretisch. Ist es auch.

Und dies ist gleichzeitig der größte Vor- und der größte Nachteil der Veranstaltung.

Ein Vorteil weil in keiner anderen Veranstaltung in der Softwaretechnik so formal mit den Themen der Softwaretechnik umgegangen wird.

Ein Nachteil, weil mir (außer dem Training des formellen Umganges mit SWT-Themen an sich) kaum eine Anwendung für das Wissen und die Methoden bewusst ist. Auch der Motivationsabschnitt des Skriptes gibt nicht viel her.

Teilweise gibt es Zusammenhänge mit Model Checking (z.B. Fixed Point Theory), natürlich auch mit Programmverifikation (z.B. Axiomatische Semantik), aber darauf wird nicht eingegangen.

Die Veranstaltung kann höchstens dazu dienen, dass Handwerkszeug für andere Veranstaltungen bereitzustellen.

Deshalb: Wenn man diese Veranstaltung belegt, sollte man dies auf jeden Fall als erste Veranstaltung in einem Modul machen. Wie ich es gemacht habe: Erst "Model Checking" dann "Semantik" ist nicht wirklich sinnvoll.

Friday, February 16, 2007

Fair Use, Google und die digitale Bibliothek

Ohne Frage, Google hat im Moment reichlich Stress mit dem Urheberrecht.

Selbst mit dem Copyright-Recht in den USA ist YouTube deutlich ein Problemfall und mit dem (kontinental-) europäischen Recht sieht es noch schlimmer aus.
In Belgien hat ein Gericht gerade wieder wegen Google News gegen Google entschieden.
Auch das Booksearch-Projekt steht in der Kritik.

Das Problem (für Google und IMHO für die Wissensgesellschaft) in Deutschland/Europa ist dass nur wenige relativ genau spezifizierte Ausnahmen im Urheberrecht gibt, so genannte Schranken z.B. die Zitatschranke. Während das US-Copyrightrecht auch sehr weit davon entfernt ist perfekt zu sein, aber dort gibt es wenigstens eine FairUse-Generalklausel, wodurch mehr erlaubt ist als mit unseren "Schranken".

Dort findet eine Prüfung u.a. nach vier Merkmalen statt (Copyright Act)

In determining whether the use made of a work in any particular case is a fair use the factors to be considered shall include—

1. the purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes;
2. the nature of the copyrighted work;
3. the amount and substantiality of the portion used in relation to the copyrighted work as a whole; and
4. the effect of the use upon the potential market for or value of the copyrighted work.

Ja, Juristen hassen Generalklauseln, aber ich glaube im Urheberrecht sind sie notwendig.

Wie ich das deutsche Urheberrecht verstehe, dann könnte es schon für jede Suchmaschine, Online-Blogreader und andere Arten von Services, die Daten von anderen Urhebern verarbeiten, sehr knapp werden. (Mein automatisches Blogaggregat juli-blogs.de ist davon nicht betroffen, weil ich die Genehmigung der Urheber habe.)

Aber nimmt (selbst mit einer weitreichenden Definitiv von "nimmt") ein Online-Blogreader-Service dem Urheber wirklich etwas weg, so dass so solcher Serviceanbieter dafür bestraft werden sollte? Ich halte da das FairUse-Prinzip für wesentlich ausgeglichener.

Zurück zum Thema:
Nach deutschem Recht hätte das Booksearch-Projekt wohl keine Chance. Nach dem US-Recht besteht eine ganz gute Chance, dass es rechtlich möglich ist. Laura Dierking hat sich in der 12. Episode von J!Cast mit dem Booksearch-Projekt auseinandergesetzt. Dort werden Fragen beantwortet wie:
Was macht das Projekt? Was wird eigentlich angezeigt? Was sagt das (amerikanische) Urheberrecht dazu?

Gates vs. Jobs with Mighty Finder

Schon sehr durchgeknallt, aber witzig.

(YouTube Video)
Der iHouse-Gag war schon extrem komisch ("Yes, no windows")
(via Chaos Blog Paderborn)

Wednesday, February 14, 2007

Zeit für meine VKrit: Speichersysteme

So eben wurde der ersten Ordner mit Vorlesungsunterlagen in diesem Semesters in den Keller gebracht.

Zeit für meine VKrit: Speichersysteme
Speichersysteme ist eine neue Veranstaltung, die sowohl für die E-Technikstudenten wie auch für Informatiker angeboten wird. Gehalten wird sie von Andre Brinkmann einem Informatiker, der allerdings als wissenschaftlicher Mitarbeiter am Institut für E-Technik arbeitet.
Auf der Homepage wird die Vorlesung so beschreiben:

Angesichts der beständig steigenden Datenmengen wird es trotz der ständig anwachsenden Festplattenkapazitäten immer schwieriger, mit den bisher verwendeten Konzepten für die Speicherinfrastruktur einen effizienten, d.h. performanten und störungsfreien Betrieb sicherzustellen. Die durch die jährliche Verdopplung der zu verwaltenden Datenmengen entstandene Belastung der Administratoren hat zu der Entwicklung und Einführung neuer Methoden geführt, durch die heute weltweit kooperierende Speichersysteme möglich geworden sind.

Im Rahmen dieser Vorlesung wird angefangen bei einer einzelnen Festplatte bis hin zu global verteilten Speicher- und Peer-to-Peer-Systemen eine Einführung in moderne Speichertechnologien, deren Verwaltung und Modellierung gegeben. Die theoretischen Grundlagen der Vorlesung werden dabei in den Übungen praktisch vertieft.

Für mich war es die erste Masterveranstaltung in meinem Vertiefungsgebiet ESS.

Es war auf jeden Fall eine der interessanteren Veranstaltungen in diesem Semester. Gerade die letzten Veranstaltungen (Distributed File Systems und Co) waren sehr interessant. Davon hätte ich mir mehr gewünscht. Vielleicht hätte man die Themen am Anfang etwas schneller durchziehen können. Die genaue Gewichtung ist wohl wirklich schwer beim ersten Mal hinzukriegen.

Die Folien waren etwas gewöhnungsbedürftig. Man merkt, dass die Folien noch nicht über Jahre gereift sind. Teilweise werden die gleichen Dinge inkonsistent benannt. Teilweise werden zusammenhängende Themen mit einigen Wochen Abstand besprochen, weil Themen mit weniger Zusammenhang dazwischen geschoben wurden. Während der Vorlesung selbst ist dies nicht so aufgefallen, aber in der Klausurvorbereitung ziemlich massiv.

Gut fand ich, dass zum Teil zusätzliches Material (z.B. Originalpaper) verlinkt wurden.

In den Übungen wurden die Themen praktisch an einem Disksimulator (z.B. Schedulingstrategien) und an Linux-Systemen umgesetzt. Ebenfalls ein guter Ansatz. Teilweise hat sich aber die installierte Software z.B. zur Performancemessung quer gestellt.

Ich würde es wieder belegen und hoffe, dass in Zukunft häufiger Veranstaltungen zusammen mit der E-Technik angeboten werden.

Material:
Lehrhilfe/Zusammenfassung
Prüfungsprotokoll