# Saturday, August 22, 2009

stackoverflow nun auch auf deutsch

Ja, es gibt eine deutsche Version von stackoverflow.com: codekicker.de

Laut der Seite selbst existiert codekicker.de seit circa einem Monat. Und ist im Grunde ein stackoverflow-Klon. Klaus findet es eine Bereicherung der deutschen .NET-Community, ich halte es eher für eine Separation, da alle Fragen von codekicker nur der deutschsprachigen, nicht jedoch der weltweiten .NET-Community zur Verfügung stehen. Und die Sprache der weltweiten Community ist nun einmal Englisch. Daher ist codekicker aus meiner Sicht überflüssig. Jedenfalls so lange, bis mir die Suchmaschine meines Vertrauens als Treffer einen Link zu codekicker präsentiert und keinen zu Stackoverflow.

Saturday, August 22, 2009 1:48:00 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [0] | Trackback
# Thursday, August 06, 2009

WaitOne(Int32) erzeugt MissingMethodException

Heute bin ich über ein Problem gestolpert, das mich etwas schockiert hat. Wir setzen NUnit in Verbindung mit CruiseControl für den Test eines Embedded Systems ein. Die NUnit-Test werden mit .NET 3.5 entwickelt. Um mit dem Device kommunizieren zu können, gibt es ein proprietäres Netzwerkprotokoll, für das wir eine .NET-API entwickelt haben. Diese API wird gegen .NET 2.0 und .NET CF 2.0 kompiliert.

In meiner letzten Erweiterung der API habe ich unter anderem eine Ressource mit einem Mutex verriegelt. Der anschließende Entwicklertest verlief unauffällig, sodass die neue API sozusagen “RTM” wurde und an den Testentwickler ging, der die neuen Tests gegen die API programmieren sollte. Dabei stolperte er relativ schnell über eine MissingMethodException. Interessant war, dass dies durch den Aufruf von Mutex.WaitOne(Int32) hervorgerufen wurde. Darauf konnte ich mir nun gar keine Reim machen, da diese Funktion so vertraut schien. Ist sie aber nicht.

Mutex.WaitOne(Int32) ist eine neue Überladung der Funktion WaitOne(). Bisher gab es diese ohne Parameter, WaitOne(), oder mit zweien, WaitOne(Int32, Boolean) und WaitOne(TimeSpan, Boolean). Die Überladungen WaitOne(Int32) und WaitOne(TimeSpan) sind erst mit dem Service Pack 1 für .NET 3.5 hinzugekommen. Prinzipiell sollten sie damit auch nur in.NET 3.5 verfügbar sein. In .NET 2.0 sind sie nun deshalb enthalten, weil die WaitHandle-Klasse im Namensraum System.Threading untergebracht ist, der in mscorlib enthalten ist. Diese Assembly liegt nur in der Version 2.0 vor. So lange also .NET 3.5 SP1 installiert ist, ist alles ok. Wenn nicht, ist das jedoch nicht so schön, da man während der Entwicklung den Fehler nicht bemerkt.

Hoffentlich ist das der einzige Fallstrick, der durch .NET 3.5 SP1 für .NET 2.0-Entwicklungen gelegt wurde. Oder kennt jemand andere?

Thursday, August 06, 2009 7:47:00 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [0] | Trackback
# Monday, July 20, 2009

Antwort auf die “Klage eines ungebackenen Entwicklers”

Ralf Westphal hat kürzlich einen Kommentar auf einen seiner dotnetpro-Artikel veröffentlich. Ich habe den Artikel noch nicht gelesen, allerdings möchte ich hier kurz Stellung zu dem Kommentar und Ralfs Antwort nehmen.

Ralf schreibt, dass er nicht verstehen kann, warum Betriebe Missstände in der Ausbildung, genauer der Berufsschule, nicht erkennen. Aus meiner Sicht liegt dies nicht nur darin begründet, dass in der Berufsschule keine “Experten” vorhanden sind. Dies wird sich wahrscheinlich von Schule zu Schule und auch von Lehrer zu Lehrer unterscheiden. Ich sehe das Problem viel mehr bei der Instanz, welche die Lehrpläne erstellt.

Ich erinnere mich daran, dass meine Berufsschullehrer immer sagten, die Schule habe auch eine allgemeinbildenden Lehrauftrag. Somit standen auch Sport, Religion oder Deutsch auf dem Plan. Im eigentlichen Lehrplan werden darüber hinaus ebenfalls Kenntnisse gefordert, die mit dem eigentlichen Beruf nichts zu tun haben. Wie man den Müll trennt, ist meines Erachtens nach nicht unbedingt ein Thema, was in einer Berufsausbildung thematisiert werden muss. Dies sollte eigentlich vom Elternhaus erledigt werden. In dieser Art sind einige Punkte im Lehrplan enthalten, die auf die (Berufs-)Schule “abgeschoben” wurden.

Dass die Ausbildungsbetriebe die Missstände nicht erkennen, möchte ich noch nicht einmal unterstellen. Ich sehe viel mehr eine Resignation in den Betrieben, da eine Einflussnahme nur sehr eingeschränkt möglich ist. Diese Einflussnahme wird dadurch erschwert, dass die Betriebe oftmals nur eine sehr geringe Anzahl Auszubildender in die Berufsschulen entsenden. Ich persönlich habe eine sehr gute betriebliche Ausbildung genossen, hatte einen sehr engagierten Ausbilder und auch einen Ausbildungsbetrieb, der immer wieder mit der lokalen IHK in Kontakt getreten ist, um auf grobe Missstände hinzuweisen. An den Ausbildungsinhalten selbst ist jedoch für einen mittelständischen Betrieb mit damals knapp 60 Mitarbeitern nichts zu ändern. Diese werden von den großen Betrieben, der Telekom und der Lufthansa, mit maßgeblich beeinflusst, wenn nicht gar diktiert. Und so richten sich hinderte Betriebe nach den Vorgaben einiger weniger. So lange dieser Missstand existiert, kann die betriebliche Ausbildung nicht das leisten, was man eigentlich von ihr erwarten sollte.

Natürlich steht es jedem Ausbildungsbetrieb frei, seine Azubis nicht in die Berufsschule zu entsenden, sondern sie selbst “vollständig” auszubilden. Aber oftmals bleiben dabei einige Themen aus der Strecke, die einen Großteil der Prüfung ausmachen, die weiterhin nur vor der IHK abgelegt werden kann. Welche kleine IT-Bude kann seine Azubis schon umfassend in die Warenwirtschaft einführen? Welcher Ausbilder ist in der Lage, seinen Schützlingen eine Mindestlagermenge oder eine chaotische Lagerung zu beschreiben? Welcher Betrieb hat überhaupt die Möglichkeit, einen Ausbilder so weit freizustellen, dass er den schulischen Part der Ausbildung übernehmen kann. Dies alles sind Probleme, die ein kleines oder mittelständisches Unternehmen an die Berufsschule binden, bei der sie ebenfalls nicht das Gewicht haben, eine “sinnvollere” Ausbildung einzufordern.

Monday, July 20, 2009 8:44:00 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [2] | Trackback
# Tuesday, June 23, 2009

Hanselminutes on stackoverflow.com

Well, I’m quite a bit behind, but I’m keeping up. I just listened to the two shows on Hanselminutes with the guys from stackoverflow.com (show 134, Scotts blog post for 134, and show 135 and the corresponding blog post). These shows were awesome. For me it was kind of kick in the butt not to read every piece of information I find about programming but to do at least anything. Besides that the way the topics were handled were awesome in these shows. I would appreciate getting more of those shows.

Tuesday, June 23, 2009 9:02:00 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [0] | Trackback
# Monday, June 22, 2009

Visual Studio 2008 stürzt nach Änderung des Fensterlayouts ab

Gerade bin ich über einen Fehler in VS 2008 gestolpert. Wenn man dort das Fensterlayout ändert, kann dies dazu führen, dass sich, um es mal positiv auszudrücken, die Laufzeit erheblich verkürzt. Durch Zufall bin ich über das Feature "Get help for this error" des ErrorReports darauf gestoßen, dass die Ursache die Änderung am Fensterlayout ist und es bereits einen Hotfix gibt:

Monday, June 22, 2009 12:23:23 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [0] | Trackback
# Wednesday, May 27, 2009

Stellungnahmen zur Internet-Zensur

Der deutsche Bundestag hat die Stellungnahmen verschiedener Organisationen und Verbände zur bereits vertraglich am Gesetz vorbei festgelegten Zensur des Internet veröffentlicht. Besonders hervorheben möchte ich hier einen Satz aus der Stellungnahme des BKAs:

In Dänemark und Norwegen wird die Einschätzung des Bundeskriminalamtes geteilt, dass
das World Wide Web den Einstieg für die Nutzung des Internet darstellt. [..]

Wednesday, May 27, 2009 6:08:00 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [0] | Trackback
# Monday, May 11, 2009

.NET Micro Framework wird Open Source

Es tickern seit einigen Tagen ein paar Gerüchte durch das Netz, dass Microsoft den Quellcode des .NET Micro Framework an die Community übergeben und sich selbst aus der Entwicklung zurückziehen will. Die entsprechenden Entwickler sollen in das Server and Tools Department übernommen werden, sofern sie nicht das Unternehmen komplett verlassen müssen.

Ich bin mir noch nicht vollkommen sicher, was ich von dieser Entwicklung zu halten habe. Ich habe bereits vor dem Erscheinen der Version 2.0 das Thema in der Firma angesprochen, da wir gerade daran waren, ein größeren Embedded-Projekt aufzulegen. Damals haben sich die Entscheidungsträger gegen das .NETMF entschieden, da es erst sehr kurz auf auf dem Markt ist und es sich somit auch nur um eine Modeerscheinung handeln kann. Wenn nun das Projekt in die OpenSource-Gemeinde übergeht, könnte für einige Firmen nun das Problem des fehlenden Herstellers (in rechtlicher wie technischer) Sicht ein Problem werden. Andererseits wird durch dieses Vorgehen das Framework wahrscheinlich schneller entwickelt und sich auch eher verbreiten. Dabei kann es jedoch passieren, dass sich die schnellere Entwicklung negativ auf das Produkt auswirkt.

Ich schätze, die Zeit wird zeigen, wie es weiter geht. Und solange die Zukunft des .NETMF nicht geklärt oder wenigsten klar abzusehen ist, ist jede Firma gut beraten, das Ganze mit Vorsicht zu genießen.

Semioffizielle Statements des .NETMF-Teams (dort wird auf nachfolgende offizielle Statements verwiesen, die jedoch noch nicht erschienen sind):

.NET MF moves to Developer Division
.NET Micro Framework evolution

Einige Reaktionen aus dem Netz:

Microsoft to turn .Net Micro Framework code, support over to the community

.NET Micro Framework Future (not a dead project!!)

.NET MF moves to Developer Division

Microsoft Will Open Up .NET Micro Framework Source Code

.NET Micro Framework könnte Open Source werden

Monday, May 11, 2009 6:35:00 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [0] | Trackback
# Thursday, May 07, 2009

Kleine, aber feine Einführung in Lambda-Expressions

Wolfgang Kluge hat eine sehr schöne Einführung in Lambda-Expressions in seinem Blog gehirnwindungen.de veröffentlicht. Die habe sogar ich als “immer noch” .NET 2.0-Entwickler auf Anhieb verstanden. Und es ist sogar im Gegensatz zu einigen Fachartikeln in verschiedenen einschlägigen Magazinen etwas hängen geblieben.

Thursday, May 07, 2009 7:12:00 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [0] | Trackback
# Tuesday, May 05, 2009

Das Copy-Paste-Syndrom

Bereits seit einiger Zeit beobachte ich, dass in verschiedenen Blogs zu einem gemeinsamen Thema einzelne Nachrichten in jedem Blog auftauchen. Prinzipiell ist das ja eine begrüßenswerte Sache, da sich die Nachrichten somit verbreiten. Nicht ganz so begrüßenswert finde ich es jedoch, wenn sich einige dieser “Themen-Blogs” zu Gemeinschaften vereinigt haben, bei der die RSS-Feeds der Einzelblogs zu einen “Themen-Feed” zusammengefasst werden. Dies ist zum Beispiel so bei itproblogs oder auch dotnetgermanbloggers, zwei dieser Themen-Blogs, die ich abonniert habe. Blogger, die ihren RSS-Feed in solche Themen-Feeds speisen, sollten, ginge es nach mir, erst mal im Themen-Feed nachschauen, ob eine Nachricht, die sie nun verbreiten wollen, nicht eventuell schon den Weg in den Feed gefunden hat. Somit ließe sich das vermeiden, was gerade kürzlich wieder mit Windows 7 aufgetreten ist. Eine kleine Auflistung:

itproblogs

24.04.2009 10:35 Uhr Dieters Forefront Blog - Windows 7 Release Candidate Zeitplan

25.04.2009 11:33 Uhr FAQ-O-MATIC - Windows 7: Der RC kommt! Nee – doch?!

24.04.2009 14:20 Uhr Volkan's Blog - Windows 7 Release Candidate kommt noch diesen Monat!

26.04.2009 10:58 Uhr Schweizer IT Professional und TechNet Blog - Windows 7 Release Candidate Verfugbarkeit

27.04.2009 12:14 Uhr .: Daniel Melanchthon :. - Windows 7 Release Candidate ab 30. April in TechNet und MSDN

27.04.2009 18:20 Uhr TechNet Team Blog Austria - Windows 7 Release Candidate Download im TechNet-Abo

30.04.2009 Blog für Microsoft Partner - Windows 7 RC, Windows Server 2008 SP2, Windows Vista SP2 sind fertig

30.04.2009 13:37 Uhr TechNet Team Blog Austria - All the boys love Windows 7 RC1…der Countdown läuft

30.04.2009 15:04 Uhr FAQ-O-MATICDer RC ist verfügbar für Abonnenten!

30.04.2009 08:14 Uhr Exchange, Security and Active Directory - Release Candidate für Windows 7 verfügbar

30.04.2009 15:34 Uhr SECURITY-BLOG.EU - Windows 7 und Windows 2008 R2 Release Candidates sind verfügbar

30.04.2009 15:46 Uhr Cluadmin.de - Windows 7 RC verfügbar

04.05.2009 16:42 Uhr Ralf Schnell's Blog zu Windows Server 2008, Virtualisierung, ITIL/MOF und HPC - Windows 7 und Windows Server 2008 R2: Release-Kandidat verfügbar!

05.05.2009 09:57 Uhr TechNet Team Blog Austria - Laden Sie Windows 7 Release Candidate herunter

05.05.2009 11:37 Uhr .: Daniel Melanchthon :. - Windows 7 Release Candidate zum Herunterladen freigegeben

dotnetgermanbloggers

27.04.2009 6:55 Uhr Christian Binder's Weblog - Windows 7 Release Candidate Update

27.04.2009 14:13 Uhr MSDN Österreich Blog - Windows 7 RC erscheint Anfang Mai

30.04.2009 15:38 Uhr Silverlight-City - Windows 7 in der letzen Aufwärmphase vor dem Start. Download für MSDN und TechNet verfügbar.

30.04.2009 19:20 Uhr Giza-Blog.de - Download: Windows 7 RC | Vista SP2 RTM

Das ist Blogspam! Das muss nun wirklich nicht sein. Bitte denkt auch einen Moment an Eure Leser. Sie werden es euch danken.

Tuesday, May 05, 2009 8:58:00 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [0] | Trackback
# Monday, May 04, 2009

Geldautomat ausschalten

Geldautomat ausschalten

Die Technik schafft es immer wieder, mein Leben zu “bereichern”. Wenn auch nicht ganz auf die geplante Art und Weise.

Monday, May 04, 2009 7:48:00 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [0] | Trackback