.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

IPhone, Ängstlichkeit und Mobilität ...

20.11.08 - Offline, Konferenzen, Tech. Summit 2008
Beitrag von Norbert Eder
 Die Mittagspause wurde nicht nur zum Essen genutzt. Nein, auch Networking ist ein großer Bestandteil. Dabei ist mir jedoch eine Sache aufgefallen:

Eine Microsoft-Veranstaltung und jede Menge Apple-Produkte sind hier anzufinden. Wo der eine noch versucht dieses nicht ganz auffällig zu nutzen oder gar gänzlich zu verstecken (verräterische Klingelton wird abgestellt etc.), tragen andere ihre Spielerei ganz offen zur Schau.

So ganz nebenbei ist es schon sehr stark zu sehen, dass kleine, höchst mobile Geräte immer weiter im Vormarsch sind. Ein Trend, dem sicherlich nicht nur Techniker verfallen.

Das, was mich aber eigentlich stört: Die Geräte werden mobiler, bringen mehr Power, erweitern die Möglichkeiten ungemein, aber eingebremst wird dieses Vergnügen auf jeden Fall durch Telefonanbieter und Co.

99% der Teilnehmer dürften wohl selbst aus Deutschland kommen. Für mich als Österreicher ist die Mobilität schon etwas eingeschränkt, zumal ich gewisse Features natürlich auch nutzen könnte, die aber sehr schnell ins Geld gehen. Wer es sich leisten möchte, ok. Ich will das nicht. Vielmehr sehe ich in den Telefonanbietern eine massive Einschränkung. Neue Konzepte (man bedenke, dass die meisten Telefonanbieter in zahlreichen Ländern vorhanden sind und daher eigene Infrastruktur nutzen können) würden hier definitiv zu höhrerer Mobilität führen und auch zu zusätzlichen Umsätzen.

Aber das bleibt wohl Wunschdenken ...

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


Keynote Technical Summit 2008

20.11.08 - Offline, Konferenzen, Tech. Summit 2008
Beitrag von Norbert Eder
 Unter dem Motto Internet ist wie Sauerstoff – Internet füllt alles gleichmäßig aus - startete die Keynote von und mit Frank Fischer. Hauptpunkt war hier natürlich Windows 7 und Windows Live. Hervorgehoben wurde die neue Sensor-API (Beschleunigungssensor, 3D, GPS, Höhenmessung etc.), welche Bestandteil der gesamten Plattform ist.



Weiter war natürlich Windows Azure ein großes Thema. Verringerte Anpassbarkeit, dafür höchste Skalierbarkeit. Eine Anforderung, die immer häufiger anzutreffen ist und daher die Entwicklung von Azure notwendig machte.

Zum Thema Skalierbarkeit gab Frank Fischer auch ein paar Daten von Microsoft bekannt, die ich hier nicht unerwähnt lassen möchte:

Microsoft fügt seinen Rechenzentrum monatlich 10.000 Server hinzu. Dies soll auf 20.000 pro Monat erweitert werden. Dafür nutzt Microsoft Container mit 2.500 Servern. Versorgt werden diese mit Kühlwasser, Internet und Strom. Erst wenn eine bestimmte Anzahl an Servern kaputt ist, wird Container ausgetauscht.

Das war ein erster WOW-Effekt.

Weitere Vorträge wurden von Steve Teixeira und Patrick Baudisch gehalten.

Steve Teixeira - Parallel Computing for All!


Steve startete mit einem sehr interessanten Chart: Die Entwicklung der Hitze, die CPUs entwickeln. Durch einen extremen Anstieg muss hier eine Lösung gefunden werden. Eine Möglichkeit ist die Verwendung von Parallel Computing.



Eine interessante Demonstration zeigte den Unterschied zwischen LINQ und PLINQ (Parallel LINQ, verfügbar in .NET 4.0). Während eine Abfrage mit LINQ 17,94 Sekunden benötigte, konnte die PLINQ-Abfrage in knappen 1,1 Sekunden ausgeführt werden. Schon ein sehr beeindruckendes Ergebnis.

Der Unterschied zwischen normalen LINQ-Abfragen im Gegensatz zu PLINQ-Abfragen wird durch ein simples AsParallel() abgebildet. Es müssen keine Threads etc. berücksichtigt werden. Das was zu tun ist: Der Code muss grundsätzlich parallelisierbar sein.

Die zweite Demo wurde durch Parallel Morph dargestellt. Der erste Versuch wurde sequentiell durchgeführt. Die aufwändigen Berechnungen zeigten sehr schnell, dass man schon einige Minuten auf das Ergebnis zu warten hat. Der zweite Durchlauf (4 Cores) wurde parallel durchgeführt: Hier konnten einige Vorteile aufgezeigt werden. Der letzte Versuch mit 24 Core Einige Sekunden. Sehr beeindruckend.

Patrick Baudisch - Very small Mobile Devices


Kleine Geräte werden immer wichtiger – Mobilität ist alles. Patrick Baudisch stellte einige Dinge vor, die es einfacher machen, mobil Anwendungen etc. zu steuern. Ein Beispiel dazu wurde mit soap gezeigt. Eine umgebaute Maus, die das Mousepad bereits inkludiert hat und somit ohne eine Unterlage (Tisch etc.) auskommt und verwendet werden kann.



Halo ist auch eine sehr nette Sache: Anstatt der Anzeige von Pfeilen auf einer Landkarte werden Kreise am Rand des Bildschirms angezeigt. Je nach Krümmung des Kreises kann entschieden werden, welcher Punkt am nächsten liegt (starke Krümmung -> nahe, kleine Krümmung -> weit entfernt). Eine sehr gute Lösung um beispielsweise nach einem Restaurant bzw. Ähnlichem zu suchen.

summary thumbnails: Anstatt einfach nur Thumbnails zu machen um diese auf kleinen Devices herzustellen, wird mit Hilfe dieser Technik eine Internet-Seite geladen und auf die Größe des Devices verkleinert. Nun könnte die Schrift nicht gelesen werden. Es wird der Objekt Model durchlaufen und überall wo Text steht, wird dieser vergrößert. Das würde schlussendlich den Rahmen sprengen, da die Seite zu lange wird. Nun wurde sich vor der Vergrößerung des Textes gemerkt, über wie viele Zeilen dieser angezeigt wurde. Nach dem Vergrößern wird dieser auf die gleiche Anzahl an Zeilen verkürzt. Dabei geht zwar Information vorbei, jedoch sollte sich die relevanteste Information zu Beginn des Textes befinden. Einfach, manchmal mit komischen Ergebnissen, aber sicherlich auch nicht schlecht.

back touch: Wie können Displays mit Fingern bedient werden? Halbtransparente Displays. Die Finger sind sichtbar und die Bedienung erfolgt hinter dem Display. Gut daran ist, dass nicht mehr der gesamte Finger zur Eingabe herangezogen wird, sondern vom System ein einzelner Punkt berechnet und angezeigt wird. Dadurch ist für den Benutzer ersichtlich wo das System seinen Druck entgegen nimmt – unabhängig davon, ob man große oder kleine Finger hat.

nano touch besteht eigentlich nur mehr aus einem Touchpad und einem Display. Damit ist es sogar möglich, einen Shooter zu spielen. An den Ecken befinden sich zusätzlich kleine Knöpfe, mit deren Hilfe zusätzliche Funktionalität verwendet werden kann.

Fazit


Eine sehr gelungene Keynote mit vielen interessanten Informationen, wenn auch vieles bereits durch die Berichte der PDC bekannt war.

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


Technical Summit 2008: Vor der Keynote

20.11.08 - Offline, Konferenzen, Tech. Summit 2008
Beitrag von Norbert Eder
 Schön langsam füllt es sich hier. Versammeln sich die Teilnehmer vorerst noch mit Vorliebe um Kaffee und Brötchen, wird sich dies bald ändern. Die Keynote steht bald am Programm.

Frank Fischer wird uns durch diese führen und zusammen mit Patrick Baudisch und Steve Teixeira sicherlich viele interessante Dinge zu erzählen haben. So werden unter anderem die Themen Very small Mobile Devices und Bringing Parallel Computing to the Masses behandelt.

Ich bin schon wirklich sehr gespannt und freue mich bereits auf die Keynote. Allen meinen Lesern wünsche ich einen guten Start in die Technical Summit 2008.

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


Technical Summit 2008: SQL Server Locking, Blocking, Deadlocks

19.11.08 - Offline, Konferenzen, Tech. Summit 2008
Beitrag von Norbert Eder
 Die Preconference ist vorbei und morgen geht es mit der Hauptkonferenz weiter. Den Abschluss machte heute der Vortrag SQL Server Locking, Blocking, Deadlocks von Siegfried Spuddig. Der aussagekräftige Titel stand auch für den Inhalt. Anschaulich wurden die Themen behandelt, Probleme dargestellt und Lösungen präsentiert.

Zwar war es kein Vortrag für Entwickler, sollte aber auch gerade für diesen IT-Zweig von Interesse sein. Zumindest ist es äußerst hilfreich, die Basis-Kenntnisse zu besitzen. Wer in seinem Unternehmen keinen eigenen DB-Admin hat, der kommt um derartiges Know-How ohnehin nicht herum. Es empfiehlt sich also für jeden Entwickler (und wir arbeiten täglich mit Daten), sich damit zu beschäftigen.

Das war es vom heutigen Tag. Morgen stehen wieder einige interessante Vorträge auf dem Programm, über die ich dann natürlich auch wieder berichten werde.

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


Technical Summit 2008 / Preconference

19.11.08 - Offline, Konferenzen, Tech. Summit 2008
Beitrag von Norbert Eder
 Heute findet die Preconference des Technical Summits statt. Also quasi die Aufwärmrunde für die Hauptkonferenz. Auf dem Programm stehen Vorträge zu den Themen Python, Team Foundation Server und SQL Server. Zudem finden sich auch Vorträge zur Migration von VB/C++ nach .NET.

Für mich ist heute ja nicht besonders viel Interssantes dabei. Am Vormittag habe ich mir den Vortrag von Klause Rohe (Microsoft) zum Thema Softwareentwicklung mit Python auf Windows angesehen. Die Vorträge von Neno Loje zum Thema Team Foundation Server habe ich bereits gesehen und stehen daher nicht vorne auf meiner Liste. Dafür werden es die nächsten Tage in sich haben.

PS: Zum Thema ICC werde schreibe ich mal nichts, dazu hatten bereits meine Blogger-Kollegen genügend Kommentare als auch Fotos gepostet. Wer sich dafür interessiert sollte einfach auf die Live Blogging Seite des Technical Summits sehen.

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


Top informiert vom Technical Summit

11.11.08 - Blog-Intern, Internet, Community, Offline, Tech. Summit 2008
Beitrag von Norbert Eder
 Nächste Woche steigt ja das Technical Summit 2008. Viel Interessantes wird es zu berichten geben. Nicht nur Informationen, die bereits durch die PDC bekannt wurden. Auch aus der Community wird sich einiges zu berichten finden.

Da ich live dabei sein werde, werden die einen oder anderen Informationen auf meinem Blog zu lesen sein. Neues, Interessantes und rund um die deutschsprachige .NET Community.

Nächste Woche ale öfter auf dieses Blog sehen und Wissenswertes erfahren.

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


.NET GUI: Weitere Verbesserungen

11.11.08 - .NET, WPF, ASP.NET, Silverlight, Internet, Community
Beitrag von Norbert Eder
 Oft habe ich es in der letzten Zeit gehört. Die Frontpage von .NET GUI sei zu fad, zu unübersichtlich, wenig strukturiert. Und jeder, der dies sagte, hatte recht.

Ein Auslöser, sich endlich dafür Zeit zu nehmen. Und es ist vollbracht. Die Frontpage von http://dotnet-gui.com erstrahlt in neuem Glanz.

Aufgelockert, übersichtlicher und weit professioneller erstrahlt sie nun und macht definitiv Lust auf mehr. Lust auf weitere Veränderungen, als auch Lust auf Mitwirkung in dieser Community!

Guck doch einfach einmal rein. Wir würden uns freuen.

  3 Kommentare - 951 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Silverlight 2: HyperlinkButton und Umbruch des anzuzeigenden Textes (TextWrapping)

06.11.08 - .NET, Silverlight
Beitrag von Norbert Eder
 In Silverlight 2 gibt es den HyperlinkButton, welcher es auf einfache Art und Weise ermöglicht, Hyperlinks darzustellen. Dabei ist die Eigenschaft Content auf den anzuzeigenden Text zu stellen und der Eigenschaft NavigateUri die anzunavigierende Url zu übergeben. Via TargetName kann auch das Navigationsziel eingestellt werden.

Nun ist es aber so, dass es beim HyperlinkButton keine Eigenschaft TextWrapping gibt, mit der der Text umgebrochen werden kann. In vielen Fällen ist aber genau das wichtig.

Hier ein kleines Code-Snippet, mit dem eben dieses erreicht werden kann:
<HyperlinkButton 
    ScrollViewer.VerticalScrollBarVisibility="Auto" 
    FontSize="10" 
    NavigateUri="{Binding Url}" 
    TargetName="_blank">
    <HyperlinkButton.Content>
        <TextBlock TextWrapping="Wrap" Text="{Binding Title}"/>
    </HyperlinkButton.Content>
</HyperlinkButton>

Abgesehen von den verwendeten Bindings muss für den Content lediglich ein TextBlock definiert werden. Dieser besitzt nun die gewünschte Eigenschaft. Resultat ist, dass der Linktext nun unseren Wünschen entsprechend umgebrochen wird.

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


Parameter an Silverlight übergeben

05.11.08 - .NET, Silverlight
Beitrag von Norbert Eder
 Wer Silverlight-Anwendungen entwickelt wird sehr schnell zur Anforderung gelangen, der Anwendung Parameter übergeben zu müssen. Seien es Angaben, woher die anzuzeigenden Daten bezogen werden können, bis hin zu Styling-Parametern. Von Flash ist man diesbezüglich ja doch schon einiges gewohnt. Aber auch bei Silverlight ist dies möglich.

Um einer Silverlight-Anwendung Parameter übergeben zu können wurden die Initialisierungs-Parameter (initParams) eingeführt. Diese stellen Key-Value-Paare dar.

Diese Key-Value-Paare sind sehr einfach aufgebaut:
  • Key und Value werden durch ein = voneinander getrennt
  • Die einzelnen Key-Value-Paare werden durch ein , getrennt

Hier ein einfaches Beispiel:
website=http://blog.norberteder.com,category=wpf

Die Angabe erfolgt in der Parameter-Tags des Silverlight-Objektes, das eingebunden werden soll. Hier ein Beispiel:
<object data="data:application/x-silverlight-2," 
   type="application/x-silverlight-2" width="100%" height="100%">
    <param name="source" value="ClientBin/DemoApp.xap"/>
    <param name="onerror" value="onSilverlightError" />
    <param name="background" value="white" />
    <param name="minRuntimeVersion" value="2.0.31005.0" />
    <param name="autoUpgrade" value="true" />
    <param name="initparams" 
           value="website=http://blog.norberteder.com,category=wpf" />
    <a href="http://go.microsoft.com/fwlink/?LinkID=124807" 
           style="text-decoration: none;">
         <img src="http://go.microsoft.com/fwlink/?LinkId=108181" 
           alt="Get Microsoft Silverlight" style="border-style: none"/>
    </a>
</object>

Doch das ist noch nicht alles. Wie kommen die Parameter in die Silverlight-Anwendung?

In der Codebehind-Datei zur App.xaml (App.xaml.cs) werden im Konstruktor einige wichtige Events registriert. Unter anderem auch das Startup-Event der Application. Im Eventhandler sind StartupEventArgs verfügbar, welche Zugriff auf die InitParams erlauben. Darüber können die zuvor deklarierten Parameter abgefragt und für den weiteren Verlauf verwendet werden.
private void Application_Startup(object sender, 
   StartupEventArgs e)
{
    NeededParameters parameters = new NeededParameters();
    if (e.InitParams != null && e.InitParams.Count > 0)
    {
        if (e.InitParams.ContainsKey("website"))
            parameters.Website = e.InitParams["website"];
        if (e.InitParams.ContainsKey("category"))
            parameters.Category = e.InitParams["category"];
    }
    this.RootVisual = new Page(parameters);
}

Das ist dann auch schon alles.

  4 Kommentare - 2040 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Artikel: WPF-Anwendungen modular gestalten

02.11.08 - .NET, WPF
Beitrag von Norbert Eder
  In der Ausgabe 05/08 der visual studio one befindet sich wieder ein Artikel von mir. Dieses Mal zum Thema WPF-Anwendungen modular gestalten. Hier ein der Abstract:

Wer eine größere Anwendung mittels WPF umsetzen möchte, sollte ein ansprechendes Software-Design wählen. Wurde zuvor noch nicht mit WPF gearbeitet, sind bisherige Techniken und Patterns jedoch nur bedingt einsetzbar. Eine passende Lösung muss also her. Composite WPF vermittelt an diesem Punkt sowohl Richtlinien als auch entsprechende Patterns, um die Aufgabe zu bewältigen. Dieser Artikel bereitet Sie auf einen erfolgreichen Einstieg vor.

Weitere Informationen finden sich auf den Seiten der visual studio one.

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



Zurück Weiter