dot net pro contest 04/2015

Montag 23 März 2015 at 07:54 am

Am letzten Wochenende habe ich mich an den nächsten Programmier Wettbewerb der dot net pro gesetzt. Die Aufgabe klingt erstmal sehr einfach.
Die zu erstellende Routine soll eine unbekannte Zahl aus dem Bereich des Datentyps Decimal erraten. Dafür darf das Programm 10, 50 oder 100 mal beim "Gegner" nachfragen. Als Antwort gibt es nur ein "zu hoch" oder "zu niedrig" zurück. Das Programm, dass am wenigsten Versuche braucht, bzw. welches am Ende die geringsten Abweichungen liefert, hat gewonnen.

Das klingt doch einfach... oder?

(mehr)

dot net pro contest 01/2015 - Nachtrag

Donnerstag 08 Januar 2015 at 09:00 am

Ich hatte in meinem letzten Eintrag geschrieben, dass ich mit der 0,3 Sekunden für die Berechnung des kürzesten Weges zufrieden war.
Das bin ich noch immer, allerdings wird meine Lösung langsamer, sobald die Aufgabe komplexer wird.

In der Newsgroup dotnetpro.public.contest hat M.Beetz ein komplexeres Beispiel gepostet (Vielen Dank dafür!).
Bei diesem Beispiel findet meine Lösung auch die minimale Schrittanzahl (20020), aber der Rechner braucht dafür noch über 3 Sekunden.

Ich bin gespannt, wie andere Teilnehmer die Aufgabe gelöst haben.

Viele Grüße,
Christof

Nachtrag vom 23.03.2015:

Die Ergebnisse sind da. Wie erwartet gibt es viele richtige Lösungen. Daher wurde der Wettbewerb per Los entschieden. Von 60 Teilnehmern hatten 44 die richtige Lösung. Auch meine Lösung lieferte die korrekten Ergebnisse, aber das Losglück war mir nicht hold.

Die Ergebnisse wurden in der dotntpro ausgabe 4/2015 veröffentlicht:

dot net pro contest 01/2015

Montag 05 Januar 2015 at 11:05 pm

Das Thema des aktuellen Wettbewerbs lautet "Finde den Weg". Es geht darum in einem virtuellen Gelände den kürzesten Weg zwischen Start und Ziel zu finden.

Ich fand das Thema interessant und habe daher soeben meine Lösungs DLL eingeschickt.

Wer genauere Infos zu der Aufgabe haben möchte, folge diesem Link: http://www.dotnetpro.de/articles/onlinearticle5067.aspx

(mehr)

AK-Mail : Bug im mbox Export

Samstag 23 August 2014 at 04:26 am

Es gab einmal ein sehr gutes E-Mail Programm mit dem Namen AK-Mail. Es war so gut, das ich es am liebsten weiterhin benutzen würde. Aber das Projekt wurde 2009 eingestellt.

Um die E-Mails nicht zu verlieren, musste ich die Daten in das mbox Format exportieren. Leider hat AK-Mail beim Empfang einer reinen HTML e-Mails einen Plain Text Block hineingeschrieben. Dieser Block war notwendig, weil ältere Versionen von AK-Mail den HTML Teil nicht angezeigt haben und man dann gar keinen Inhalt sah.

Leider wurde dieser Block nicht korrekt geschrieben, sodaß der HTML Teil nach dem Weiterleiten oder nach dem Export nicht mehr angezeigt wird. Das macht die Übernahme der alten E-Mails schwierig. Da ich aber auf das e-Mail Archiv nicht verzichten möchte, habe ich folgende Lösung erarbeitet...

(mehr)

Provider gewechselt

Samstag 01 Februar 2014 at 01:12 am

Ende Januar 2014 habe ich den Provider für mein Webhosting gewechselt. Während des Umzugs war die Webseite ca. 8 Stunden nicht erreichbar. Aber jetzt sollte der Umzug komplett sein. Falls doch irgendwo was fehlt, bitte ich um eine kurze Nachricht.

Christof

(vor)lesbarer Quelltext

Freitag 14 Juni 2013 at 9:00 pm

Johannes Hofmeister hat in der dot Net pro (Ausgabe 4/2012) einen Artikel veröffentlicht, in dem er auf die Relevanz guter Bezeichner hinweist. Ende Mai 2013 hat er das Thema auch auf dem Treffen der .net User Group Rhein/Ruhr in Ratingen vorgestellt.

Besonders beschäftigt hat mich die Aussage zu den lesbaren, bzw. vorlesbaren Bezeichnern am Beispiel der Interfaces. Dieses Beispiel hat mich beeindruckt, weil er das große "I" vor dem Interfacebezeichner mit in den "sprechenden Namen" einbezieht. Ein schönes Beispiel ist das Interface "IObserver", welches normalerweise jene Klassen implementieren, die andere Objekte beobachten. Die beobachteten Klassen implementieren dann häufig das Interface "IObservable".

Der Vorschlag von Johannes ist nun, diese Interface Bezeichner "lesbarer" zu machen. Aus "IObserver" macht er "Iobserve", was man als "I observe" (ich beobachte) lesen kann. Und aus "IObservable" könnte man "Inotify" machen. Das würde als "I notify" gelesen (Ich benachrichtige). Kombiniert man dies mit generischen Klassen, kann folgender Quelltext dabei heraus kommen:

(mehr)

Doppeldeutige Dokumentation

Mittwoch 15 Mai 2013 at 5:46 pm

Vor einigen Tagen habe ich mittags asiatisch gegessen. Das Essen war gut, aber in Erinnerung geblieben ist mir der Spruch im Glückskeks. Ich weiß, dass diese Sprüche gerne allgemein gehalten sind und jeder etwas hinein interpretieren kann, aber dieser Spruch war sehr konkret und doch extrem doppeldeutig:

Es stehen Veränderungen vor der Tür. Lass sie ruhig zu.

Ich hab diesen Spruch mehrmals gelesen, bis mir die Doppeldeutigkeit aufgefallen ist.

Das hat mich dann an die Dokumentation von Quelltexten erinnert. Manchmal sind es ganz banale Informationen, die man nicht braucht

int i = 5;  // Zähler initialisieren

oder die Information ist so verschlüsselt, dass man nicht weiß was man damit anfangen soll

return CheckCodeForSpecialSymbol(code); // prüft, ob code die Anforderung erfüllt

Dieser Spruch aus dem Glückskeks erinnert mich nun daran, dass man Erläuterungen möglichst eindeutig formulieren muss. Wenn das schwerfällt, dann ist das ein Zeichen dafür, dass man selbst nicht versteht, was dort passiert. Und man sollte später noch mal drüber schauen, ob der Text wirklich verständlich ist.

In dem Sinne lassen wir die Tür doch besser nicht zu, oder ?

Christof

CS-Script

Donnerstag 28 März 2013 at 11:32 pm

Im Rahmen eines Projektes bin ich auf das Tool "CS-Script" gestoßen. http://www.csscript.net/

Dieses Tool erlaubt es Quelltexte direkt als Script auszuführen. Zusätzlich kann man diese Scripting Funktionalität auch in eingene Programme einbauen. Es sieht interessant aus und meine ersten Tests sind sehr positiv verlaufen.

Die Web Seite sieht zwar ein wenig "alt-backen" aus, aber es kommt ja auf den Inhalt an. Schaut es euch einfach mal an.

Viele Grüße,

Christof

Vortrag : Einführung in das Flow Design

Montag 18 Februar 2013 at 11:31 pm

Wer interesse hat, kann zu diesem Vortrag ja gerne vorbei schauen. Eintritrt ist frei, aber um Anmeldung wird gebeten.

Den genauen Termin und den Ort findet Ihr entweder über die XING Gruppe https://www.xing.com/net/sokado/ oder direkt auf der Eventseite der Softwerkskammer Dortmund http://www.softwerkskammer.de/item/395010.

Ich werde das Thema anhand eines Beispiels mit einfachem C# Code vorstellen.  Nach dem kurzen Vortrag soll es noch eine gemeinsame Diskussion über das Flow Design Konzept geben.

Nachtrag (20.2.2013, 9:30 Uhr):

Die PowerPoint Datei und das Beispiel Projekt können heruntergeladen werden. Hier ist der Link: Vortrag Flow Design bei Softwerkskammer Dortmund am 20.2.2013

Da einige Aspekte erst im Rahmen des Vortrags erläutert werden, sind in der Visual Studio 2012 Solution zwei Projekte angelegt. Einmal ein Basisprojekt, welches im Vortrag live gefüllt wird und zum anderen ein fertiges Projekt, welches die komplette Funktionalität beeinhaltet.

Vorraussetzungen und Hintergrund Infos:

In dem Projekt wird ein Programm erstellt, welches Daten, die von der seriellen Schnittstelle (RS232) kommen, auf der Konsole und in einem Fenster darstellt. Um diese Funktionalität zeigen zu können, müssen notwendigerweise Daten über die Schnittstelle empfangen werden.

Damit man das Programm auch ohne externe Hardware verwenden kann, wird ein virtuelles Null Modem Kabel verwendet. Dieses Tool (com0com) hatte ich hier im Blog bereits vor einiger Zeit vorgestellt. Die Daten werden dann über ein einfaches Terminalprogramm (HTerm) eingegeben. Das Terminalprogramm stellt damit das externe Gerät dar, welches Daten über die serielle Schnittstelle liefert.

Beide Tools (com0com und hTerm) sind in der Downloaddatei enthalten. Das Projekt wurde mit Visual Studio 2012 erstellt. Die kostenlose VS2012 Express Version für Desktop Anwendungen reicht aus, um dieses Projekt zu kompilieren.

Info : com0com läuft auch auf 64 Bit Systemen. Allerdings muss eine angepasste (signierte) Version des Treibers verwendet werden, da sich Windows sonst weigert den Treiber zu verwenden. Diese Version konnte ich nicht in den Download packen. Verwendet einfach diesen Suchstring bei Google: "com0com 64 signiert"

Petition gegen G8 Abitur in NRW

Freitag 04 Januar 2013 at 06:35 am

In der lokalen Presse wurde über eine Schülerin aus Dortmund (13 Jahre) berichtet, die über eine Petition an den NRW Landtag erreichen möchte, dass das Thema G8 in NRW nochmal auf den Tisch kommt.

http://www.derwesten.de/staedte/dortmund/merle-13-startet-petition-im-netz-id7431044.html

Allerdings gibt es in den Kommentaren zu dem Artikel auch kritische Stimmen. In wie weit diese jedoch mit Fachwissen untermauert sind, kann ich nicht beurteilen. Daher habe ich ...

(mehr)

Geschafft 2

Mittwoch 19 Dezember 2012 at 2:10 pm

So, jetzt ist es wirklich vollbracht. Die Masterarbeit ist bewertet (Note 1.3) und das Zeugnis ist auf dem Weg zu mir.

Falls jemand die Masterarbeit lesen möchte ... Schreibt mir eine kurze Nachricht. Dann bekommt Ihr den Link und das Passwort für den Download.

Viele Grüße und ein schönes Weihnachtsfest!

Christof

Geschafft

Samstag 10 November 2012 at 11:29 pm

Das berufsbegleitende Masterstudium ist vorbei. Heute habe ich den letzten notwendigen Vortrag über meine Materarbeit gehalten. Nun fehlt noch die Note für die Masterarbeit und dann ist es geschafft.

Vor zwei Jahren hatte ich es mir noch nicht so anstrengend vorgestellt. Aber neben dem Beruf und der Familie ein Masterstudium durchzuziehen ist schwer. Anstatt die Kinder ins Bett zu bringen noch am Schreibtisch zu lernen kostet viel Überwindung.

Dennoch gab es sicher auch schöne Phasen. Ich möchte mich daher bei den Professoren, allen Studenten und den Mitarbeitern von Verbund IQ bedanken, die mich an der Georg Simon Ohm Hochschule in Nürnberg durch diese zwei Jahre zum Master of Software Engineering und Informationstechnik begleitet haben.

Christof Konstantinopoulos

Flow Design - Ergebnisse der Umfrage

Samstag 11 August 2012 at 10:17 pm

Die Umfrage ist beendet.

Einen herzlichen Dank an alle 14 Teilnehmer.

Eine statistische Auswertung macht bei dieser geringen Anzahl zwar keinen Sinn, aber dennoch möchte ich die Antworten nicht einfach verschwinden lassen.

Hier gehts zur Auswertung ...

(mehr)

Flow Design Umfrage

Montag 09 Juli 2012 at 11:55 pm

Im Rahmen meiner Masterarbeit möchte ich gerne erfassen, wie verbreitet der Flow Design Ansatz schon ist. Dazu habe ich eine kleine anonyme Umfrage (7 Fragen) Online gestellt.

Ich würde mich freuen, wenn Ihr mir ein wenig eurer Zeit schenkt und die Fragen beantwortet.

Hier geht es zur Umfrage (http://de.surveymonkey.com/s/HKRGFVT)

[Update 11.8.2012, CK] Die Umfrage ist geschlossen.

Vielen Dank im voraus!

P.S.: Wer noch mal die Grundlagen des Flow Designs nachlesen will ... einfach weiterlesen ...

(mehr)

Flow Design in der Praxis - Eure Erfahrungen erwünscht

Mittwoch 14 März 2012 at 06:39 am

Hallo Allerseits,
wie Ihr eventuell in schon in meinem XING Profil gelesen habt, studiere ich zur Zeit berufsbegleitend an der Georg Simon Ohm Hochschule in Nürnberg das Fach Software Engineering. Die Prüfungen habe ich alle geschafft, so dass ich nun mit der Masterarbeit beginnen kann. Das Thema lautet:

"Flow Design in der Praxis - Eine Studie über die Anwendbarkeit des Flow Design Konzeptes in der Softwareentwicklung."

(mehr)

Flow Design und MVVM

Donnerstag 08 März 2012 at 7:24 pm

Hier nur kurz Werbung in eigener Sache. In der dot net pro Ausgabe 4/2012 ist ein Artikel von mir zum Thema Flow Design/EBC und MVVM erschienen.

ADF - Eine Agile Methode

Donnerstag 20 Oktober 2011 at 10:47 pm

Am Mittwoch war Golo Roden zu Gast bei der .net User Group Rhein Ruhr. Sein Vortrag über ADF war sehr interessant. Da ich zur Zeit im Studium ein Scrum Projekt durchführe, war ich auf die Unterschiede gespannt.

Golo hat es sehr gut rübergebracht und genau an den Stellen, an denen ich Probleme mit dem Scrum Vorgaben hatte, löst das ADF diese sehr gut. Besonders gut gefällt mir, dass man auch als einzelner Entwickler nicht vergessen wurde.

Insgesamt ein recht stimmiges Konzept, welches man sich auf jeden Fall mal näher anschauen sollte!

http://www.agile-development-framework.net/

Von der Platine zur Runtime

Dienstag 11 Oktober 2011 at 01:12 am

Ich habe heute erst die beiden neuen Blog Einträge von Ralf Westphal gelesen. Darin beschreibt er einen Ansatz, der die EBC Platinen überflüssig macht. Da die Platinen keine Logik enthalten, kann man Sie als reine Verdrahtungsinformation ansehen. Und Programme können Informationen relativ gut verarbeiten. Also kann man die Platinen durch eine automatische Runtime ersetzen, die die Verdrahtung anhand der Informationen automatisch durchführt. Eine coole Idee.

Aber lest selbst:

http://ralfw.blogspot.com/2011/10/skalierbare-softwarebausteine-teil-1.html

http://ralfw.blogspot.com/2011/10/skalierbare-softwarebausteine-teil-2.html

Christof

EBC mit MVVM Anbindung

Mittwoch 05 Oktober 2011 at 10:26 pm

Bei dem heutigen Vortrag über die Anwendung von MVVM zusammen mit EBC ist der MVVM Teil ein wenig kurz gekommen. Aber ich hoffe dennoch, dass das Potential des Flow Design Ansatzes rübergekommen ist. Ich denke ich werde noch einen kleinen Artikel dazu schreiben und Ihn demnächst hier veröffentlichen.

Vorab erstmal der Link zu dem Artikel, den wir während des Vortrages nicht gefunden haben:
http://it-republik.de/dotnet/artikel/Tipps-und-Tricks-zum-MVVM-Pattern-3324.html

Weitere Links zu EBC und FlowDesign findet Ihr rechts in der Auflistung.

Die aktuelle Version des DeviceSimulators Quelltextes ist noch nicht Online. Aber ich bemühe mich, die Quellen in kürze Online zu stellen.

Viele Grüße
Christof Konstantinopoulos

EBC / FlowDesign Gruppe bei XING

Samstag 01 Oktober 2011 at 6:03 pm

Bei XING gibt es nun auch eine Gruppe die sich mit Flow Design und den Event Based Components beschäftigt.

Link : http://www.xing.com/net/ebcfd