Neu: Microsoft DevLabs

Posted under Entwicklung von cjacob on Samstag 25 Oktober 2008 at 20:13

Microsoft hat ein neues Portal für uns Entwickler eröffnet: Microsoft DevLabs

Hier ein Auszug aus Soma’s Blog dazu:

Today we are launching DevLabs - a site dedicated to these software innovations for the developer community.  This is a portal where we can share not just some early thinking, but early bits, and let you play with them and help us determine the direction that these projects should eventually head.  While many of these projects will come from teams within Developer Division, this is an outlet for all innovations coming from Microsoft focused on you, the developer.

Ich bin ehrlich begeistert darüber, dass Microsoft seine Forschungabteilung nicht nur intern forschen lässt sondern darüber hinaus es auch ermöglicht, dass die kreative Ideenschmiede den Kontakt zur Außenwelt aufbaut, um frühes Feedback zu erhalten und möglicherweise kommende Generationen von Tools mit der Community für die Community zu entwickeln.

So soll es sein. Danke!


Unit-Tests generieren… lassen (!)

Posted under Entwicklung von admin on Donnerstag 23 Oktober 2008 at 8:12

Unit-Tests sind ein probates Mittel, die (korrekte) Funktionalität von Komponenten sicherzustellen. Was die Sache Besonders macht, ist die Möglichkeit, sie zu jeder Zeit automatisiert aufrufen zu können. Damit können problemlos Fehler im Code aufgedeckt werden, die beispielsweise durch Refactoring im Laufe der Zeit sonst unentdeckt blieben.

Mit Microsoft PEX ist es nun möglich, Unit-Tests automatisch generieren zu lassen. Dabei erstellt PEX zunächst für die jeweilige Methode einen generischen Test und kann sie dann analysieren um Eingabeparameter zu finden, die den Code der Methode zu 100% abdecken. Für jede gefundene Kombination wird ein eigener Unit-Test generiert.

Neben Parametern mit einfachen Basistypen wie int, string & co funktioniert das sogar für eigene Typen. Selbst mit Collections kann PEX umgehen, sobald man ihm erklärt hat, wie es dafür Testdaten generieren kann.

Darüber hinaus findet PEX beispielsweise auch heraus, wenn Methoden Ausnahmefehler werfen, die nicht abgefangen werden und gibt Hinweise darauf, wie man das Problem lösen kann.

Alles in allem scheint sich mit Microsoft PEX ein neuer Stern am Himmel der Softwareentwickler zu bilden. Eine sehr umfangreiche Übersicht mit Beispielen gibt es von Thomas Schissler im Artiso Blog.


Second Life goes IM

Posted under Entwicklung, Second Life von cjacob on Samstag 13 September 2008 at 22:45

Es ist einige Zeit her, dass ich dieses Thema bereits schon einmal angegangen bin. Mein erklärtes Ziel damals: Die Implementation eines Instant Messengers, der es Second Life Benutzern möglich macht, sich miteinander zu unterhalten, wie sie es von Programmen wie z.B. dem Microsoft Windows Live Messenger gewohnt sind.

Nach einigen Experimenten mit dem damaligen libSL, kam ich zu dem Schluss, dass so etwas problemlos möglich sein sollte. Was folgte, war ein Proof-of-Concept unter Windows Vista mithilfe vom Microsoft Visual Studio 2005 Express.

 

 

Mittlerweile bin ich mit meinem Desktop auf Ubuntu 8.04 migriert. Nichts desto trotz sollte es möglich sein, diese Idee dennoch umzusetzen. Allerdings sehe ich nicht (mehr) die Notwendigkeit, einen vollständigen Instant Messenger zu implementieren. Da es eine hohe Verfügbarkeit von sogenannten Multi-Messenger Programmen gibt, macht eine Integration in einen solchen am meisten Sinn.

Unter Ubuntu müssen daher einige Voraussetzungen erfüllt sein:

  • Ein möglicherweise vorhandener Multi-Messenger Client muss in Mono/C# verfügbar sein
  • Es sollte möglich sein, ein eigenes Protokoll zu implementieren
  •  

Fündig wurde ich mit Galaxium. Bei Galaxium handelt es sich um einen Multi-Messenger Client, der alle Voraussetzungen erfüllt. Er integriert sich hervorragend in Gnome, ist in Mono/C# geschrieben, die Sourcen sind via Subversion verfügbar und es ist eine offene Schnittstelle für die Erweiterung durch eigene Protokolle vorgesehen.

Ich habe daher einen Abend investiert, um herauszufinden, ob es prinzipiell möglich ist, den Second Life Chat in Galaxium zu integrieren. Es hat nicht lange gedauert, OpenMetaverse mit MonoDevelop zu kompilieren und eine eigene kleine GTK-Anwendung zu schreiben, die sich in SL an- und abmeldet. Ein wenig länger dauerte es, Galaxium selbst zu kompilieren, da eine Menge Abhängigkeiten zu verschiedenen Entwicklungs-Bibliotheken aufgelöst werden mussten.

Dennoch: Am Ende hatte ich eine eigenes SL-Protokoll mit eigener Anmeldemaske (erweitert um Vor- und Nachname), Login und Logoff. Es geht also.

Jetzt muss ich nur noch jemanden finden, der diese Idee auch tatsächlich über einen Proof-of-Concept hinaus umsetzt.


Copyright © 2010 Trimagination. WP Theme created by Web Top.