Wir stellen im Moment nach und nach das Design unserer Anwendungen um. Ziel ist es, ein wiedererkennbares Design zu schaffen, das sich durch all unsere Windows – Tools zieht. Das Hurricane Framework hält dazu extra für die WPF-Schiene diverse Styles bereit. Wir hoffen, euch damit eine gewohntere “Umgebung” bieten zu können :)

 

Heute stelle ich euch ein neues Tool für Minecraft vor. RToolKitUi ist ein grafischer Client für das RemoteToolKit-Plugin für Minecraftserver. Er ermöglicht euch auf einfache Art und Weise, euren Server fernzusteuern, anstatt alles via Telnetkonsole zu managen. Ihr könnt eure eigenen Befehle konfigurieren und alles bequem per Klick steuern. Das erleichtert die Administration des Servers.

Download: RToolKit UI (56)

CHIP.DE: Wir sind autorisierter Download Partner :)

On Januar 2, 2012, in News, by Ben Wagner

Am 28.12.2011 erhielten wir von chip.de eine Mail mit – kurz gefasst – folgendem Inhalt: ab sofort sind wir autorisierter Download Partner für den “USB Storage Enabler” im Chip-Pick-Programm! Darüber freuen wir uns sehr – und sind auch ein wenig stolz :)

Im Anhang erhalten Sie unser “CHIP Pick”-Logo, das Sie gerne auf Ihrer Website platzieren können.

Gesagt, getan. Danke, chip.de!

 

… in das neue Jahr :)

2012 wartet mit neuen spannenden Geschichten rund um die IT Welt auf! Wir reden von einer möglichen neuen XBOX 720 und einer KINECT 2, sowie KINECT für den PC. Es gibt neue Windows Phones und auch neue Updates. Und es gibt auch neue Updates für unsere Tools sowie unser Framework :)

Zudem wird 2012 das wohl arbeitnehmerfreundlichste Jahr seit langem wieder, mehr Zeit für sich selbst und das ein oder andere Hobby!

Wir wünschen euch im Namen des Teams einen super Start und einen Beginn für neue Chancen und Ideen!

 

 Heute stelle ich ein neues Tool für das Windows Phone vor. WP7 Easy Backup ermöglicht es auf einfache Art und Weise, Backups des Windows Phones zu erstellen. Der Fokus liegt klar auf der Einfachheit der Handhabung; als User möchte ich mich nicht mit PKS Files, Registry Hacks und so weiter befassen müssen, ich möchte einfach nur ein Backup erstellen oder wieder zurückspielen. Dieses Tool wurde sowohl mit einem HD7 getestet als auch mit einem HD2 mit updatebaren ROM. Ich hoffe, ich konnte damit die Backuperstellung etwas vereinfachen.

Download: WP7 Easy Backup (4003)

Ich sehe es momentan leider wieder öfters – .NET Entwickler unterliegen dem Irrglauben, eigene Objekte einfach mit einem “null” aus dem Speicher räumen zu können. Leider funktioniert das nicht so einfach, es gibt hier wichtige Dinge zu beachten. “Managed” heißt leider nicht immer “sorgenfrei”.

Oftmals werden Events wild in einem Objekt registriert; vor allem die Lambdas schlagen hier gerne mal zu. Ich weiß, es ist zeitsparend und sieht auch ziemlich cool aus, aber es ist leider sehr gefährlich und unkontrollierbar. Ich habe das Ganze mal an einem Timer-Objekt sichtbar gemacht. Glaubt mir, es kann weitaus fiesere Beispiele geben: FileSystemWatcher, etc…

Beispiel #1: Klassisch. Es wird ein Event genutzt, es gibt vielleicht sogar noch eine “Stop()” Methode, aber es gibt keine Deregistrierung des Events.

public class GcCantCollectEventNotDeRegistered
    {
        private Timer _testTimer;

        public void Start()
        {
            _testTimer = new Timer {Interval = 1000};
            _testTimer.Elapsed += TestTimerElapsed;
            _testTimer.Start();
        }

        static void TestTimerElapsed(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("GcCantCollectEventNotDeRegistered: Tick!");
        }
    }

Beispiel #2: Modern. Es wird ein Event mit Lambdas genutzt; auch hier kann es eine “Stop()” Methode geben, aber eine Deregistrierung fehlt auch hier völlig.

public class GcCantCollectBecauseLambda
    {
        private Timer _testTimer;

        public void Start()
        {
            _testTimer = new Timer {Interval = 1000};
            _testTimer.Elapsed += (_, e) => Console.WriteLine("GcCantCollectBecauseLambda: Tick!");
            _testTimer.Start();
        }

    }

In beiden Beispielen tickt die Uhr munter weiter. Der Zugriff auf das Objekt ist zu diesem Zeitpunkt aber schon gesperrt, man kommt nicht mehr ran. Es ist daher sehr wichtig, alle Objekte sauber zu entfernen und Events zu deregistrieren. Ihr habt so, gerade im Bereich Multi-Threading, viel mehr Ruhe.

 public class GcCollectsBecauseTheEventIsDeRegistered : IDisposable
    {
        private Timer _testTimer;

        ~GcCollectsBecauseTheEventIsDeRegistered()
        {
            Dispose();
        }

        public void Start()
        {
            _testTimer = new Timer {Interval = 1000};
            _testTimer.Elapsed += TestTimerElapsed;
            _testTimer.Start();
        }

        static void TestTimerElapsed(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("GcCollectsBecauseTheEventIsDeRegistered: Tick!");
        }

        public void Dispose()
        {
            if (_testTimer == null) return;

            _testTimer.Stop();
            _testTimer.Elapsed -= TestTimerElapsed;
            _testTimer.Dispose();
            _testTimer = null;
        }
    }

Ob ihr, wie ich, das IDisposable Interface implementiert, oder einfach eine “Stop()” Methode nutzt, ist dabei reine Geschmackssache :) Durch IDispose kommt ihr aber in den Genuss, eure Logik mit einem “using” auszuführen und sicher zu gehen, dass aufgeräumt wird.

 using (var collectsBecauseTheEventIsDeRegistered = new GcCollectsBecauseTheEventIsDeRegistered())
            {
                collectsBecauseTheEventIsDeRegistered.Start();
                Console.ReadKey();
            }

Download: Codebeispiel: Events in DotNet (73)

 

Zugegeben, es ist schon Ende November, und ja, der (vor-)letzte Artikel ist nun auch schon etwas länger her, aber verschlafen wird hier trotzdem nichts.  Windows Phone Mango wurde releast und hat sich ziemlich gut bewährt. Gerade die schmerzlich vermisste Tethering / ICS Funktionalität wurde implementiert. Ein Segen!

Die Windows 8 Alpha kursiert mit dem neuen Metro-UI durchs Netz, wie auch die Server-Version, und zu guter Letzt bekommt nun auch die geliebte XBOX 360 etwas vom Metro-Kuchen ab. Alles in allem ein Beweis dafür, dass Microsoft nicht schläft. :)

Und auch auf ultimate networX hat sich einiges getan! Abgesehen vom neuen Design gibt es nun direkte Downloadlinks zu den NIGHTLY und RECOMMEND Artifakten des Buildservers. Damit seid ihr auf dem neuesten Stand, und das auch noch automatisch :)  Der Link zum Hurricane-Framework wurde ebenfalls geschaltet. Dieses Framework stelle ich noch etwas genauer vor, vorab nur kurz: Es ist unser Anwendungsframework, das so ziemlich in all unserer Software zum Wirken kommt. Wir geben euch damit ebenfalls Zugriff :)

Ich freue mich, euch wieder begrüßen zu dürfen, und auf weitere tolle Tipps, Kniffe und Entwicklungen, die wir zusammen entdecken :)

Tagged with:
 

Oftmals hat man als Entwickler oder auch als Serveradmin das Bestreben, diverse Anwendungen in den Servicekontext von Windows zu verbannen. Das kann auf verschiedene Arten erfolgen, von einer normalen Command Line Batch angefangen bis hin zu Konsolenapplikationen. Natürlich gibt es dafür bereits viele Tools auf dem Markt, selbst Microsoft bietet ein Tool, genannt “srvany”; aber manchmal kann es auch einfacher und kostengünstiger gehen ;)

Auch mich betrifft das Thema, und da ich es ehrlich gesagt leid bin, jedes mal für ein paar Konsolen die Remote-Desktop Session aufzuhalten, hab ich einen kleinen, simplen Service Wrapper geschrieben.

Der Service Wrapper wird als normaler Windows Systemservice installiert. Dieser startet dann durch die App.config die konfigurierte Anwendung. Der Service Wrapper bedient sich der Technologie “TopShelf” von “MassTransit”. Um den Wrapper zu konfigurieren, einfach die “ServiceWrapper.exe.config” editieren. Die Parameter sind selbsterklärend.

Download: Service Wrapper (90)

Eine Betaversion der Windows Phone Tools für Mango steht bereit. Die Software ist bisher nur auf Englisch verfügbar und kann auch nur mit der englischen Version von Visual Studio verwendet werden. Eine Side-by-Side Installation ist noch nicht möglich. Der beigelegte Emulator zeigt schon die ersten Neuerungen wie z.B. den IE9.

Windows Phone Mango Beta

Tagged with:
 

Mitsubishi EW270U Treiber Update

On Mai 29, 2011, in 3D Vision, DIY, by Ben Wagner

Ich habe den Treiber nun an mehreren Systemen getestet, bei einer Installation von Windows 7 x64 schlug ein Test jedoch fehl. Ich habe den Treiber entsprechend angepasst. Der Treiber überschreibt die EDID mit einem der kompatiblen Geräte und gaukelt so 3D Vision Kompatibilität vor. Leider prüft 3D Vision auf eine vorausgewählte Liste von Produkten bestimmter Hersteller und nicht auf die Leistungsmerkmale der Hardware, was diesen “Hack” unumgänglich für manche Geräte macht.

Download: Mitsubishi EW270U Display Driver (388)

Tagged with: