25 Februar 2018

Umstellung auf Https und alte Website entfernt

Der letzte Eintrag von mir auf dieser Seite ist aus dem Jahr 2016… damit wird es jetzt Ende Februar 2018 wirklich einmal Zeit, hier wieder etwas zu machen. Grund für meine lange Untätigkeit hier ebenso wie auf GitHub ist ganz klar das Fernstudium. Glücklicherweise geht es jetzt auf den Endspurt bei der Masterarbeit zu und damit kann ich langsam zuhause wieder Zeit zum Entwickeln investieren. Bei der Gelegenheit habe ich hier auf der Website erst einmal aufgeräumt. Im Prinzip haben sich zwei Sachen verändert: Zum einen habe ich umgestellt auf Https, um hier auf den aktuellen Stand zu sein und nicht von Google gebrandmarkt zu werden. Zum anderen habe ich die alte Joomla-basierte Website entfernt (vorher erreichbar und www.rolandk.de oder www.rkoenig.eu). Falls jemand den alten Content benötigt, dann reicht eine einfach Mail an mich – habe die Sachen nicht gelöscht, sondern am Webspace erst einmal in einen Backup-Ordner geschoben. Zudem bleibt die alte Datenbank auch bestehen.

16 Oktober 2016

Gemeinsame Icon-Bibliothek in größeren Desktop-Apps

IconJe umfangreicher Desktop-Apps werden, desto größer wird auch ein Problem, welches zumeist zu Beginn der Entwicklung unterschätzt wird: Wo werden Icons abgelegt, welche von verschiedenen Programmteilen verwendet werden? Viele verschiedene Programmteile und Module (und wie sie auch immer genannt werden…), bei denen jeweils lokal Icons abgelegt werden, können nach einigen Jahren stetiger Entwicklung für Chaos sorgen. Bei meinen Projekten verstärkt sich das Problem zusätzlich aufgrund der Tatsache, dass sich ältere Windows.Forms- und neuere WPF-Komponenten mischen. Weiterlesen

13 Juli 2015

Ein Sommerloch, RKVideoMemory, SmartGlasses und Seeing#

Recon-Jet-Black-Left-AngleMein letzter Beitrag hier ist jetzt eine ganze Zeit lang her… ich betrachte das einmal ein kleines Sommerloch. Hohe Temperaturen, eine Hochzeit in der Verwandtschaft und die Urlaubszeit haben meine Aktivitäten hier stetig verhindert. In den letzten Beiträgen habe ich mich relativ viel mit Video-Verarbeitung mit der Media Foundation beschäftigt. Dies lag unter anderen an dem Spiel RKVideoMemory, welches ich für oben genannte Hochzeit als kleines Geschenk programmiert habe. Quasi ein Memory, welches alte und neue Bilder des Ehepaars als Spielkarten verwendet und beim Aufdecken das Ein oder Andere peinliche Video abspielt. Gespielt wurde dann am Tablet und angezeigt am 46″ Fernseher. War am Ende seine sehr witzige Geschichte… aber jetzt wird es wieder Zeit für andere Themen. Eines davon sieht man hier links im Titelbild: SmartGlasses. Weiterlesen

31 März 2015

Von MSTest nach xUnit.net

Das in Visual Studio integrierte Testframework von Microsoft verwende ich nun bereits seit zig Jahren – wenn ich mich richtig erinnere seit Visual Studio 2008. Im Grunde war ich meistens auch zufrieden damit. Performance war jetzt nicht schön, aber für meine Anwendungsfälle auch kein Problem. In den letzten Wochen/Monaten habe ich mich aber dazu entschlossen, nun endgültig auf xUnit umzusteigen. Warum? Das offensichtliche ist schon mal, dass von offizieller Seite nix mehr bei MSTest passiert. Weiterhin wird die Performance bei der steigenden Anzahl meiner automatischen Tests immer mehr zum Problem. Die Möglichkeit zur Parametrierung von Testfällen ist für mich kein Must-Have, aber auch dieses Feature macht xUnit schon interessant. Gestern und heute habe ich die Umstellung entsprechend gemacht und bin überrascht, wie wenig Arbeit das letzten Endes gemacht hat. Weiterlesen

23 Februar 2015

Vortrag in Nürnberg zu Bewegungssteuerung mit MS Kinect 2.0

Mit der Kinect-Technologie habe ich mich zum ersten Mal intensiver beschäftigt, als zur ersten Kinect das SDK in Version 1.7 veröffentlicht wurde. Das ist natürlich schon ein paar Jährchen her und in der Zwischenzeit ist auch schon einiges mit der Technologie passiert. Ich finde es sehr spannend, wie schnell sich Kinect in eigene Programme integrieren lässt – sei es bei der Oberflächensteuerung mit der KinectRegion, bei der Spracherkennung oder bei eigenen Bilderkennungstechniken mit den zur Verfügung gestellten Streams. Diese Woche donnerstags werde ich bei der .Net Usergroup in Nürnberg einen Vortrag zum Thema halten, worin ich einige Grundlagen der Technologie nebst einigen Stolpersteinen vorstellen werde [1]. Ich bin gespannt drauf und freue mich auch auf die Diskussionen mit den Entwicklern aus Nürnberg und Umgebung 🙂 Weiterlesen

1 Februar 2015

Um was geht es beim Testen?

BugNeulich stand am .Net Usergroup-Treffen in Regensburg das automatisierte Testen auf der Agenda [1]. Grundsätzlich ein wichtiges Thema, nicht nur für mich, sondern auch für viele andere Softwareentwickler – alleine die hohe Teilnehmerzahl macht dies deutlich. An dieser Stelle direkt ein Dank an den Sprecher Kenny Pflug, er hat das Thema gut dargestellt – auch wenn es die eine oder andere Kritik an dem Beispielprogramm gab ;). Bei dem Vortrag konnte ich einige Dinge dazulernen, beispielsweise nennt sich das, was ich normalerweise als „Testdriven Development“ in der Arbeit vorantreibe, in Wirklichkeit „Behavior Driven Development“. Naja.. ich mache mir halt nicht viel aus Schlagworten 😉 Weiterlesen

24 August 2014

Kein MEF für Universal Apps?

Das Konzept hinter den Universal Apps finde ich sehr gut, wie in den letzten Beiträgen geschrieben wende ich es gerade testhalber bei RK 2048 an. Ein Negativpunkt für mich ist aber die fehlende Unterstützung für System.Composition. Bei WinRT für Tablets / Desktop gibt es den Umweg über MEF 2, welcher eigentlich auch relativ gut funktioniert. Für das Windows Phone scheint es das aber nach wie vor nicht zu geben, derweil ist die Funktionalität m. E. schon sehr praktisch. Damit ich trotzdem etwas Ähnliches habe, habe ich mir entsprechend selber Klassen dafür geschrieben, die auch mit dem Universal App Template laufen. Weiterlesen

2 August 2014

MSTest, oder wie ich es verwende

UnitTests oder Ansätze der testgetriebenen Entwicklung werden aktuell häufig bei Usergroups oder Fachkonferenzen angesprochen. Erst diese Woche war ich auf einem Usergroup-Treffen in Nürnberg genau zu diesem Thema. Ich persönlich beschäftige mich damit schon etwas länger, habe testgetriebene Ansätze bereits mehrmals bei passenden Anwendungsfällen durchgeführt und war damit auch stets sehr zufrieden. Bei dem genannten Vortrag musste ich aber feststellen, dass sich das, was ich persönlich mit diesen Tests mache, mittlerweile schon teils deutlich von der Theorie unterscheidet. Hier in diesem Beitrag möchte ich entsprechend meine Sicht auf UnitTests und testgetriebene Ansätze im Allgemeinen beschreiben. Weiterlesen

12 Januar 2014

Triangulation von WPF-Path Objekten

WPF Path TriangulatorZugegeben, der Titel dieses Beitrags hört sich etwas komisch an. Was Besseres ist mir aber leider nicht eingefallen. Im Grunde habe ich mir folgendes in den Kopf gesetzt: Ich möchte in meinem Programm diverse 3D-Objekte wie Pfeile, Böden (nicht nur rein rechteckige) o. Ä. relativ einfach dynamisch erzeugen können. Eigentlich habe ich etwas Ähnliches im Kopf, wie ich hier mit Text-Objekten gemacht habe – nur mit anderen Formen. Die Path-Objekte aus WPF bieten mir dafür schon die Grundlage, die ich brauche, nur leider lediglich in 2D. Daher habe ich ein kleines Programm geschrieben, welches aus einen Path per Triangulation-Algorithmus ein Modell aus Dreiecken errechnen kann. Daraus im Anschluss ein wirkliches 3D-Objekt zu machen, ist bekanntlich kein großes Problem mehr. Weiterlesen

10 Oktober 2013

Mausklick in Win.Forms per Reactive Extensions abfragen

Die Reactive Extensions von Microsoft können schon ein cooles Werkzeug sein. Wer sich schon einmal damit beschäftigt hat, weiß, dass dieses Framework vom Funktionsumfang her eine sehr gute Ergänzung ist, von der Syntax her aber sehr ungewohnt.

Ein gutes Beispiel dafür habe ich neulich bei einem relativ einfachen Thema gemacht: Einen einfachen Mausklick in einem Windows.Forms Panel abfangen. Das Standard-Ereignis konnte ich nicht nehmen, da dieses auch dann feuert, wenn die Maustaste länger unten gehalten wurde. In diesem Fall möchte ich das Ereignis aber nicht, da länger gedrückte Maustaste in diesem Fall eine andere Bedeutung hat. Weiterlesen