jenswinter.com
Software Development 24/7

ReSharper 4.5 veröffentlicht

April 9, 2009 06:43 by Jens

Gestern wurde endlich die ReSharper-Version 4.5 veröffentlicht.

Dies sind einige der Neuerungen:

  • Performance and Memory Usage Improvements
  • Solution-wide warnings and suggestions
  • Naming style configuration
  • Go to Implementation
  • Find Referenced Code
  • Inline Field refactoring
  • Collapse All in Solution Explorer

ReSharper 4.5 kann hier heruntergeladen werden:

http://www.jetbrains.com/resharper/download

Ein Demo-Video mit den Neuerungen kann man sich hier anschauen:

http://www.jetbrains.com/resharper/documentation/presentation/rs45/whatsnew-rs45.html

Detaillierte Informationen (z.B. Übersicht der Tastenkürzel) findet ihr hier:

http://www.jetbrains.com/resharper/documentation/documentation.html


dotnet-kicks.de

March 13, 2009 20:38 by Jens

Jan Welker beantwortet Fragen rund um www.dotnet-kicks.de. Die neue deutschsprachige Community-Site ist diese Woche live gegangen. Mit einer interessanten Marketing-Aktion haben die Macher für leichtes Aufsehen gesorgt.


Kostenloses eBook Tutorial über ASP.NET MVC

March 13, 2009 20:00 by Jens

ScottGu verkündete diese Woche, dass ein Kapitel seines Buches über ASP.NET MVC kostenlos als PDF verfügbar ist.

Es kann hier heruntergeladen werden. Der Quelltext der Beispielanwendung “Nerddinner” ist auf Codeplex veröffentlicht.

Na da weiß ich ja, was ich dieses Wochenende tun kann. :)


.NET virales Marketing

March 11, 2009 00:41 by Jens

Ich habe auch solch eine komische Karte bekommen. Sieht spannend aus. Ich bin total anfällig für kleine Rätsel. :)
Andere sind von solchen Aktionen allerdings ziemlich genervt. Naja, solange ich nicht zwei von solchen Dingern pro Woche erhalte, lasse ich mir das gefallen und mache den Spaß mit.

Michael Schwarz, Jan Geisbauer und Albert Weinert hatten sich bereits an dem Rätsel versucht. Ich habe noch ein bisschen mehr herausbekommen:

Der Twitter-Account, der hinter dem Tag steckt, enthält momentan eine einzige Nachricht. Sie lautet

Was dem Einzelnen nicht möglich ist,...

Das ist der Anfang eines Zitates von Friedrich Wilhelm Raiffeisen, welches so lautet:

Was dem Einzelnen nicht möglich ist, das vermögen viele.

Gibt man die Fortsetzung, also "das vermögen viele", in das Eingabefeld der Textbox auf der ominösen Seite ein, erhält man anscheinend einen weiteren Hinweis. Es erscheint nun nämlich unter der Textbox eine Reihe von Zahlen:

652 – 658 – 656 – 164 – 170 – 168 – …

Nun dieses Rätsel ist einfach. Hier gilt es wohl die folgenden Zahlen herauszufinden. Dabei haben sich die Macher aber nur wenig Mühe gegeben. Schnell findet man heraus, dass die Folge mit den Zahlen 42, 48 und 46 fortgesetzt wird. Gibt man nun 42 in die Textbox ein und betätigt den Schalter, so erscheint ein simples animiertes Logo. Das wars, mehr hab ich nicht herausgefunden.


Schluss mit unsauberem Code

February 19, 2009 21:20 by Jens

Ralf Westphal und Stefan Lieser haben die Nase voll. Mit ihrer Initiative "Clean Code Developer" wollen sie unsauberem Code den Garaus machen.

Bei der Initiative geht es darum, Softwareentwicklern ein Wertesystem zu vermitteln. Dieses Wertesystem besteht aus einer Reihe von Prinzipien, Regeln und Praktiken, die Programmierer beherzigen sollen, wenn sie denn Wert auf sauberen Quelltext legen. Wer mehr darüber erfahren möchte, sollte www.clean-code-developer.de einen Besuch abstatten und den Artikel "PISA für Entwickler" in der dotnetpro 3/2009 lesen.

Ich schätze die Arbeit von Ralf und Stefan sehr. Was sie für die Entwickler-Gemeinde tun, insbesondere für die .NET Community, ist toll. Allerdings bin ich äußerst skeptisch, was die Idee CCD angeht. Ich hoffe, dass das Ganze erfolgreich sein wird. Aber ich bin nicht davon überzeugt.

Ich fürchte, dass man die Wurzel des Übels damit auch nicht bekämpfen wird. Und zwar deshalb, weil man damit nicht diejenigen erreicht, die man erreichen müsste. Ralf und Stefan haben sich viel Mühe gegeben. Sie haben ein Wertesystem niedergeschrieben und dem Ganzen einen Namen gegeben. Das wird noch mit Zeremonien und Artefakten in Form von Graden und Armbändern geschmückt. Was wird wohl passieren? Es wird eine weitere abgeschottete Gemeinschaft entstehen, die als elitär angesehen wird. Es wird weiter und noch mehr mit englischen Begriffen und Akronymen auf den Mort eingeprügelt. Mit CCD jetzt sogar auf organisierte Art.

Der Problematik "Unsauberer Code" kann man in meinen Augen nur mit Geduld, gebetsmühlenartiger Wiederholung und Demonstration des "sauberen Weges" entgegenwirken. Dem Ganzen einen Namen geben ist dafür nicht nötig, vielleicht ja sogar kontraproduktiv.

Ich drücke den Vätern von CCD natürlich trotzdem die Daumen, dass ihre Mühe nicht vergebens ist. Ich freue mich jedenfalls auf die 45-teilige Artikelserie über die Prinzipien, Regeln und Praktiken eines Clean Code Developers, die Ralf jetzt bestimmt schreibt. :-D


Small Basic 0.2

December 18, 2008 21:47 by Jens

Heute wurde die zweite Version der Programmiersprache und Entwicklungsumgebung Small Basic veröffentlicht.

Hier eine Liste von Änderungen:

Language and Editor

  • Several Crash fixes
  • Support for non-US regional OS settings
  • Auto-indent 
  • Parentheses for conditional expressions are now optional
  • Added ElseIf keyword to the language
  • Support for inline comments
  • Fixed bug with negative step value in For..EndFor

Library API Additions

  • Array
    • GetItemCount
    • ContainsIndex
    • ContainsValue
    • RemoveValue
  • Desktop
    • Get ScreenWidth and ScreenHeight
  • File
    • CreateDirectory
    • DeleteFile
    • GetFiles
    • GetDirectories
    • WriteContents Fix: Now works even if the file doesn't already exist.
  • GraphicsWindow
    • Performance Improvements
    • Width/Height Fix: No need to set these twice
    • Hide Fixed crash
    • Add/FillTriangle
    • RotateShape
    • CanResize You now have the option of changing the resize mode
    • Left/Top You can now position the window
    • GetColorFromRGB Construct a valid color value from the color components
  • Math
    • Power
    • GetRandomNumber Fix: Is one based and includes the max-number in range. [Breaking Change]
  • Program
    • Fixes for End()
    • ProgramDirectory Gets the directory of the program
  • Text
    • Append For those times when you want a number to be treated as text
    • GetCharacter Unicode character code to Character
    • GetCharacterCode Character to Unicode Character code
  • TextWindow
    • Clear
    • Left/Top
  • Turtle
    • Angle
    • X, Y

Small Basic

December 3, 2008 22:49 by Jens

Bereits im Oktober haben die Microsoft DevLabs die Programmiersprache und Entwicklungsumgebung Small Basic veröffentlicht.

Es handelt sich dabei um eine an Basic angelehnte Programmiersprache. Das Ziel des Projektes ist, eine Sprache anzubieten, die insbesondere Kindern und Programmierneulingen einen möglichst einfachen Einstieg in das Thema Programmieren ermöglicht. Hier einige Merkmale der Sprache:

  • angelehnt an das Original-Basic
  • nicht mehr als 15 Schlüsselwörter
  • streng imperative Programmierung
  • keine Klassen, Scopes, Generics, Lambdas etc.
  • typenlose Sprache
  • alle Variablen sind global verfügbar

Der Quelltext wird in IL-Code compiliert und läuft dann natürlich unter dem .NET Framework. Neben der Programmiersprache sind im Paket auch noch ein paar Bibliotheken enthalten, die von Small Basic-Programmen verwendet werden können. Es können natürlich auch in jeder beliebigen .NET Sprache eigene Erweiterungen geschrieben werden.

Den mitgelieferten Editor eine Entwicklungsumgebung zu nennen ist vielleicht etwas übertrieben, hat aber einen gewissen Charme. Er ist ausgestattet mit Intellisense und einer Kontextabhängigen Hilfe.

 

Die aktuelle Version ist noch ziemlich fehlerbehaftet. Für ein einigermaßen stabiles Arbeiten sollten die Regionseinstellungen des Betriebssystem auf Englisch (US) umgestellt werden. Die Entwickler scheinen hier etwas geschlampt zu haben.

Die nächste Version ist für kurz vor Weihnachten angekündigt und soll einen Haufen Fehler beseitigen und neue Features enthalten.

Hier noch ein paar Links:


MEF Preview 3 veröffentlicht

December 2, 2008 21:29 by Jens

Das MEF Team hat eine weitere Version des Managed Extensibility Frameworks veröffentlicht.

Hier eine Liste der Änderungen in diesem Release:

  • Der Composition Container wurde refactored
  • Das Export Provider Model ersetzt den Value Resolver
  • Catalog Caching
  • Performance-Verbesserungen
  • Unit-Tests

Mit dem Release wurden auch sämtliche Abhängigkeiten von MS-LPL-Bestandteilen entfernt. Somit konnte der Quelltext unter der MS-PL veröffentlicht werden.


.NET GUI verlost BASTA!-Ticket

November 24, 2008 21:07 by Jens

Auf der .NET GUI-Community Site wird ein Ticket zur BASTA! Spring 2009 verlost.

Das Tolle daran: Es war wahrscheinlich noch nie so einfach und günstig an solch ein Ticket zu kommen. Alles, was man tun muss ist einen kleinen How-To-Artikel schreiben und im .NET-GUI-Forum veröffentlichen. Ein How-To-Artikel rund ums Thema "GUI mit .NET" soll kurz und knackig die Lösung zu einem Problem beschreiben. Für jeden Artikel, den man schreibt, landet ein Los im Topf, aus dem der Gewinner gezogen wird.


Tags:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

PDC-Blog-Verweigerer

October 29, 2008 07:52 by Jens

Hiermit gebe ich bekannt, dass ich keinerlei PDC Posts schreiben werde. Damit gehöre ich nun also offiziell zur absoluten Minderheit der bloggenden .NET-Community, die nichts über die Geschehnisse der PDC schreibt. :-D


Tags:
Actions: E-mail | Permalink | Comments (2) | Comment RSSRSS comment feed

WPF Toolkit veröffentlicht

October 28, 2008 20:36 by Jens

Das WPF Team hat heute die erste stabile Version des WPF Toolkit veröffentlicht. Das Toolkit enthält unter anderem das WPF DataGrid, ein Kalender-Control und Vorschau-Versionen des Ribbon-Controls und des VisualStateManagers.
Die Projekt-Homepage befindet sich auf CodePlex: http://www.codeplex.com/wpf.

Dort kann auch der Quelltext des Paketes heruntergeladen werden:
http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=15598

.NET bekommt neues Logo

October 25, 2008 20:37 by Jens

Microsoft spendiert .NET ein neues Logo:

Bzw. als horizontale Variante:

Gefällt mir eigentlich ganz gut. Smile


Tags:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Einführung in das Managed Extensibility Framework (Teil 4)

October 9, 2008 20:35 by Jens
Bisherige Artikel der Serie:


Das Beispiel dieser Serie ist noch nicht flexibel genug. Im Hauptfenster ist festgelegt, dass das TabControl drei Seiten enthält:

DataContext = new List<object>
                  {
                      new {Title = "Page 1", Page = Page1},
                      new {Title = "Page 2", Page = Page2},
                      new {Title = "Page 3", Page = Page3}
                  };


Viel besser wäre es doch, wenn eine beliebige Anzahl von Seiten dargestellt werden können.

Das MEF bietet diese Möglichkeit. Es ist in der Lage, mehrere Komponenten, die denselben Contract haben, in eine Collection zu importieren. Das bedeutet zunächst, die Export-Contracts der UserControls müssen angepasst werden, sodass sie alle gleich lauten:

[Export("Page")]
public partial class Page1 : UserControl
{
    public Page1()
    {
        InitializeComponent();
    }
}

[Export("Page")]
public partial class Page2 : UserControl
{
    public Page2()
    {
        InitializeComponent();
    }
}

[Export("Page")]
public partial class Page2 : UserControl
{
    public Page2()
    {
        InitializeComponent();
    }


Diese UserControls können nun in eine Collection importiert werden. Dazu wird die Deklaration der Imports geändert. Die Member "Page1", "Page2" und "Page3" können entfernt werden und durch die Deklaration des Members "Pages" ersetzt werden:

[Import("Page")]
public ExportCollection<UserControl> Pages; 


Dadurch wird der CompositionContainer angewiesen, alle Komponenten mit dem Contract "Page" zu importieren. Über die ExportCollection<T>-Klasse haben wir wieder Zugriff auf die Metadaten der Exports. Die Seiten können nun wie folgt für den DataContext ausgewertet werden:

DataContext = from p in Pages
              select new {Title = p.Metadata["Title"], Page = p.GetExportedObject()};

              
Nun werden beliebig viele UserControls, die mit den entsprechenden Attributen versehen sind, in das TabControl geladen.

Der Quelltext der Beispiel-Anwendung kann hier heruntergeladen werden.

Moderator bei .NET-GUI.com

October 8, 2008 21:12 by Jens


Seit heute gehöre ich dem Moderatoren-Team von .NET-GUI.com an.
Ein herzliches Dankeschön an Norbert Eder für das entgegengebrachte Vertrauen. Gerne werde ich mich den Aufgaben stellen und hoffe, eine Bereicherung für das Team und die Community zu sein.

.NET GUI ist die .NET Community, die sich mit der Entwicklung von grafischen Oberflächen beschäftigt. Gerade mit dem Aufkommen der Windows Presentation Foundation und Silverlight, haben sich viele neue Möglichkeiten ergeben. Der Gestaltung von Oberflächen wird höhere Priorität zuteil. Diese Community bietet die Chance, sich über alle Belange von grafischen Oberflächen auszutauschen. Einzige Einschränkung: Die Basis muss durch das .NET Framework gegeben sein.

Wenn Ihr also Anwendungen mit den Technologien Windows Forms, WPF oder Silverlight entwickelt, so ist .NET-GUI.com die richtige Anlaufstelle für alle Fragen über die Oberflächenprogrammierung. 

Channel8 beim .NET Open Space

October 8, 2008 19:30 by Jens

Also wird es tatsächlich Videos vom .NET Open Space 2008 geben. Woohoo! Rock on!