Bye bye..

Seit mehr als einem Monat nichts mehr Neues, ihr habts geahnt, dieses Blog ist tot. Aber keine Angst, auf misto.ch (also ohne blog-Subdomain) gehts weiter! See you there! :-)

No comment »

Nachmieter für Wohnung im Niederdörfli gesucht!

Ich suche per Ende August einen Nachmieter für meine Wohnung an der Metzgergasse 15 im Niederdorf! Interesse? Einfach bei mir melden, die Wohnung ist sonst noch nicht öffentlich ausgeschrieben, und wenn möglich würde ich sie gerne per Blog loswerden.

Ein paar Informationen dazu: 2 Zimmer (+Küche, gross genug für Esstisch), gemeinsam genutzte Dachterrasse mit Blick über Zürich. Das Haus ist relativ alt, aber die Wohnung ist in einem guten Zustand, die Miete beträgt ~1550.-.

Bei Interesse möglichst schnell bei mir melden, me@misto.ch oder 079 654 8556. Ach ja, sonstige Bedingungen gibt es nicht, Möbel hätte ich aber noch einige zu verschenken.

Blick aus dem Fenster:

1 comment »

Eclipse Galileo, Yeah! Oder?

Man liest es überall, eine neue Eclipse Version wurde vor kurzem veröffentlicht! Die letzten Jahre immer ein Grund zur Freude, endlich kann man die diversen RCs wegschmeissen und Final installieren. Nur dieses Jahr hat mich das ganze eher kalt gelassen. Nicht weil ich Eclipse nicht benutze, als CDT-User (und ehemaliger Contributor) läuft es jeden Arbeitstag. Ist Eclipse Galileo also kein Grund zur Freude?

Wenn ich mir die sogenannte Top 10 Feature List so anschaue, dann haut es mich nicht aus den Socken.

Nummer 1 ist also die neue bereits vorhandene Update- und Installations-Komponente P2. Ganz ehrlich, wenn das Number 1 Feature das neue Updatesystem sein soll, das ist doch ein Scherz?

OSGi Declarative Services, Improved target platform management, Eclipse Modeling Project refinements, etc. interessieren mich eigentlich auch nicht weiter. Allerdings dann, auf Platz 6, Install into Self! Als (zukünftig bald wieder) Plugin-Entwickler ist das ein Segen, nicht jedes Mal eine neue Eclipse-Instanz starten zu müssen, sondern ein Plugin einfach in die aktuelle Umgebung zu deployen. Das ist für mich ein Killer-Feature, wird aber alle Nicht-Plugin-Entwickler kalt lassen.

Also doch kein Grund zu Klagen? Eclipse Galileo scheint für diverse Anwendungsbereiche neue und interessante Features zu beinhalten, und dieses breite Spektrum zeigt doch auch sehr schön, wie weit und breit Eclipse inzwischen verbreitet ist und was für ein Erfolg es als Plattform hat.

CDT

Auch das CDT hat natürlich einige Neuerungen erfahren, allerdings muss man sich bewusst sein, dass die Version von 5 nach 6 nicht etwa wegen der vielen neuen Features geändert wurde, sondern wegen inkompatibler APIs. Nichtsdestotrotz, Neues hat Einzug gehalten.

Nett ist sicherlich, dass nun auch Operatoren wie andere Funktionen behandelt werden was den Indexer anbelangt. Konkret bedeutet das, dass ein Go To Declaration auf einem Operatoren mich zu seiner Deklaration führt. Das ist sogar relativ oft nützlich, denn die Streaming-Operatoren sind häufig überladen.

Von der Refactoring-Front gibt es (leider) nicht sehr viel zu berichten. Ein Extract Local Variable wurde eingeführt, und es scheint in vielen Situationen zu funktionieren, wie meine Tests bisher ergeben haben. Aus besonders geheimen Quellen weiss ich, dass ein Change Method Signature Refactoring in Arbeit ist, wenn alles klappt werden wir das im nächsten Jahr zu sehen bekommen, wenn es heisst, Helios!

2 comments »

@Twitter

In einem vom Lernen und Präsentations-Vorbereiten geistig geschwächten Moment hab ichs nun endlich auch getan: twitter.com/m_st. Und fragt mich nicht wegen dem blöden Nick, bin auf nichts schlauerers gekommen, das noch nicht besetzt ist. Also, dann mal schauen ob das Spass macht :-)

Und gut gibts ein KDE-Plasma-Widget dafür! Werd aber trotzdem mal noch suchen obs ein CLI-Tool gibt. Oder hat jemand eine Empfehlung?

4 comments »

Concepts for C++

Wieder mal ist ein Semester zu Ende, und ich habe auch wieder ein Seminar belegt und ein zugehöriges Paper geschrieben. Hier das Abstract:

C++ templates are a powerful language construct that enable generic programming techniques without impacting runtime performance. A problem when using templates is the lack of an explicit contract between the user and the definition of a template. This leads to difficult to understand error messages and inhibits separate checking of template code.

Concepts are part of the next C++ standard and mitigate these problems. Concepts express explicit requirements to template argument types, thus allowing separate checking. Other benefits include syntactical adaption of existing types, making code more reusable.

This paper introduces concepts and shows how existing code can be refactored to use concepts, making the code easier to understand.

Das ganze Paper.

7 comments »

Favicon Parade

Fragt mich nicht, wie ich auf die Idee gekommen bin.

montage +frame +shadow +label -geometry 16x16+0+0 /var/tmp/kdecache-`whoami`/favicons/*.png ~/montage.png


(Klicken um zu vergrössern.)

ImageMagick ist einfach genial!

Weiss jemand, wo Firefox die Favicons ablegt?

6 comments »

MSE Modulbewertungen

Im MSE wird jeweils pro Modul eine Umfrage durchgeführt, in welcher verschiedene Aspekte des Moduls evaluiert werden sollen. Taugt meiner Meinung nach nicht sehr viel das ganze, vor allem wenn man mehrere Dozenten mit nur einem Kreuzchen bewerten muss und die Bewertung so früh im Semester gemacht hat, dass man noch nicht mal alle Dozenten erlebt hat.

Naja, darum solls aber nicht gehen, eigentlich wollte ich euch nur mit einigen lustigen Zitaten aus dem Feedback zum Software Engineering and Architecture-Modul unterhalten.

Auf die Frage “Was hat mir an diesem Modul gefallen?”:

  • schlechte Begleittexte,
  • völlig unmöglicher Aufbau.

Viel witziger aber, was nicht gefallen hat:

  • Herr Sommerlad unterrichtet mit einer besserwisserischen Haltung, die ekelhaft ist. (Hallo? Was hat das denn für einen Sinn, wenn der Dozent es nicht besser weiss als ich?)
  • Weniger ist oft mehr!!!
  • Nicht so viel common-sense blabla.
  • z.T. Vorkentnisse verlangt, die nicht in Modulbeschrieb standen. (Hier ist wohl Unit-Testing gemeint.. oder ist es Lesen und Schreiben? Das stand nämlich auch nirgends.)
  • Nicht alle sind gut in C++. (Soweit ich mich erinnere, gab es 1-2 Mal ein C++ Beispiel.)
  • Verhalten gegenüber Studenten war etwas arrogant. Sie unterrichten vor MSE-Studenten, nicht vor Primarschülern. (Der muss eine unangenehme Kindheit gehabt haben.)
  • Nicht kritikfähig, nicht cooperativ, zufest von seiner Meinung überzogen. (Zu Sommerlad. Schreibfehler sind nicht von mir.)

Wens interessiert, das Ganze ist öffentlich.

Ein weiterer Kritikpunkt ist auch von vielen, dass nicht die “Lernplattform” (was für ein Wort!) Moodle verwendet wird, sondern ein Wiki. Ich fand es eigentlich sehr angenehm, per RSS über Aenderungen informiert zu werden als sich bei Moodle anzumelden und durch jedes Modul durchzuklicken um zu sehen, ob etwas geändert hat. Auch um Feedback und Aufgaben abzugeben und Feedback zu erhalten fand ich ein Wiki sehr angenehm.

No comment »

Gelesen: Die Grundlagen der Arithmetik

Frege geht der Frage nach, wie eigentlich eine Zahl zu definieren ist. Die Antwort: Die Anzahl, welche dem Begriffe F zukommt, ist der Umfang des Begriffes “gleichzahlig dem Begriffe F”. So, wer das nicht versteht, der soll gefälligst das Buch lesen.

Nein, natürlich nicht. Ich versuche, Freges Definition mit meinen eigenen Worten auszudrücken. Dabei wird wahrscheinlich einiges verloren gehen und die Definition ist nichts mehr wert, und vielleicht habe ich das ganze auch gar nicht verstanden, aber mit diesem Risiko muss ich umgehen können. :-) Nun denn..

Eine Zahl kann nicht einem konkreten Gegenstand zugeordnet werden, das gäbe zu viele Probleme, sondern einem Begriff. Ein Begriff “ist ein Ausdruck, den wir von einem oder mehreren Gegenständen aussagen”, beispielsweise eine Eigenschaft. Ein Beispiel: Der Mond umkreist die Erde. Eine Eigenschaft des Mondes ist also “die Erde umkreisend”. Dem Begriff “die Erde umkreisend” weisen wir die Anzahl 1 zu, da wir unter diesem Begriff uns den einen Mond vorstellen. (Und dass jetzt nicht der Einwand kommt, es gäbe auch andere Dinge die die Erde umkreisen! Dann müssten wir den Begriff halt weiter einschränken.)

Weisen wir nun dem Begriff “die Erde umkreisend” eine Zahl zu? Nein! Wir benötigen ein zweites Beispiel.

Ich lebe an der Metzgergasse 15 im zweiten Stock. Ein Begriff um mich zu beschreiben ist also “an der Metzgergasse 15 im zweiten Stock lebend”. Wenn wir Zahlen Begriffen zuordnen würden, dann bekämen beide Begriffe je die Anzahl 1. Dann hätten wir aber das Problem, dass es verschiedene 1en geben würde, was nicht sein darf. Was kann man tun? Man fasst die beiden Begriffe zusammen und gibt diesem Meta-Begriff eine Anzahl! Diese Menge an Begriffen nennt Frege den Umfang (man bedenke, das war vor über 100 Jahren).

Zurück zu Freges Satz: Die Anzahl, welche dem Begriffe F zukommt, ist die Menge aller Begriffe, die zu F gleichzahlig sind. Oder mit einem Beispiel: “Die Anzahl 5, welche dem Begriffe “Finger einer Hand” zukommt, ist die Menge aller Begriffe, die gleichzahlig zu “Finger einer Hand” ist.”

Eine Zahl ist also eine Menge aller Begriffe, die diese Anzahl haben.

Nun, ich hoffe das war irgendwie nachvollziehbar. Falls jemand eine einfachere Erklärung findet, bitte mich wissen lassen. Abschliessen möchte ich mit einem Zitat aus dem Buch, und zwar “dass wir ohne sinnliche Eindrücke dumm wie ein Brett wären”.

6 comments »

Verwendung von AOP in Refactoring

With AspectJ, you can write code that will intercept calls in an existing application without modification. You can use it to log results. Then, when you refactor, you can run again and see if the new set of results differs from the old one. If it does, you’e modified behavior. It’s time to roll back and start over again.

Aus Working Effectively With Legacy Code von Michael Feathers.

No comment »

Gelesen: I Am a Strange Loop

Was für ein Buch! Nach dem Mega-Hit Gödel Escher Bach von Hofstadter ist dies das zweite Buch das ich von ihm gelesen habe.

Ein Strange Loop ist, laut Wikipedia:

A strange loop arises when, by moving up or down through a hierarchical system, one finds oneself back where one started.

Auf Deutsch könnte man auch Selbst-Referenz sagen, also irgend ein Ding, das auf sich selbst zeigt. Dies kann zum Beispiel ein Quine sein, ein Bild von M.C. Escher, oder eben auch ein Mensch.

Hofstadter glaubt (und ich habe keine Ahnung, ob das nur seine Ansicht ist oder eine generell akzeptierte Theorie), dass jeder Mensch ohne Bewusstsein geboren wird und sich dieses im Lauf seines Lebens mit den erlebten Erfahrungen aneignet. Dabei umfasst unser Gehirn Symbole für alle möglichen Dinge. Wir können auch neue Symbole erlernen und so unser Wissen erweitern (etwas, was den meisten Tieren fehlt). Die ganzen Symbole werden in Kategorien zusammengefasst und bilden Muster und Strukturen, was wiederum zu neuen Symbolen und Strukturen und so weiter führt. Die Summe aller dieser Konzepte – also von allem Erlebten, Wissen und Erfahrungen – ist dann das I, oder auch die Seele eines Menschen.

Allerdings gibt es auch schwächere Formen von I, so habe ich von den Leuten die ich kenne eine Kopie ihres Is in mir. Je nach dem ist dieses unterschiedlich stark ausgeprägt, und Hofstadter überlegt, ob so ein Teil eines Menschen in einem anderen weiterleben kann. Ich nehme an, diese fremden Is sind nicht so reich, dass sie ein Bewusstsein darstellen.

Ich hoffe, ich konnte das korrekt und einigermassen verständlich zusammenfassen. Hofstadter gelingt dies mit vielen Metaphern, Wortspielen und Analogien wunderbar. Nebenbei geht es natürlich auch noch darum, wie denn unser Gehirn aufgebaut ist. Kleinste Teile die irgendwie rumschwirren und zusammen, ähnlich einem Ameisenhaufen (sollte aus GEB bekannt sein), diese Symbole bilden.

Immer wieder drängt auch Hofstadters Faszination für Gödel durch, der Gödelsche Unvollständigkeitssatz wird über mehrere Kapitel erklärt, und immer wieder muss die Principia Mathematica für Vergleiche und Beispiele herhalten.

Das Buch ist weniger überzeugend als Gödel Escher Bach. Zum einen ist I Am a Strange Loop eine Art Fortsetzung, oder Klarstellung der Ideen aus Gödel Escher Bach. Es wirkt aber auch an vielen Stellen ein wenig sprunghaft, holperig, lebendiger, nervöser, nicht so sauber durchdacht und strukturiert. Allerdings dringt dadurch auch Hofstadters I mehr durch, man könnte meinen, man sitze mit ihm zusammen und er erzähle einem alles. Auch sehr nett sind die vielen Notizen und Anmerkungen im Anhang des Buches.

Trotzdem ist es immer noch ein sehr gutes und interessantes Buch, aber zuerst unbedingt Gödel Escher Bach lesen um zu erleben, wofür Hofstadter einen Pulitzer-Preis bekommen hat.

2 comments »