.NET Blog   ·   .NET Casts   ·   .NET GUI Foren   ·   .NET BlogBook   ·   WPF Blogger   ·   visual studio one   ·   ASP.NET professional

  • ACHTUNG - NEUES BLOG

    Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
Download .NET Essentials Installer
Trickkiste

Der leidenschaftliche Programmierer

28.10.09 - Entwicklung, Diskussionen, Offline
Beitrag von Norbert Eder
  Nicht zufällig deckt sich die Überschrift dieses Beitrags mit dem Buch von Chad Fowler (nicht zu verwechseln mit Martin Fowler). The Passionate Programmer, also der leidenschaftliche Programmierer. Es gibt einige Bücher, die sich mit allgemeineren Entwicklerproblemen oder mit speziellen Methoden beschäftigen. Aber nicht alle sind zu empfehlen. In der letzten Zeit habe ich viele dieser Bücher gelesen, einige haben jedoch einen bleibenden Eindruck hinterlassen. So auch das Buch von Chad Fowler.

Worum geht es? Kurz und bündig geht es darum, wie sich ein Programmierer den Weg in seine Zukunft selbst ebnen kann. In den Tag hineinleben, täglich dieselbe Arbeit leisten und dabei auch noch glücklich sein, fällt wohl den meisten Programmierern schwer. Chad erzählt aus seinem und dem Leben anderer, bekannter IT/Software-Experten. Worauf kommt es an, welche Schritte kann man selbst setzen, um Leidenschaft zu entwickeln, diese zu stärken und somit ein erfüllteres Leben zu schaffen?

In kurzen Kapiteln (dafür sehr viele) werden die einzelnen Aspekte hinterfragt und Tipps gegeben. In vielen Fällen kamen mir die Situationen wohl bekannt vor, stehen doch die meisten Entwickler vor den gleichen Fragen und Problemen. Natürlich kann man keine 100%ige Lösung für sein eigenes Problem erwarten, doch tut eine andere Meinung durchaus gut, um den eigenen Weg zu reflektieren bzw. zu begradigen.

Den Abschluss eines jeden Kapitels bilden kleine Aufgabenstellungen, die es erleichtern sollen, das Gelesene zu verstehen und gleich in die Praxis umzusetzen. Ob diese wirklich ausgeführt werden bleibt natürlich jedem selbst überlassen, doch laden sie jedenfalls ein, sich weitere Gedanken zum Thema zu machen, die vielleicht noch weiter als das Buch gehen und somit neue Ideen, Möglichkeiten und Wege bilden.

Insgesamt ein sehr gelungenes Buch, das zwar – wie bereits erwähnt – nicht alle Fragen eines Entwicklers klären wird, aber mit Sicherheit hilft, den Blick auf das Wesentliche zu schärfen, nämlich Leidenschaft für seine Arbeit zu entwicklen und die eigenen Fähigkeiten zu stärken bzw. überhaupt herauszufinden, wo denn die eigenen Stärken tatsächlich liegen. Darauf kann jeder aufbauen und so seinen eigenen - für sich selbst idealen - Weg finden und sich optimal einbringen (sei es unselbständig oder selbständig).

Chad Fowler
Chad Fowler has been a software developer and manager for some of the world's largest corporations. He recently lived and worked in India, setting up and leading an offshore software development center. He is co-founder of Ruby Central, Inc., a non-profit corporation responsible for the annual International Ruby Conference, and is a leading contributor in the Ruby community. Chad is a contributor and editor for numerous books.

Hinweis
Bei einigen meiner Unterhaltungen kam die Frage auf, ob es denn jemand ohne einschlägige Ausbildung in der Softwareentwicklung weit bringen kann (wie auch immer der Terminus "weit bringen" zu definieren ist). Chat Fowler ist hier ein wirklich gutes Beispiel, ist er doch eigentlich Musiker ...

Wer sich für dieses Buch interessiert, findet einige Leseproben unter http://www.it-fachportal.de/5885 und kann sich selbst einen eigenen Eindruck verschaffen.

  3 Kommentare - 604 mal angesehen   |  1 Trackbacks   |  Permalink  |  Trackback-URL


Was der Bogensport mit Softwareentwicklung zu tun hat ...

25.10.09 - Entwicklung, Diskussionen, Qualitätsmgmt.
Beitrag von Norbert Eder
 Seit nun mehr als einem Jahr gehe ich in meiner Freizeit dem Bogensport nach. Weit entfernt ein Experte in diesem Sport zu sein, hat mich dennoch die Faszination dieses Sports erreicht. Anfangs als Ruhepol, quasi als Ausgleich, zu stressreichen Zeiten angesehen, tun sich mit Fortdauer des Trainings einige Parallelen zur Programmierung auf.

Während Experten danach trachten, mit jedem Schuss das „Gold“ zu erreichen steht für mich im Vordergrund, eine gute Grundleistung abzurufen und alle Pfeile eng beieinander ins Ziel zu bringen. Können alle Pfeile eine Schussserie im „Gold“ platziert werden, wäre dies natürlich das Optimum – die beste aller möglichen Lösungen. Tatsächlich kann es aber auch schon als gute Leistung angesehen zu werden, alle Pfeile eng beieinander in die 8er zu senden. Alle im 8er zu versenken, jedoch verteilt über den gesamten Ring wäre hingegen keine besonders gute Leistung, sondern eher dem Glück zuzuschreiben. Warum?

Sind alle Pfeile eng beieinander muss nur eine kleine Korrektur vorgenommen werden und sie alle können im höchsten Ziel platziert werden. Können die Pfeile jedoch nicht angrenzend gereiht werden, wird es zunehmend schwieriger, dies zu tun.

Die Quintessenz daraus ist, dass zu Beginn des Trainings nicht das Erreichen vieler Punkte ausschlaggebend ist, sondern vielmehr die enge Platzierung der Pfeile, egal wohin. Ist dieser Schritt getan, können weitere Verbesserungen vorgenommen werden. Zu dieser Fähigkeit müssen weitere entwickelt werden:

Automatisierung der Abläufe: Wer sämtliche Abläufe verinnerlicht und automatisiert, muss sich darüber keine Gedanken machen. Es geschieht einfach automatisch. Übrig bleibt, sich voll auf das eigentliche Ziel konzentrieren zu können. So verhält es sich auch in der Softwareentwicklung. Nur wer seine Werkzeuge kennt und sie verinnerlicht, hat den Kopf für die eigentliche Lösung eines Problems frei. Nur wer nicht die Feinheiten hinterfragen muss, kann einen Überblick über das Gesamte erlangen und so seine Fähigkeiten voll ausspielen.

Konzentration: Dies ist wohl eine der wichtigsten Fähigkeiten des Bogensports. Wer sich nicht konzentrieren kann (aus welchen Gründen auch immer), wird weder den richtigen Zeitpunkt finden, den Pfeil loszulassen ( zu releasen), noch einen geschmeidigen Bewegungsablauf erreichen. Das Erfassen des Zieles wird extrem schwierig, wenn nicht gar unmöglich. Die täglichen Anforderungen an einen Entwickler erfordern ebenfalls ein gehöriges Maß an Konzentrationsfähigkeit. Wir sind ständig von äußeren Einflüssen (Lärm, Anfragen, Emails, Messenger, etc.) umgeben. Diese müssen über einen notwendigen Zeitraum ausgeblendet werden können. Nur so ist es möglich, sich auf das Wesentliche zu beschränken bzw. dieses überhaupt erst ins Licht zu rücken. Wer schon einmal mit dem Bogensport (oder einer ähnlichen Sportart) in Berührung gekommen ist weiß, dass das Training eigentlich sofort abgebrochen werden kann, wenn die Konzentration nicht stimmt bzw. diese nicht geschaffen werden kann.

Genauigkeit: Schon mal versucht, ohne genau zu sein, das Gold zu treffen? Vielleicht auch getroffen? Zufall. Wer keine Genauigkeit an den Tag legt (angefangen bei der Körperhaltung, dem Bewegungsablauf, der Konzentration, etc.) wird keine beständige Leistung bringen. Allenfalls basieren Erfolge auf Glück. Darauf kann man sich nicht verlassen, möchte man eine solide Leistung über einen langen Zeitraum erbringen. In der Softwareentwicklung spielt Genauigkeit ebenfalls eine große Rolle. Im Gegensatz zum Bogensport können die meisten Softwareentwickler davon ausgehen, dass keine Menschenleben in Gefahr sind. Nichts desto trotz müssen Anforderungen korrekt umgesetzt, Qualität hochgehalten und Termine eingehalten werden. Dies kann nur durch ein ausreichendes Maß an Genauigkeit erreicht werden.

Der Verzicht auf die notwendige Konzentration und Genauigkeit kann beim Bogensport – wie bereits erwähnt - schnell ein Menschenleben kosten. Im geringsten Fall entstehen Materialkosten. Diese sind nicht zu unterschätzen. Ein verirrter Pfeil der Mangels an Konzentration abgeschossen wurde, fällt sehr schnell Hartholz, Beton, Steinen oder anderen Hindernissen zum Opfer. Bedenkt man die verhältnismäßig hohen Kosten eines Pfeiles rentiert es sich nicht, unkonzentriert diesem Sport nachzugehen. Pro Trainingssession zwei zerstörte Pfeile á 10 Euro ergeben 20 Euro Minus pro Trainingseinheit. Unter der Annahme, dass pro Woche zweimal trainiert wird, entstehen im Jahr dadurch Kosten von über 2000 Euro. Sehr viel für ein Hobby. In der Softwareindustrie können Fehler, nicht eingehaltene Termine etc. ebenfalls ungeahnte Kosten verursachen. Angefangen von kostenlosen Fehlerbehebungen (Personalkosten, es könnte an anderen, lukrativen Projekten gearbeitet werden), Pönalezahlungen für nicht eingehaltene Termine bis hin zum Konkurs des Unternehmens – und somit der Verlust des eigenen Jobs - ist alles möglich. Ein sehr hoher Preis.

Natürlich kann man daraus nur sehr schwer Regeln für die Allgemeinheit abbilden. Für mich konnte ich mit auf den Weg nehmen, dass das Einhalten kleiner Regeln, angelehnt an mein Hobby, die Arbeitsleistung erheblich steigern kann. Jeder muss seinen eigenen Weg finden, mit bestimmten Situationen umzugehen, ein Ausgleich tut jedoch immer gut, gibt Kraft für schwere Zeiten und hilft, Probleme aus einem anderen Licht zu betrachten.

  Kommentar hinzufügen   |  1 Trackbacks   |  Permalink  |  Trackback-URL


.NET Open Space Wien 2009

08.10.09 - .NET, Internet, Community
Beitrag von Norbert Eder
  Die besten Gespräche hat man fernab von einer festgelegten Agenda, bei einem Kaffee und beim "du". Hier gibt es keine Rollenaufteilung in Sprecher / Zuhörer, Entwickler / Administrator, Softwareentwickler / Projektmanager usw. und die Themen finden sich vor Ort ganz von selbst. Das ist die Idee vom .NET Open Space Wien: Alle sind gleich! Auch die Organisatoren halten sich im Hintergrund und moderieren nur wenig. Themenfelder sind unter anderen: .Net, Alt.Net, und Soft Skills.

Welche Inhalte in den einzelnen Themenfeldern bearbeitet werden, bestimmst du vor Ort, denn die Veranstaltung ist Open Space! Die Teilnahme ist kostenlos. Erfahrungsaustausch ist das A und O und steht im Vordergrund. Die Sprache beim .NET Open Space Wien 2009 ist Deutsch. Mehr gibt's nicht zu sagen. Erlebe die "Unkonferenz", die sich auf Erfahrungsaustausch konzentriert. Nimm daran teil! Abonniere jetzt einfach unseren Newsletter dazu.

Die Veranstaltung ist zweitägig und findet im Microsoft Innovation Center in Wien am 5. und 6. Dezember statt. Die Anmeldung funktioniert ganz einfach über das Wiki, welches unter http://wien.netopenspace.de/2009/MainPage.ashx erreichbar ist.

Wenn Du jemanden kennst, der als Sponsor auftreten will oder Du selbst etwas zum Erfolg der Veranstaltung beitragen willst, dann melde Dich bitte einfach bei Mario Meir-Huber (mario@meirhuber.de) oder Norbert Eder (csharp@gmx.at). Eine Übersicht der aktuellen Sponsoren und der Sponsor-Möglichkeiten sind auf der Sponsoren-Seite zu finden.

  1 Kommentar - 1155 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Commands aus ListView ausführen

19.09.09 - .NET, WPF
Beitrag von Norbert Eder
 Mit Hilfe einer ListView ist es einfach möglich, Daten aus einer Datenquelle darzustellen. Dazu ist lediglich die Eigenschaft View zu definieren. Durch die Angabe von GridViewColumn Elementen und dem dazugehörigen DisplayMemberBindings werden die Daten aus der zugewiesenen Datenquelle auch schon angezeigt.
<ListView ItemsSource="{Binding MyOpenTickets}" BorderThickness="0" Margin="4">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Id" 
                            DisplayMemberBinding="{Binding Id}"/>
            <GridViewColumn Header="Name"
                            DisplayMemberBinding={Binding Name}/>
            <GridViewColumn Header="Version" 
                            DisplayMemberBinding="{Binding Version.Name}"/>
            <GridViewColumn Header="Status" 
                            DisplayMemberBinding="{Binding State}"/>
        </GridView>
    </ListView.View>
</ListView>

Eine Anforderung ist nun sehr oft, dass die angezeigten Daten in einem Detailfenster geöffnet werden sollen. Dazu muss - idealerweise - ein Command untergebracht werden. Dies kann durch die Angabe eines CellTemplates bewerkstelligt werden.
<ListView ItemsSource="{Binding MyOpenTickets}" BorderThickness="0" Margin="4">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Id" 
                            DisplayMemberBinding="{Binding Id}"/>
            <GridViewColumn Header="Name" 
                            CellTemplate="{StaticResource TicketClickableButton}"/>
            <GridViewColumn Header="Version" 
                            DisplayMemberBinding="{Binding Version.Name}"/>
            <GridViewColumn Header="Status" 
                            DisplayMemberBinding="{Binding State}"/>
        </GridView>
    </ListView.View>
</ListView>

In der zweiten GridViewColumn-Definition wird das CellTemplate definiert. Zu beachten ist an dieser Stelle, dass kein DisplayMemberBinding angegeben werden darf. Hier nun das verwendete Template:
<DataTemplate x:Key="TicketClickableButton">
    <Button Command="{Binding OpenTicketCommand}" 
            Content="{Binding Name}" 
            Style="{StaticResource ProjectLinkButton}" />
</DataTemplate>

Das Template stellt eine einfache Schaltfläche dar, welche an einen Command gebunden ist. Zusätzlich wird an der Schaltfläche das Binding definiert.

Eine mögliche Umsetzung kann so aussehen:


  2 Kommentare - 937 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


.NET BlogBook wieder verfügbar

29.08.09 - Blog-Intern, .NET, Grundlagen, Base Framework, WPF, ASP.NET, Silverlight, Internet, Community
Beitrag von Norbert Eder
 Wie auch mein Blog waren einige meiner Websites lange Zeit nicht online (bzw. sind es teilweise noch immer). Dies wird sich nun - durch einen Wechsel - wieder ändern.

Den Anfang macht dotnet-blogbook.com. Die Site steht ab sofort wieder zur Verfügung - jedoch noch nicht alle Downloads. Alle BlogBooks bis inklusive Version 3 können herunter geladen werden. Die weiteren Ausgaben werden in den kommenden Tagen hinzugefügt und stehen dann wie gewohnt zur Verfügung.

Gerade zum BlogBook habe ich sehr viele Anfragen bekommen. Das Projekt wird weitergeführt und es wird auch wieder aktualisierte Versionen geben.
  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Silverlight 3 ist da!

10.07.09 - .NET, Silverlight
Beitrag von Norbert Eder
 Weitere Informationen gibt es unter http://www.seethelight.com/. Zusammen mit Silverlight 3 gibt es auch Expression 3.
  2 Kommentare - 571 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Neuer Artikel: Validierung unter WPF

02.07.09 - .NET, WPF, Silverlight
Beitrag von Norbert Eder
  In der aktuellen Ausgabe der Visual Studio One findet sich mein neuester Artikel Validierung unter WPF.

Intuitive Anwendungen weisen den Benutzer auf Fehleingaben hin. Idealerweise geschieht dies direkt in der UI, frühzeitig, ohne lange Wartezeiten. Zusätzlich ist es notwendig, Daten in der Businesslogik auf Korrektheit und Vollständigkeit zu prüfen. Norbert Eder diskutiert die Validierungsmöglichkeiten im Rahmen der Windows Presentation Foundation.

Weitere Informationen finden sich auf der Homepage von Visual Studio One.
  Kommentar hinzufügen   |  1 Trackbacks   |  Permalink  |  Trackback-URL


Glückwunsch zum Microsoft MVP 2009!

01.07.09 - Blog-Intern, .NET, WPF, Silverlight, Internet, Community
Beitrag von Norbert Eder
 Herzlichen Glückwunsch! Wir freuen uns, Ihnen den Microsoft® MVP Award 2009 verleihen zu können! Diese Auszeichnung wird an herausragende, führende Mitglieder der technischen Communities verliehen, die ihre wertvollen praktischen Erfahrungen mit anderen Menschen teilen. Wir schätzen Ihren außerordentlich bedeutenden Beitrag in den technischen Communities zum Thema Client App Dev im vergangenen Jahr hoch ein.

Ein Jahr ist rum und auch dieses Mal darf ich mich über die Verleihung des MVP Awards freuen. Dies macht Mut, so weiter zu machen und auch weiterhin mit vollem Elan, Teil dieser wunderbaren Community zu sein. Ein herzliches Dankeschön, ich fühle mich geehrt!
  7 Kommentare - 715 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Wie gut sind Bing-Ergebnisse wirklich?

12.06.09 - Internet, Community
Beitrag von Norbert Eder
 In den letzten Tagen habe ich total auf Bing gesetzt. Die Ergebnisse sind gefühlt gut. Aber sind sie das auch wirklich? Auf einen einfachen und schnellen Vergleich hat mich das MSDN Austria Team aufmerksam gemacht: http://blindsearch.fejus.com/.

Einfach den gewünschten Suchbegriff eingeben und die Ergebnisse von Bing, Google und Yahoo werden in drei Spalten nebeneinander aufgelistet. Ein direktes Vergleichen wird also leicht gemacht. Der Clou: Im ersten Moment erfährt man nicht, welche Ergebnisse von welcher Suchmaschine geliefert werden. Erst nach der Abgabe eines Tipps (welche Ergebnisse stammen von Bing?) erhält man die Auflösung.

Kleiner Hinweis: Man kann sich durchaus täuschen :)

  1 Kommentar - 512 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Artikel: Silverlight wird erwachsen

07.06.09 - .NET, Silverlight
Beitrag von Norbert Eder
  In der aktuellen Ausgabe der Visual Studio One befindet sich von mir der Artikel Silverlight wird erwachsen

Eine Flut an neuen Versionen hat sich auf uns ergossen. Darunter finden sich auch neue Beta-Versionen zu Silverlight 3 und Expression Blend 3. Mit diesem Gespann können Sie ultimative Silverlight-Anwendungen entwickeln. Aber wie gut ist Silverlight 3 wirklich? Dieser Artikel stellt die Neuerungen vor und diskutiert einige interessante Aspekte.

Weitere Informationen finden sich auf der Homepage von Visual Studio One.
  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL



Zurück Weiter