Book Meme

In den Blogs, die ich abonniert hab, geht gerade das folgende sogenannte «Meme» um (Mirko und Rico habens auch schon gemacht):

  • Grab the nearest book.
  • Open it to page 56.
  • Find the fifth sentence.
  • Post the text of the sentence in your journal along with these instructions.
  • Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.

Bei mir ist es das Buch Das neue Garantiert zeichnen lernen und der Satz lautet:

Selbst die gewöhnlichsten Tätigkeiten lösen unsere tiefe Bewunderung aus.

:)

Veröffentlicht unter Lustiges | Verschlagwortet mit , | 1 Kommentar

«Qt 4»-Tanz

Was machen die Programmierer des GUI-Toolkits Qt, wenn sie eine neue geile Version von Qt rausgebracht haben? Genau, ein lustiges Video inklusive Qt-Musik und Qt-Tanz ;o).

Das Video gibts auf Youtube und auf der offiziellen Seite. Das ganze ist schon älter, aber immer noch lustig.

Veröffentlicht unter Lustiges, Software | Verschlagwortet mit , | Hinterlasse einen Kommentar

Filmtipps

Von den Filmen, die ich in der letzten Zeit gesehen habe, finde ich die folgenden besonders empfehlenswert.

The Man from Earth

Bild aus The Man from Earth

Ungewöhnlicher Science-Fiction-Film. Es geht um einen Mann, der nicht altert und schon 14 000 Jahre alt ist. Etwa alle 10 Jahre verlässt er seine bekannte Umgebung und zieht weiter, da sie sonst merken dass er anders ist und misstrauisch werden. Dieses Mal will der Geschichtsprofessor aber versuchen, es seinen Kollegen zu sagen und sie nicht einfach ohne ein Wort verlassen. Die Freunde glauben es ihm natürlich nicht und halten es für einen absurden Witz, aber spielen das «was wäre wenn»-Spiel mit. Dank seiner atmosphärischen Machart und der packenden Geschichte voller spannender Fragen ist dieser sehr gelungene Indie-Film auf meiner Liste der Lieblingsfilme. Was noch erwähnenswert ist, der Produzent des Films hat sich bei Benutzern von Bittorrent bedankt, da der Film so mehr Verbreitung als sonst gefunden hat :) . (Wikipedia, IMDB)

Rabbit-Proof Fence (Long Walk Home)

Bild aus Rabbit-Proof Fence

Bewegendes Drama aus Australien. Drei Mädchen, die halb Aborigines und halb weisser Abstammung sind, werden gewaltsam von ihrer Mutter getrennt und in ein Erziehungsheim gesteckt. Dort ist ihnen verboten in ihrer Muttersprache zu sprechen und sie sollen «christlich» und englisch erzogen werden. Doch die drei wollen wieder nach Hause zu ihrer Mutter und entschliessen kurzerhand zu fliehen. Doch der Weg ist lang und sie werden von den Behörden verfolgt. (Wikipedia, IMDB)

Juno

Bild aus Juno

US-amerikanische Komödie. Eine 16-jährige Schülerin wird vom ersten Mal mit ihrem schüchternen Freund gleich schwanger. Zuerst will sie das Kind abtreiben aber entschliesst sich dann doch es zu bekommen und zur Adoption freizugeben. Der Film überzeugt durch eine gute Geschichte und frische Dialoge mit viel Witz. (Wikipedia, IMDB)

About a Boy oder: Der Tag der toten Ente

Britische Komödie mit Hugh Grant und Rachel Weisz. Hab ich schon ein paar Mal gesehen aber ist immer wieder super :) . (Wikipedia, IMDB)

Tödliche Versprechen (Eastern Promises)

Bild aus Tödliche Versprechen

Thriller über die russische Mafia in London mit Viggo Mortensen (Aragorn in Herr der Ringe), Vincent Cassel (Französischer Bösewicht), Naomi Watts (The Ring, King Kong) und Armin Mueller-Stahl (den ich vorher noch nicht kannte). Hat mir viel besser gefallen als zum Beispiel Departed, in dem im Vergleich zu Tödliche Versprechen nur sinnlos rumgeballert wird. (Wikipedia, IMDB)

Veröffentlicht unter Filme | 2 Kommentare

Grosse Schritte in Open Source

In der Welt der Software passiert im Moment viel, zumindest wenn man nach den grossen Versionsnummern geht ;) . Nachfolgend eine Übersicht der Projekte, deren Entwicklung ich verfolge.

Python 3

Python Icon

Die finale Version Python 3.0 ist für August geplant und so wie ich das vom Lesen der Python-Dev-Mailingliste beurteilen kann, ist das ein realistisches Ziel. Bis jetzt ist Alpha 3 verfügbar, mit der man schon mal rumspielen und neue Features ausprobieren kann.

Ruby 2

Ruby Icon

Ruby 1.9 wurde an Weihnachten veröffentlicht und Ruby 2.0 sollte nicht mehr allzu weit entfernt sein, vielleicht Ende dieses Jahres. In einem Video auf Youtube von Yukihiro «Matz» Matsumoto, dem Designer von Ruby, werden die wichtigsten Änderungen in Ruby 1.9 und 2.0 erklärt.

OpenJDK 7

Java Icon

Java war bisher auf Linux nicht gern gesehen weil die JRE/JDK von Sun proprietär war und die freien Implementierungen unvollständig. Mittlerweile hat aber Sun angefangen, die Bestandteile von Java unter der GPL zu veröffentlichen. Die Projekte OpenJDK und IcedTea arbeiten daran, das JDK vollständig zu freier Software zu machen. Damit ist Java auf Linux kein Fremdobjekt mehr und es wird vielleicht einen Schub geben für mehr Java-Projekte in der FOSS-Welt. Ausserdem braucht man dann hoffentlich keine 32-Bit-Version mehr zu verwenden um Webstart und das Browser-Plugin zu kriegen…

Perl 6

Nur ein Witz, konnte nicht widerstehen ;) .

Firefox 3

Beta 4 kam am 10. März raus und die finale Version sollte in 2 bis 3 Monaten draussen sein und kommt mit vielen Verbesserungen:

  • Bessere Integration unter Linux und Mac OS X (Plattformspezifisches Theme und Widgets)
  • Speicherverbrauch und Lecks drastisch reduziert
  • Geschwindigkeit von JavaScript gegenüber Firefox 2 verdreifacht, in Sunspider-Benchmark doppelt so schnell wie Safari und fünfmal so schnell wie Internet Explorer 7 :)
  • Neues System für Lesezeichen (SQLite-Datenbank, mit Tags organisierbar)
  • Intelligente Adresszeile (sucht irgendwo in Titel oder URL anstatt nur Anfang von URL, am häufigsten verwendete Einträge zuerst)
  • Ganzseitenzoom möglich (nicht nur Text vergrössern)
  • Dialog «Passwort merken?» abgeschafft, jetzt als Leiste oben wie bei geblockten Popups
  • Besteht Acid2-Browsertest

KDE 4

Im Januar ist KDE 4.0 erschienen und obwohl ich noch nicht umgestiegen bin, ziehe ich es mit 4.1 ernsthaft in Erwägung.

Mercurial 1

Vor ein paar Tagen ist die magische Version 1.0 des verteilten Versionsverwaltungssystems Mercurial erschienen. Das fast vollständig in Python geschriebene Projekt ist eines der drei beliebtesten verteilten Versionsverwaltungssysteme, zum Beispiel wird es von Mozilla und Sun/OpenJDK verwendet. Die beiden anderen sind Bazaar (auch in Python) und Git (von Linus Torvalds, in C/Shell/Perl). Wer noch keines einsetzt, oder zumindest ausprobiert hat, verpasst was – Subversion ist out ;) . Eine gute Einführung in die Konzepte dieser Systeme gibts auf betterexplained.com.

(Die hübschen Datei-Icons für die Programmiersprachen sind übrigens vom Tango-Projekt, danke!)

Veröffentlicht unter Software | Verschlagwortet mit , | 2 Kommentare

This recording sponsored by

Beim Schauen der Videos von RubyConf 2007 ist mir was aufgefallen. Am Anfang erscheint immer die Nennung des Sponsors (Microsoft), welche mit folgendem Wortlaut eingeleitet wird:

this recording sponsored by

Meine ich das nur oder klingt das irgendwie komisch? Lustigerweise finde ich den Ausdruck recording sponsored by nicht komisch, aber mit dem this zusammen habe ich beim Lesen irgendwie die Erwartung, dass ein vollständiger Satz folgt, also noch mit einem is vor dem sponsored.

Ich denke nicht dass es falsch ist, das ist unwahrscheinlich, aber ich finde es interessant wie verwirrend manchmal das eigene Sprachgefühl sein kann.

Veröffentlicht unter Sprachen | Verschlagwortet mit | Hinterlasse einen Kommentar

Man merkt dass Prüfungszeit ist, wenn

… man bei folgendem Bild an einen XML-Tag denken muss:

Türöffnungsknopf im Zug, der wie XML-Tag aussieht

Dann hat man nämlich höchstwahrscheinlich ein Trauma vom vielen XML (JSP, web.xml, ejb-jar.xml) in den Modulen Internettechnologien oder Enterprise Computing ;) . Das Bild ist übrigens aus einem der neuen SBB-Züge.

Zum Glück ist die Prüfungszeit für mich und viele andere seit gestern vorbei – allen, die noch Nachprüfungen haben, wünsche ich viel Glück! Jetzt habe ich wieder mal Zeit was anderes zu machen als zu lernen, zum Beispiel KDE 4.0 auszuprobieren oder zu bloggen, jee!

Veröffentlicht unter Lustiges | Verschlagwortet mit | 2 Kommentare

Automated Python Refactoring Using Type Inference

Das ist der Titel der Studienarbeit von Reto Schüttel und mir, die wir am Freitag pünktlich um 17:00 eingereicht haben. Die Arbeit hat viel Zeit und Nerven gekostet, aber auch Freude gemacht und ich denke das Ergebnis kann sich sehen lassen :) .

Übersetzt heisst der Titel soviel wie Automatisierte Python-Refactorings mit Typinferenz. Für PyDev, eine Eclipse-basierte IDE für Python, haben wir die wohl nützlichsten Refactorings implementiert, wie zum Beispiel Rename Method, Rename Class und Rename Attribute. Screenshots und unseren Bericht gibts auf dem Wiki. Interessierte Python-Programmierer können das ganze relativ einfach über unsere Update-Site für Eclipse ausprobieren.

Nachfolgend noch das Abstract unserer Arbeit. Ach ja, und frohe Weihnachten :) !


Software development is often an unpredictable process, the goals change, an approach
turns out to be inefficient or a complex part has to be split up into several pieces.
Keeping up with this process often results in the need to make structural changes, so
called refactorings. Automating these kinds of adjustments is often desirable, as it
saves time and reduces the risk of faults.

There are several development environments available for the Python programming
language, but only a few offer automatic refactoring. The aim of this project was
to extend the refactoring support of PyDev, an Eclipse-based development
environment. We implemented the following refactorings:

  • Generate Docstring
  • Inline Local Variable
  • Extract Local Variable
  • Rename Local Variable
  • Rename Method
  • Rename Attribute
  • Rename Class

To be able to automatically rename methods, classes or attributes, it is essential to know
the types of all involved objects. In a dynamically typed language like Python, the
exact type of objects is not known before running the actual program. To still be able to
determine these types in advance, a heuristic called type inference was implemented.
Although the type inference heuristic still has some limitations, it turned out to be
very powerful and an essential helper.

As more advanced refactorings often depend on knowing the type of objects, the
type inference engine will make implementing these refactorings much simpler. But
the engine also appears to be useful for many other common IDE tasks, like finding
the references of a given attribute or method, searching for a definition or providing
overall structural information.

Veröffentlicht unter Programmieren | Verschlagwortet mit , | Hinterlasse einen Kommentar

Besser erklärt

Wie funktionieren eigentlich verteilte Versionsverwaltungssysteme? Ist der Satz von Pythagoras nur für Dreiecke? Was ist schon wieder der Unterschied zwischen Permutationen und Kombinationen?

Diese und andere interessante Fragen werden auf der Seite betterexplained.com auf verschiedene Arten (unterschiedliche Menschen brauchen unterschiedliche Erklärungen) angegangen und mit anschaulichen Bildern verständlich erklärt. Es ist das Blog von Kalid Azad, der gerne seine Erkenntnisse mit anderen teilt und der Spass daran hat, (komplizierte) Sachverhalte verständlich zu erklären.

Die Themen sind Mathematik, Programmieren und Kommunikation. Ich habe noch nicht alles angeschaut, aber beim Lesen der Artikel ist mir schon ein paar Mal ein Licht aufgegangen – ein gutes Gefühl :) .

Veröffentlicht unter Medien, Programmieren | Verschlagwortet mit | Hinterlasse einen Kommentar

Posh Spice Melanie C

Wahrscheinlich zählt das als unnötiges Wissen, aber dass Melanie C nicht Posh Spice war (oder besser ist), weiss ich trotzdem. Die 20-Minuten-Redaktion anscheinend nicht, denn in der heutigen Ausgabe war von Posh Spice Melanie C die Rede, autsch. Dabei war sie doch die Sportliche und Victoria Beckham die feudale ;) .

Apropos Fehler in Zeitungen, hat jemand auch bemerkt dass in der Heute vom Dienstag was schief war:

Lorem ipsum in Zeitung

Rechts steht auf dem Bild der bekannte Platzhaltertext Lorem ipsum (dolor sit amet), wie der wohl da hin geraten ist?

Veröffentlicht unter Medien | Verschlagwortet mit | 2 Kommentare

alt Bundesrat?

?

Weiss eigentlich jemand warum man das Wort für einen ehemaligen Bundesrat alt Bundesrat schreibt und nicht etwa Altbundesrat oder Alt-Bundesrat? Jedesmal wenn ich das Wort lese, springt es mich förmlich an und meine automatische Rechtschreibprüfung schreit «Fehler, Fehler!» Aber falsch kann es ja nicht sein, sonst hätte ich das auch schon anders geschrieben gesehen. Ich vermute mal es ist Tradition, etwas alt Hergebrachtes sozusagen ;) .

Veröffentlicht unter Sprachen | Verschlagwortet mit | 2 Kommentare