Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Monday, 30. October 2006


Migration von Visual Source Safe (VSS) zum Team Foundation Server (TFS)

Filed under: msu solutions GmbH,Tools,Visual Studio — Steffen Forkmann at 10:52 Uhr

Steven Jean beschreibt in einem umfangreichen Artikel die Versionsverwaltungsfeatures des Team Foundation Server aus der Sicht von VSS-Nutzern. Er zeigt u.a. die veränderten Arbeitsabläufe und die neuen Sicherheitsfeatures die sich mit dem TFS ergeben. Eines der größten Vorteile aus meiner Sicht ist übrigens, dass beim Check-In die definierten Policies überprüft werden und so nur Code eingecheckt werden kann, der bestimmten selbstdefinierbaren Richtlinien entspricht.

Interessant in diesem Zusammenhang ist auch ein Channel 9 Video in dem John Lawrence, seines Zeichens Development Manager des “Visual Studio 2005 Team Foundation’s Source Code Management Teams”, interessante Anwendungsmöglichkeiten des Team Foundation Servers zeigt – zum Beispiel auch automatisch generierte RSS-Feeds mit den Bugmeldungen.

Tags: , , , ,

Saturday, 28. October 2006


Der ultimative Mathematiker

Filed under: Informatik — Steffen Forkmann at 16:21 Uhr

Letzte Woche aufgeschnappt:

“A mathematician is a person who can find analogies between theorems; a better mathematician is one who can see analogies between proofs and the best mathematician can notice analogies between theories. One can imagine that the ultimate mathematician is one who can see analogies between analogies.”

Stefan Banach – polnischer Mathematiker


Google’s "Twenty percent" time

Filed under: Diverses — Steffen Forkmann at 15:31 Uhr

Bei Google ist es Tradition, dass die Entwickler 20% ihrer Arbeitszeit (das ist ein ganzer Tag in der Woche) in Projekte stecken dürfen, die sie besonders interessieren und die so eigentlich nicht in ihrer Stellenbeschreibung stehen. Einige der neueren Google-Features (wie Gmail, Google News, AdSense und orkut) resultieren angeblich aus einigen dieser “überwachten” Hobbyprojekte. Nach Marissa Mayer, einer Abteilungsleiterin bei Google, kommen mittlerweile sogar 50% aller neuen Google-Features ursprünglich aus der “twenty percent”-Zeit.

Meiner Meinung nach ist das ein interessanter Ansatz, um den 5.ten Punkt (“Haben Sie Spaß an Ihrer Arbeit!”) meiner 10 Tipps für erfolgreiche Software-Entwicklung zu erfüllen und gleichzeitig der eigenen Firma auch noch Gewinn zu bringen – wie Google zeigt teilweise sogar extreme Gewinne.

Quellen:

  1. http://en.wikipedia.org/wiki/Google
  2. http://www.google.com/support/jobs/bin/static.py?page=about.html
  3. http://www.google.com/jobs/reasons.html
Tags: , ,

Friday, 27. October 2006


Eine überwachte Kopierfabrik (3)

Filed under: C#,Tools — Steffen Forkmann at 15:50 Uhr

Nachdem ich nun schon 2 kleinere Artikel zur überwachten Kopierfabrik geschrieben habe (Teil 1 und Teil 2), folgt nun der dritten Teil. Heute soll kurz gezeigt werden wie man mit C# ein Eingangsverzeichnis überwachen kann und dann bei Änderungen per Mail informiert wird.

using System.Net.Mail; ... fileSystemWatcher.Created += new FileSystemEventHandler(fileSystemWatcher_Created); ... void fileSystemWatcher_Created(object sender, FileSystemEventArgs e) { MailMessage mailMessage = new MailMessage(from,to); mailMessage.Subject = string.Format("EntranceWatcher: {0}",e.FullPath); mailMessage.Body = string.Format( "Die Datei {0} wurde eben in ein Eingangsverzeichnis kopiert.", e.FullPath); SmtpClient smtpClient = new SmtpClient(smtpServer); smtpClient.Send(mailMessage); }

Microsoft Dynamics NAV 5 wird zweigeteilt

Filed under: msu solutions GmbH,Navision — Steffen Forkmann at 9:00 Uhr

Nachdem ich vor einer Weile schon auf die kommenden Änderungen in NAV 5 eingegangen bin, gibt es nun einen kleinen Nachtrag. Microsoft plant nun das Navision 5 Release in zwei Teile zu splitten. NAV 5.0 soll im März 2007 kommen und NAV 5.1 erst im vierten Quartal 2007. NAV 5.0 soll dabei alle C/SIDE-Features und die Office 2007-Integration enthalten. Erst mit NAV 5.1 kommen dann die versprochene 3-Tier-Achitektur und die WebServices.

Gleichzeitig soll im März auch eine Technical Preview von Microsoft Dynamcis NAV 5.1 angeboten werden, so dass die Partnerfirmen wenigstens schon mal reinschnuppern können.

Zu den Gründen für diesen Verzug gibt Microsoft an, dass man die Qualität hochhalten möchte und so die Partner auch mehr Zeit haben sich im neuen Thema zurecht zu finden. Mit anderen Worten: Es wird nicht rechtzeitig fertig.

Die wichtigsten Features in Nav 5.0:

  • Dokumentzustimmungsprozess (Aus WF und Sharepoint)
  • Windows Live Local (Anzeige von Orten auf Karten samt Routing)
  • Vorrauszahlungen bei Aufträgen und Rechnungen (prozentual oder betragsweise)
  • Office XML (Export nach Word oder Excel samt Style Sheets)
  • Outlook Integration

Quelle: Microsoft PartnerSource

Tags: ,

Thursday, 26. October 2006


Windows Desktop Search Version 3 auf deutsch released

Filed under: Tools — Steffen Forkmann at 10:25 Uhr

Microsoft hat die Windows Desktop Search Version 3 released. Der Vorteil ist, dass diese Version schon von Hause aus Visio, C#, C++ Files usw. schön getrennt spidert. Mit Hilfe des “Add-in for UNC/FAT” können sogar Netzlaufwerke gespidert werden. Das ist vor allem für Firmen interessant, da man so endlich Volltextsuche für die eigenen Office-Dokumente im Netzwerk hat.

Man kann wie in den älteren Versionen auch eigene PlugIns schreiben, um die Indizierung von eigenen Dateitypen zu unterstützen.

Die Google Desktop Search fliegt jetzt also erstmal wieder runter.

Tuesday, 24. October 2006


Windows Defender released

Filed under: Security,Tools — Steffen Forkmann at 14:18 Uhr

Seit gestern ist nun auch die kostenlose Anti-SpyWare Windows Defender als offizielles Release zum kostenlosen Download verfügbar. Microsoft gibt sogar 2 kostenlose Support-Anfragen dazu.

Features:

  • Spyware Erkennung und Entfernung
  • Läuft im Hintergrund und bleibt automatisch auf dem neuesten Stand durch automatische Updates
  • Sehr einfache Oberfläche
  • Sehr gute Performance durch optimierte Scan Technologie

Weiteres und den Download gibt es hier.

Nachtrag: Laut Windows Defender bin ich clean – nur der RSSBandit “könnte potentiell ungewolltes Verhalten verursachen”.  

Saturday, 21. October 2006


Eine überwachte Kopierfabrik (2)

Filed under: C#,Tools — Steffen Forkmann at 17:36 Uhr

Gestern habe ich über ein kleines Tool berichtet, dass wiederkehrende langwierige Kopierfunktionen für den Nutzer versteckt in den Hintergrund verlagert und so einen ganz deutlichen Performancegewinn darstellt.

Um das Tool auf dem Server effektiv nutzen zu können wird es natürlich als Windows Dienst ausgeliefert. Wie man aus seinem Projekt einen solchen Dienst macht, wird ganz ausführlich in einer Exemplarischen Vorgehensweise auf MSDN demonstriert.

Mit folgendem Code-Schnipsel kann man sogar das Tracing des Dienstes gleich auf das EventLog umleiten:

using System.Diagnostics; ... EventLogTraceListener eventlogListener = new EventLogTraceListener("DBCopyService"); Trace.Listeners.Add(eventlogListener); Trace.WriteLine("Tracing auf EvenLog");

Tracing in die Ereignisanzeige

Friday, 20. October 2006


Eine überwachte Kopierfabrik

Filed under: C#,Tools — Steffen Forkmann at 20:20 Uhr

Bei uns in der Firma haben wir das Problem, dass wir für Entwicklungstests oft große Navision-Datenbanken aus einem Original-Verzeichnis in unsere Testverzeichnisse auf dem Testserver kopieren müssen. Dies hat bisher immer sehr viel Zeit (bis zu 30min pro DB) in Anspruch genommen – Zeit in der man nur unproduktiv auf das Ende des Kopiervorgangs warten konnte. Mit Hilfe eines kleinen Tricks kann man diese Zeit jedoch für den Nutzer fast komplett auf Null reduzieren.

Wir haben jetzt folgende Verzeichnisstruktur (alles auf dem selben Server)

  • Original (hier liegen die Ausgangsdatenbanken)
  • Lager (dies ist ein überwachtes Zwischenverzeichnis)
  • Nutzer
    • Steffen
    • Maik

Die Idee ist nun, dass die Nutzer sich eine Datenbank bei Bedarf einfach aus dem Lager in ihren Nutzer-Ordner schieben. Dabei passiert auf dem Dateisystem ja kein Kopiervorgang – sondern nur ein sehr schneller Verschiebevorgang. Der Lager-Ordner wird jedoch von einem Mini-Tool überwacht. Dies hat den Vorgang registriert und kopiert nun im Hintergrund die Datenbank aus dem Originalverzeichnis ins Lager. Sobald dieser Vorgang abgeschlossen ist, kann der nächste Nutzer wieder schnell auf die DB im Lager zu greifen.

Nun zur Implementierung des Überwachungs-Tools in C#:

// Consolenstart static void Main(string[] args) { FDBWatcher fdbWatcher = new FDBWatcher(); Console.ReadLine(); } class FDBWatcher { private string warehousePath = @"C:\\Test\\Lager\\"; private string originalPath = @"C:\\Test\\Original\\"; private string targetEndingFilter = "*.fdb"; public FDBWatcher() { FileSystemWatcher fdbWatcher = new FileSystemWatcher( warehousePath, targetEndingFilter); fdbWatcher.EnableRaisingEvents = true; fdbWatcher.IncludeSubdirectories = false; fdbWatcher.Deleted += new FileSystemEventHandler(fdbWatcher_Deleted); Console.Write("FileSystem Watcher started"); } private void fdbWatcher_Deleted(object sender, FileSystemEventArgs e) { Console.WriteLine("File {0} deleted", e.FullPath); FileInfo oldFile = new FileInfo(e.FullPath); FileInfo originalFile = new FileInfo(originalPath + oldFile.Name); originalFile.CopyTo(oldFile.FullName); Console.WriteLine( "Copy {0} to {1}", originalFile, oldFile); } }

Wednesday, 18. October 2006


Beweis 1 = 2

Filed under: Quiz — Steffen Forkmann at 19:24 Uhr

In der neuen Kategorie “Quiz” möchte ich von Zeit zu Zeit kleine Rätsel anbringen.

Heute soll es um einen Beweis gehen der zeigt, dass 1 = 2 ist:

Der Beweis 1 = 2 Anmerkung: Auf der linken Seite stehen immer x Elemente ==> Erste Zeile gilt für alle x in N

Huch, was ist denn da passiert? Wer hat in Differentialrechnung gut aufgepasst und sieht den Fehler?