Neues in Eclipse 3.4 Ganymede

Es ist wieder mal so weit, Ende Juni wird die neuste und schönste Version von Eclipse im Zug des Ganymede Release-Trains veröffentlicht. Wie auch schon letztes Jahr möchte ich hier gerne einige der Neuerungen vorstellen.

Ich werde mich auf das JDT, also die Java Development Tools, PDE, sowie die Plattform beschränken; Emanuel wird dann hoffentlich über die Neuigkeiten im CDT berichten.

Extract Class Refactoring

Starten wir mit meinem Lieblingsthema: Refactoring. Und zwar gibt es ein neues Refactoring, welches einem einfach erlaubt, Teile einer bestehenden Klasse in eine Neue auszulagern:

Das Resultat ist eine Klasse mit den selektierten Feldern, sowie delegierenden Methoden aus der Ursprungsklasse.

Rearrange Content of Files Per Drag&Drop

Auch ganz nett ist, dass man Member innerhalb einer Klasse per Drag&Drop verschieben kann:

(Den Cursor muss man sich vorstellen, er zieht das selektierte Element an die Position der schwarzen Linie.)

Rename Field Renames Properties key

Auch eine sehr nützliche Erweiterung ist beim Rename Field Refactoring hinzugekommen: Beim Umbenennen eines Feldes, welches als Message-String verwendet wird, wird auch automatisch der entsprechende Key im messages.properties-File umbenannt. So kleine Dinge sind es nämlich, welche einem das Arbeiten mit Eclipse so angenehm machen.

New Quick Assist: MessageFormat

Mit + zusammengesetzte Strings sind zum einen häufig nicht sehr leserlich und zum anderen nur sehr mühsam zu internationalisieren. Abhilfe schafft ein neuer Quick-Fix:

Read and Write Occurrences

Mark Occurences ist schon mindestens seit der vorlezten Version dabei, aber natürlich kann man auch dieses Feature noch verbessern, und zwar durch eine farbliche Unterscheidung von Lese- und Schreibzugriffen (das doofe Beispiel sei mir vergeben).

JUnit View Shows Execution Time

Hm ja, der Titel sagts wohl schon:

Plug-in Spy

Endlich! Der Plug-in Spy ist Teil des PDE. Der Plug-in Spy ist sehr nützlich, wenn man sich beispielsweise fragt, welche Klasse die aktuelle View implementiert oder auch, wie der Identifier für die View lautet. Das hätte mir zu Beginn meiner Plug-in Entwickler-Karriere einiges an Zeit gespart.

Das waren wohl die für mich wichtigsten Neuerungen. Ich bin mir sicher, dass ich im Lauf des Jahres noch einige andere coole Dinge entdecken werde.

Ganymede is coming!

Viel Spass! Und wer immer noch nicht genug hat, findet in den New and Noteworthy Seiten noch ganz vieles mehr.

2 comments »

Neuer Laptop!

Hui, diese Woche bin ich fast nicht zum Bloggen gekommen. Grund dafür war sicher auch, dass mein neuer Laptop erfreulicherweise und unerwartet früh geliefert wurde (aus 3 Wochen wurden wenige Tage):

t61p.jpg

Da ich das Modell ohne Betriebssystem gekauft habe, blieb nichts anderes übrig, als wieder mal eine neue Gentoo Live-CD zu brennen und mit kompilieren anzufangen. Danke der Kraft der zwei 2.5GHz Kerne ging das recht flott, auch sonst hatte ich keinen Aerger mit Hardware. Knackpunkte waren beim letzten Mal (vor über drei Jahren) WLAN und Suspend to Ram. Danke Intel-WLAN-Treibern und NVidia-Grafikkarte war das alles ein Kinderspiel – es hat einfach funktioniert. Naja, ein paar Stolpersteine habe ich mir selbst in den Weg gelegt, wenn man natürlich keinen Support für PCI im Kernel hat braucht man sich nicht zu wundern, wenn keine Treiber wählbar sind :)

Ansonsten muss ich sagen, dass 15.4″ Breitbild noch etwas Gewöhnungsbedürftig sind. Insgesamt bin ich aber sehr zufrieden, die Lenovo-Chinesen scheinen gute Arbeit zu leisten! Ach ja, falls es wen interessiert, Openoffice 2.3.1-r1 kompiliert in unter 3 Stunden! So, und das hab ich mir jetzt verdient:

guinness.png

Was nun noch fehlt ist eine schöne Tasche. War heute schnell im Jelmoli, bin aber schnell wieder gegangen, unter 500.- läuft dort ja fast nichts. Hat jemand einen Tipp für mich? Ich möchte halt die Tasche gerne zuerst in den Händen halten, das macht das online Shoppen etwas schwerer.

Falls es jemanden hilft:

6 comments »

BLUI: Blowable User Interface

Soeben in der Februar-Ausgabe von Computer gelesen: BLUI, das Blowable User Interface. Ziemlich lustige Idee, den PC mit blasen zu steuern. Die Auflösung ist wohl nicht besonders toll, aber es scheint grundlegend zu funktionieren:

No comment »

Lecker! Fanta Blackcurrant

Meine Freundin hat mir aus Ägypten ein Fanta Blackcurrant mitgebracht, sehr sehr lecker:

fanta_cassis.png
(iTunes mässige Reflexionen von Hand gemacht!)

Hat jemand eine Idee, wo ich das in der Schweiz kaufen kann? Googeln hat soweit nichts gebracht, auch nicht mit “Fanta Cassis”. Einen Versuch wert wäre Jelmoli, der hat ja auch so wirre Dinge wie Diet Coke Plus, also Cola Light mit Vitaminen und Mineralien…

8 comments »

Persai ahoi!

Juhui, ich habe eine Persai-Einladung bekommen. Was ist Persai? Gute Frage.. vom Namen her soll es (glaube ich) soviel wie Personal AI bedeuten, aber mehr erfährt man sicher im Blog der Entwickler. Soviel ich verstanden habe, ist es eine Art persönliche Suchmaschine, die einem für gewisse Interessen, die man natürlich angeben muss, dazu passende Neuigkeiten mitteilt. Hört sich eigentlich ganz cool an :) Dabei soll das System natürlich eine gewisse Intelligenz besitzen und mit der Zeit lernen, was mich wirklich interessiert und was nicht.

Ich hoffe natürlich auch, dass es ein riesen Erfolg wird und ich dann meinen Enkeln mal dieses Foto, das mich und 2/3 der Persai-Gründer (die beiden links) zeigt, zeigen kann. Hehe ,-)

persai_and_me.jpg

2 comments »

KDE 4.0!

Jawohl, es ist so weit, KDE 4.0.0 wurde heute veröffentlicht, mit Paketen für die meisten Distributionen, wie man im offiziellen Release Announcement lesen kann. Man kann auch eine der Live-CDs ausprobieren, oder zumindest mal die Screenshots des Visual-Guides anschauen.

Wie das mit einer 0-Version so ist, sollte man etwas nachsichtig sein, vieles wird noch nicht so gut funktionieren wie im aktuellen 3er-Release. Es fehlen auch noch Module, wie beispielsweise die ganzen PIM-Applikationen. Der Mischbetrieb von 3er und 4er Versionen ist aber auch kein Problem.

Viel Spass!

kde-40-banner.png

1 comment »

C++ kriegt Lambda-Ausdrücke

Während einer Diskussion im IFS heute kamen wir auf Features im neuen C++-Standard zu sprechen, vor allem wegen Templates und den neuen Concept Maps (im Prinzip eine Möglichkeit, um Templates zu prüfen, ob sie gewisse Voraussetzungen erfüllen. Soll vor allem endlich anständige Fehlermeldungen in diesem Bereich bringen.). Ich wusste zwar immerhin, dass bald ein neuer Standard erscheint, aber was der genau beinhaltet war mir auch noch nicht klar. Heute Abend beim lesen des entsprechenden Wikipedia Artikels habe ich noch was viel cooleres gefunden: Lambda functions and expressions! Und dazu passend natürlich auch Closures. Auf die Schnelle ist mir nichts besseres eingefallen, deshalb verwende ich einfach das Wikipedia-Beispiel:
vector<int> liste;
int total = 0;
for_each(liste.begin(), liste.end(), <>(int x; &total) (total += x));

Cool, nicht? Ist zwar noch nicht ganz so elegant wie in Ruby, aber doch nicht übel.
[2, 5].inject(0) {|sum, i| sum += i} # => 7

Jetzt könnte man noch eine Wette abschliessen, wann Java nachzieht. Schliesslich kann C# es auch…

Und ja, mit Boost hat man eigentlich bereits Lambda-Ausdrücke, die Nachteile werden im C++0x Proposal auch diskutiert.

2 comments »

Virtualbox 1.5: Seamless Windows Mode

Vor ein paar Tagen ist die neueste Version von Virtualbox erschienen und bei meinem heutigen Update war sie auch schon in Portage. Witzigste Neuerung: Der sogenannte Seamless-Mode, mit dem man Fenster aus der Client-VM “befreien” kann, das sieht dann beispielsweise so aus:

virtualbox_seamless_small.png

Oder hier der ganze Desktop (man beachte die Startleiste unten im Bild):

virtualbox_seamless.png

Ist echt noch witzig, vor allem um Kollegen zu verblüffen. Leider gibt es noch keine Xinerama-Unterstützung, die Fenster sind also auf ein Display beschränkt, aber das werden die Jungs von Innotek bestimmt noch beheben.

No comment »

C++ Refactoring Plug-in for CDT: Milestone 1 released

Es ist so weit, nach einigen Monaten Entwicklungszeit haben wir heute den ersten Milestone vom C++ Refactoring-Plug-In fürs CDT erreicht und veröffentlicht. Am einfachsten ist es wohl, einfach ein Eclipse 3.3 mit CDT zu nehmen und dann über die Update Site unser Plug-In zu installieren.

Also, einfach mal ausprobieren und uns bitte Bugs melden :-) . Aber bitte gnädig sein, es ist erst Milestone 1.

Auf ausdrücklichen Wunsch von Emanuel soll ich hier noch erwähnen: Er ist der Chef!

5 comments »

Feeds von morki.ch sind umgezogen

Ich habe die RSS-Feeds von morki.ch nach dnd.ch/feeds gezügelt, die neuen Adressen lauten:

  • http://dnd.ch/feeds/oots.rss
  • http://dnd.ch/feeds/erfworld.rss
  • http://dnd.ch/feeds/dork_tower.rss
  • http://dnd.ch/feeds/eva.rss
  • http://dnd.ch/feeds/mensa.rss

Im Moment habe ich noch einen Redirect von den alten auf die neuen Adressen drin, werde den aber vielleicht mal abstellen. Gewisse Feeds, Order of the Stick beispielsweise, scheinen recht begehrt zu sein, wenn ich mir die Statistik so ansehe. Vor allem interessant deshalb, da es dafür ja (nach langer Wartezeit) einen offiziellen Feed gibt. Meiner bietet halt den Vorteil, dass das Bild direkt im Feed verlinkt ist und nicht bloss die URL (weshalb heisst es eigentlich die URL und nicht der URL?).
Eva wird wohl nur von Emanuel gelesen :-) . Sieht zumindest so aus wenn ich die Access-Logs ansehe.

7 comments »