www.planet-xaml.net
  •  

    3D

    3D Programming

    • [WPF3D]

      Awesome 3D browser stuff

      by Florian Krüsch, August 27, 2007

      One of my current WPF projects involves mixing mpeg videos with custom 3D overlays. While I was looking for a possible solution, I came across Jeremiah Morrill's blog and his "WPF hackery stuff".

      There's not enough support yet for video scenarios and hopefully this will encourage the WPF team at Microsoft to add the last few pixelshaders to integrate this stuff into the platform.

      Anyway, reading Jeremiah's blog I came along his HWND-to-WPF 3D interop project on CodePlex: www.codeplex.com/WPFWin32Renderer
      Great stuff!

      cheers,
      Florian


      no comments
    •  ^
     
  •  

    Architecture

    Software Design and Architecture

    • [ArchitectureTDD]

      Unity, na endlich

      by Florian Krüsch, February 14, 2008

      Seit vorgestern ist unter dem Namen Unity eine CTP Version des "Dependency Injection Application Block" der Patterns & Practices verfügbar. Es ist zwar sicher noch zu früh, Castle Windsor dafür in die Ecke zu legen, aber es ist wie auch ASP.net MVC ein Zeichen dafür, dass die Technologie in eine gute Richtung geht. Inversion of Control bedeutet losere Kopplung, bessere Testbarkeit und Wartbarkeit.

      Interessant wird es insbesondere im Zusammenhang mit Prism, dem "WPF Composite Application Block" und der neuen Enterprise Library, die alle auf auf IoC aufsetzen. Pattern wie Model View Presenter lassen sich damit wesentlich eleganter in Anwendungen integrieren.

      cheers,
      Florian


      no comments
    •  ^
     
  •  

    ASP.NET

    ASP.NET and .NET Web Development

    • Rick Strahl has a nice summary of the various options, in which scope to hold a Linq to SQL DataContext. The per request solutions is the logical choice. In the context of Domain Driven Design there might be another option, namely a DataContext per aggregate root, but this is another topic.

      A lot of code there... even though this is partly due to the fact that it attempts to work per thread or per web request in either case.

      Things get so much easier when you employ an inversion of control container. The DataContext becomes more or less an implementation detail of the repository interfaces and the per request lifecycle is just taken care of. Castle windsor and a little bit of configuration can realy help you get rid of a lot of boiler plate code here.

      XAMLcastle.configtoggle
      <configuration>
        
      <components>
          
      <component id="repositoryProvider"
                     
      type="Kruesch.Data.Repositories.LinqRepositoryProvider, Kruesch.Core"
                     
      service="Kruesch.Services.IRepositoryProvider, Kruesch.Core"
                     
      lifestyle="PerWebRequest"
          
      >
            
      <parameters>
              
      <connectionStringName>SiteDbConnection</connectionStringName>
            
      </parameters>
          
      </component>
        
      </components>
      </
      configuration>

      Be careful to dispose the DataContext at the end of the request in order to close the database connection:

      C#toggle
      public class LinqRepositoryProvider : IRepositoryProvider, IDisposable
      {
         private DomainDataContext _dc;

         
      // c'tor
         public LinqRepositoryProvider(String connectionStringName)
         {
             String connectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;
             _dc = CreateDataContext(connectionString);
         }

         ...

         
      // Factory method, provice a repository implementation
         public ISharedItemsRepository GetSharedItemsRepository()
         {
             return new SharedItemsRepository(_dc);
         }

         
      // DON'T FORGET THIS
         public void Dispose()
              {            
                  if (_dc != null)
                  {
                      _dc.Dispose();
                      _dc = null;
                  }                        
              }
      }

      Cheers,
      Florian


      no comments
    •  ^
     
  •  

    Blend

    Expression Blend

    • [BlendXAML]

      Will Caligari Truespace 3D become Expression 3D?

      by Florian Krüsch, February 16, 2008

      Microsoft acquires Caligari, the makers of the 3D modelling package trueSpace 3D. According to the sources, Microsoft will integrate it with Virtual Earth somehow.

      In my opinion, it would be kind of sad if TrueSpace would end just as a competitor to Google's Sketchup. Sure, that makes sense, but the real potential would be integrating it with Expression Studio or possibly XNA.

      There are exporters out there that convert 3D scenes to XAML, but I haven't seen the real thing so far. My guess is that we will see a paradigm shift towards 3D user interfaces, but today building them is really hard.

      cheers,
      Florian


      no comments
    •  ^
     
  •  
    • [Blogging]

      Hello World :)

      by Florian Krüsch, May 31, 2007

      This is my new blog... it's been a long time since I was blogging before.

      Most of the stuff I'm posting here will be related to WPF, .NET, ASP.net and other Microsoft technologies.

      cheers,
      Florian


      no comments
    •  ^
     
  •  

    DLR

    Dynamic Language Runtime

    • [DLRIronRuby]

      Videos for Compiler Geeks

      by Florian Krüsch, February 20, 2008

      Ever since programming Z80 assembler in the 80s I've been a compiler/language geek. Ironically, one of the two tests still missing for my Bachelor Degree is Compiler Construction. I will never finish this, because there's always a next project coming along.

      Anyway, if you're also a compiler geek, make sure to check out the videos of the talks at the 2008 Lang.NET symposium. Very interesting stuff. I hope I'll find some time soon to play with some of the stuff presented there, especially Irony and the DLR. And yes, the video player is done in Silverlight.

      Also interesting: the plan to add Dynamic lookup to C# vNext. And what the hell is Microsoft up to with model driven development in Oslo?

      Cheers,
      Florian


      no comments
    •  ^
     
  •  

    IronRuby

    Programming Ruby

    • [IronRubyWPF]

      Using IronRuby for WPF ValueConverters

      by Florian Krüsch, October 8, 2007

      Since everyone is talking about IronRuby these days I wanted to try if I could use it with WPF. It's actually pretty easy. There's some info on the IronRuby Wiki on how to execute iron ruby from C#

      What I ended up with is a ValueConverter that essentially takes a ruby block, basically a piece of Ruby code as ConverterParameter and executes its code dynamically to convert a value in a Binding expression.

      The binding expression e.g. to display the letter count of input text then looks like this:
      {Binding Text,ElementName=InputText,Converter={StaticResource RubyValueConverter},ConverterParameter={}{ |value| value.to_s.length.to_s+String.new(" Letters") }}

      This is the block passed to the actual conversion function in Ruby: do |value| value.to_s.length.to_s+String.new(" Letters") end

      If you want to play around with the code, download it here. ["AS IS", no warranties etc ..]

      cheers,
      Florian


      3 comments
    •  ^
     
  •  

    Mesh

    Live Mesh

    • [MeshPDC]

      Digesting PDC: Live Mesh Beta weltweit!

      by Florian Krüsch, October 31, 2008

      Live Mesh hat den Status von CTP auf Beta gewechselt und ist jetzt weltweit verfügbar. Bisher konnte man Live Mesh nur mit einer für die USA registrierten LiveID und der Einstellung "Vereinigte Staaten" in Windows nutzen.

      Live Mesh ist eine tolle Sache, zumindest für Consumer, auch wenn es anfänglich etwas dauert bis die Files synchronisiert sind. So landen die Fotos von meinem Sohn Nick immer tagesaktuell auf meinem Desktop :)

      Richtig spannend wird es dann mit dem Live Framework SDK im Zusammenspiel mit Silverlight. Damit kann man Anwendungen bauen, die auf dem realen Desktop und auf dem Cloud Desktop laufen und die verteilten Daten sinnvoll nutzen und in eine schöne Experience verpacken.

      Die Anwendungen werden in einem Katalog registriert und lassen sich ebenfalls weiterverteilen. Interessieren würde mich an dieser Stelle wie das Geschäftsmodell aussieht - sicherlich kann man Werbung integrieren, aber ein Bezahlmodell á la Apple App Store wäre auch nicht schlecht.


      no comments
    •  ^
     
  •  

    MIX08

    MIX08

    • [MIX08]

      Live Mesh Trailer

      by Florian Krüsch, September 23, 2008

      Here's a direct link to the Live Mesh trailer featured on the Software plus Services overview page on microsoft.com. It even features an Apple and MacOS X. The link is easy to find, there's a little Silverlight JavaScript that pulls an xml file with the video urls.

      A couple of years ago I had to get my head around Grid Computing at university. I dismissed the concepts as purely academic. It's fascinating to see pretty much the same technology about to become totally mainstream.

      The "Grid" in grid computing is an analogy to the electric power grid. Computing power, storage, identiy services... it will be, well, just out there, ready for your app to be plugged in to.


      no comments
    •  ^
     
  •  

    PDC

    PDC 2008

    • [MeshPDC]

      Digesting PDC: Live Mesh Beta weltweit!

      by Florian Krüsch, October 31, 2008

      Live Mesh hat den Status von CTP auf Beta gewechselt und ist jetzt weltweit verfügbar. Bisher konnte man Live Mesh nur mit einer für die USA registrierten LiveID und der Einstellung "Vereinigte Staaten" in Windows nutzen.

      Live Mesh ist eine tolle Sache, zumindest für Consumer, auch wenn es anfänglich etwas dauert bis die Files synchronisiert sind. So landen die Fotos von meinem Sohn Nick immer tagesaktuell auf meinem Desktop :)

      Richtig spannend wird es dann mit dem Live Framework SDK im Zusammenspiel mit Silverlight. Damit kann man Anwendungen bauen, die auf dem realen Desktop und auf dem Cloud Desktop laufen und die verteilten Daten sinnvoll nutzen und in eine schöne Experience verpacken.

      Die Anwendungen werden in einem Katalog registriert und lassen sich ebenfalls weiterverteilen. Interessieren würde mich an dieser Stelle wie das Geschäftsmodell aussieht - sicherlich kann man Werbung integrieren, aber ein Bezahlmodell á la Apple App Store wäre auch nicht schlecht.


      no comments
    •  ^
     
  •  
    • Dieses Blog ist nicht tot, nur verwaist ;) Zwischendurch ein kleines Lebenszeichen und ein Veranstaltungshinweis. Leider habe ich es ja verpasst, über die xtopia 2008 zu berichten, obwohl ich dort einen kurzen Auftritt als Sprecher hatte (ganz am Ende, nach Kalle's Ausführungen) und ein bischen Silverlight zeigen durfte.

      Die xtopia zieht dieses Jahr bereits im Frühling, also kurz nach der MIX'09 als Roadshow durch alle großen Städte. Das wird sicherlich spannend, u.a. weil auf der MIX'09 ja angeblich Silverlight 3 vorgestellt werden soll. Interessant sind natürlich auch die Partnershowcases - schliesslich will man ja wissen was andere mit Silverlight und WPF auf die Beine stellen.

      Das Ganze ist kostenlos, aber die Teilnehmerzahl ist limitiert - also schnell sein. Ich habe mich für Köln angemeldet, würde mich freuen den einen oder anderen dort zu treffen.

      Die anderen Städte und weitere Infos gibt's in Steffen Ritter's Blog.


      no comments
    •  ^
     
  •  

    TDD

    Testdriven Development

    • [ArchitectureTDD]

      Unity, na endlich

      by Florian Krüsch, February 14, 2008

      Seit vorgestern ist unter dem Namen Unity eine CTP Version des "Dependency Injection Application Block" der Patterns & Practices verfügbar. Es ist zwar sicher noch zu früh, Castle Windsor dafür in die Ecke zu legen, aber es ist wie auch ASP.net MVC ein Zeichen dafür, dass die Technologie in eine gute Richtung geht. Inversion of Control bedeutet losere Kopplung, bessere Testbarkeit und Wartbarkeit.

      Interessant wird es insbesondere im Zusammenhang mit Prism, dem "WPF Composite Application Block" und der neuen Enterprise Library, die alle auf auf IoC aufsetzen. Pattern wie Model View Presenter lassen sich damit wesentlich eleganter in Anwendungen integrieren.

      cheers,
      Florian


      no comments
    •  ^
     
  •  

    WCF

    Windows Communication Foundation

    • [MIX08WCF]

      RestChess in WCF

      by Florian Krüsch, March 5, 2008

      Just listened to a great talk about restfull Webservices in WCF by some guys from myspace.com here at MIX'08.

      REST is not new, we've been doing basically the same thing for years, issuing HTTP request and sending back XML or other data, though the semantics are a little bit cleaner.

      What I really found interesting is where they plugged in the necessary extensions into WCF in order to make it work well, e.g. a custom HttpModule to map extensions and adding a custom channel to support Hi/Lo REST support and authentication.

      I hadn't heard of oauth yet, sounds interesting. I'll definetly download the source and play around with it.


      no comments
    •  ^
     
  •  

    WPF

    Windows Presentation Foundation

     
  •  
    • [XAML]

      XAML - in Zukunft überall!

      by Florian Krüsch, October 24, 2008

      Schade, zur PDC reicht es bei mir dieses Jahr nicht. Trotzdem lohnt natürlich ein Blick auf die Agenda. Eine Session ist mir besonders aufgefallen: Microsoft .NET Framework: Declarative Programming Using XAML (TL36). Inhalt:

      If you're using Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), or Windows Workflow Foundation (WF), then XAML is your new best friend! Learn how an entire application-from presentation to data to services to workflow--can be authored using simple, declarative XAML notations introduced in the next version of the .NET Framework. Learn about XAML additions like: support for generics, object references, non-default constructors, and more.

      Ich verstehe das so, dass XAML in Zukunft überall im .NET Framework Einzug halten wird, also neben WPF und WF auch in WCF und Datenmodellierung. Klar, XAML steht ja auch für eXtensible Application Markup Language und nicht für eXtensible UI Markup Language.

      Auch gibt es zwischen der XML Konfiguration für IoC Container wie Spring oder Castle Windsor und XAML gewisse Parallelen, in beiden Fällen werden letztendlich Objektbäume und Abhängigkeiten über XML zusammengestöpselt. XAML wird in Zukunft also immer wichtiger werden und das ist auch gut so.


      no comments
    •  ^
     

Language | Sprache

All[e]  |  english  |  deutsch
Tags
 

Profile

Florian Kruesch

I am working as a freelance software architect, developer and consultant in Düsseldorf, Germany.

My focus is on Microsoft technologies and .NET 3.0, especially WPF, ASP.net and SQL Server.

I've been a lead programmer on the WPF development of the OTTO Vista Store at SinnerSchrader Studios.

My client list includes DHL, LG and Ogilvy Interactive.