<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>24100.net :: Ralf Rottmann's Internet Home</title>
        <link>http://talentgrouplabs.com/blog/Default.aspx</link>
        <description>Ralf Rottmann's Internet Home</description>
        <language>en-US</language>
        <copyright>Ralf Rottmann</copyright>
        <managingEditor>ralf@24100.net</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <image>
            <title>24100.net :: Ralf Rottmann's Internet Home</title>
            <url>http://talentgrouplabs.com/blog/images/RSS2Image.gif</url>
            <link>http://talentgrouplabs.com/blog/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>jailbreak 1st gen iphone to 2.0 firmware</title>
            <category>(en)</category>
            <category>TechTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/07/21/jailbreak-1st-gen-iphone-to-2.0-os.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Today I've successfully updated my 1st generation iPhone to the latest firmware version 2.0.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Before I'm going to provide step-by-step instructions I'd like to clarify a bit about version numbers: &lt;/p&gt;  &lt;p&gt;As of this writing there are two major versions of the iPhone available: The first generation which did not support 3G networks and the second generation which does support 3G networks. My post &lt;strong&gt;only relates to the first generation &lt;/strong&gt;of the iPhone. So in case you want to jailbreak the 3G version of the iPhone, this post is &lt;strong&gt;not&lt;/strong&gt; for you!&lt;/p&gt;  &lt;p&gt;As always I've followed my instructions with my personal iPhone and they worked perfectly well for me. &lt;strong&gt;However, I do not grant any warranties whatsoever and I will not take any responsibility. Do this at your own risk!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I've done all of the below on my PowerBook G4, it should work with the latest Intel based Macs, too.&lt;/p&gt;  &lt;h3&gt;Jailbreaking your iPhone&lt;/h3&gt;  &lt;p&gt;&lt;strong&gt;Step 1:      &lt;br /&gt;&lt;/strong&gt;Make sure you've got the latest version of iTunes (&lt;em&gt;iTunes &amp;gt; About iTunes&lt;/em&gt;). Mine is 7.7 (43).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2:      &lt;br /&gt;&lt;/strong&gt;With your iPhone plugged in and showing up in iTunes you might want to make a Backup which will make it easier to restore contacts, playlists, etc. afterwards. This step is optional.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3: &lt;/strong&gt;    &lt;br /&gt;Download Dev Teams &lt;a href="http://blog.iphone-dev.org/post/42858313/thanks-for-waiting" target="_blank"&gt;Pwnage tool 2.0&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4:      &lt;br /&gt;&lt;/strong&gt;Unplug your iPhone and plug it in again. iTunes will ask you to Download / Install the latest 2.0 firmware. Select the Download Only option. &lt;strong&gt;Do not install! Just download the firmware!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 5:      &lt;br /&gt;&lt;/strong&gt;You also do need bootloader version 3.9 and 4.6 which you can download &lt;a href="http://www.iphone-hacks.com/downloads/file/109" target="_blank"&gt;here&lt;/a&gt;. Make sure you unpack the Rar archives as the Pwnage tool will search for the unpacked contents later in the process. I simply created a &lt;em&gt;bootloaders &lt;/em&gt;folder inside my &lt;em&gt;Downloads&lt;/em&gt; folder and unpacked &lt;em&gt;bootloaders.rar&lt;/em&gt; into it.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 6:      &lt;br /&gt;&lt;/strong&gt;Launch the Pwnage tool 2.0 and select the iPhone icon on the very left.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 7:      &lt;br /&gt;&lt;/strong&gt;Follow the on screen instructions of the Pwnage tool. The tool will find the ISPW file and ask you to hit next.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 8:      &lt;br /&gt;&lt;/strong&gt;If the Pwnage tool asks you to create a new ISPW file, hit YES.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 9:      &lt;br /&gt;&lt;/strong&gt;I responded NO to the "Are you a legit iPhone user" question.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 10:      &lt;br /&gt;&lt;/strong&gt;The Pwnage tool is now going to create the ISPW file. It might open Finder windows and ask you for your OS X admin password. Enter it and let the Pwnage tool finish creating the ISPW file. This might take a couple of minutes.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 11:      &lt;br /&gt;&lt;/strong&gt;Once the Pwnage tool has finished assembling the file it will ask you to put your iPhone into &lt;em&gt;DFU mode&lt;/em&gt;. This step can be a bit awkward and you might need multiple tries. The Pwnage tool actually illustrates the process in great detail but let me summarize what you're supposed to do: &lt;/p&gt;  &lt;p&gt;&amp;gt; Plug in your iPhone    &lt;br /&gt;&amp;gt; Turn it off     &lt;br /&gt;&amp;gt; Press and hold the Home and the Power buttons simultaneously for 10 seconds     &lt;br /&gt;&amp;gt; Release the Power button &lt;strong&gt;but keep the Home button pressed for 10 more seconds&lt;/strong&gt;     &lt;br /&gt;&amp;gt; Release the Home button after the 10 seconds have passed&lt;/p&gt;  &lt;p&gt;Once your iPhone has entered DFU mode, iTunes will pop up and ask you whether you would like to restore. While holding the &lt;em&gt;Option Key&lt;/em&gt; (equals the key labeled "alt" on older keyboards) on your Mac, hit the Restore button. iTunes will allow you to select an ISPW file. Select the one created by the Pwnage tool which is at your desktop and start.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 12:      &lt;br /&gt;&lt;/strong&gt;That's it. The rest of the process might take up to 10 minutes. The bootladers will refresh and finally your iPhone will reboot with firmware 2.0 installed and everything else restored to factory settings.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 13:      &lt;br /&gt;&lt;/strong&gt;Optionally you might want to restore your settings from the backup created in Step 2. Restoring from a backup will not downgrade to an older firmware but simply restore contacts, calendar and sync details.&lt;/p&gt;  &lt;h3&gt;Moving on from here...&lt;/h3&gt;  &lt;p&gt;After you've freshly jailbroken your iPhone, you might want to get a couple of things working:&lt;/p&gt;  &lt;h4&gt;Fixing Voicemail&lt;/h4&gt;  &lt;p&gt;Visual Voicemail only works if you subscribe to one of the official iPhone plans. However, you might want to enable the Voicemail button in your phone application. Do the following:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1:      &lt;br /&gt;&lt;/strong&gt;Note down the voicemail number for your carrier. For example for Germany's Vodafone it is +49-xxx-55-xxxxxxx, where xxx represents your number.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2:      &lt;br /&gt;&lt;/strong&gt;Click the phone button in your iPhone.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3:      &lt;br /&gt;&lt;/strong&gt;Click the keypad tab.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4:      &lt;br /&gt;&lt;/strong&gt;Type     &lt;br /&gt;&lt;font face="cour"&gt;&lt;em&gt;*5005*86*xxx#&lt;/em&gt;       &lt;br /&gt;&lt;/font&gt;where xxx is your voicemail number. For example if your German Vodafone number would be 0172-333-44-55 you would type &lt;em&gt;*5005*86*+49172553334455#&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 5:      &lt;br /&gt;&lt;/strong&gt;Hit Call.&lt;/p&gt;  &lt;p&gt;After a while the new number for the Voicemail button will be set and active. Give it a try and hit the Voicemail button.&lt;/p&gt;  &lt;h4&gt;Getting rid of "Call forward active" pop up&lt;/h4&gt;  &lt;p&gt;In case you forward calls to your voicemail chances are that you see an annoying "Call forward active. Dismiss" popup whenever you initiate a call. There is a not-so-easy way to get rid of it. Here is how:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1: &lt;/strong&gt;    &lt;br /&gt;SSH into your iPhone using WinSCP or Putty.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2:      &lt;br /&gt;&lt;/strong&gt;Go to &lt;em&gt;/private/var/mobile/Library/preferences&lt;/em&gt; and download the file &lt;em&gt;com.apple.carrier.plist&lt;/em&gt; to your computer.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3: &lt;/strong&gt;    &lt;br /&gt;Open the file and change the &lt;em&gt;ShowCallForwarding&lt;/em&gt; to &lt;em&gt;&amp;lt;false/&amp;gt;&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4:      &lt;br /&gt;&lt;/strong&gt;Upload the changed plist file and reboot your iPhone.&lt;/p&gt;  &lt;p&gt;Note: On Macs xCode has a plist editor. On Windows PCs you might want to use &lt;a href="http://140.124.181.188/~khchung/cgi-bin/plutil.cgi" target="_blank"&gt;this online tool&lt;/a&gt; to convert the downloaded plist file into an XML representation. (You do NOT need to convert it back, just upload the XML version to your iPhone and all will be fine.)&lt;/p&gt;  &lt;h4&gt;Changing the carrier name (text)&lt;/h4&gt;  &lt;p&gt;For older versions of the firmware you could use Erica Sadun's excellent mini application &lt;em&gt;Make it mine&lt;/em&gt; to change the carrier name on the fly. As of this writing the application has not been ported to firmware 2.0. Therefore you've got to do it manually but it's a very straight forward process, too:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt;    &lt;br /&gt;Use Cydia to install &lt;em&gt;Erica Utilities&lt;/em&gt;. Start Cydia. Go to the &lt;em&gt;Search &lt;/em&gt;tab. Type in "Erica" and install &lt;em&gt;Erica Utilities&lt;/em&gt;. (&lt;em&gt;Erica Utilities&lt;/em&gt; are a set of &lt;strong&gt;command line tools&lt;/strong&gt;. You'll not find any new icons on your springboard!)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2:     &lt;br /&gt;&lt;/strong&gt;If you've not yet done so install &lt;em&gt;MobileTerminal&lt;/em&gt; via Cydia. This will allow you to open a local terminal session into your iPhone's OS. (Alternatively, you could use SSH to log into your iPhone from a Mac or Windows PC.)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3:     &lt;br /&gt;&lt;/strong&gt;Open the terminal and type &lt;em&gt;login&lt;/em&gt;. If you're not using &lt;em&gt;MobileTerminal&lt;/em&gt; use SSH to log into your iPhone. Login with user &lt;em&gt;root&lt;/em&gt; and password &lt;em&gt;alpine&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt;    &lt;br /&gt;Change the directory to /var/root/Library/Preferences by typing&lt;/p&gt;  &lt;p&gt;&lt;em&gt;cd /var/root/Library/Peferences&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 5:     &lt;br /&gt;&lt;/strong&gt;Type in&lt;/p&gt;  &lt;p&gt;&lt;em&gt;sb -s “NewName” SBFakeCarrier&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;where &lt;em&gt;NewName &lt;/em&gt;is the text you want to be displayed as the Carrier name.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Type in&lt;/p&gt;  &lt;p&gt;&lt;em&gt;restart&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;You're done.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6a30c80b-5159-456e-bb96-52812ef8c554" class="wlWriterSmartContent"&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tags/iphone" rel="tag"&gt;iphone&lt;/a&gt;,&lt;a href="http://technorati.com/tags/jailbreak" rel="tag"&gt;jailbreak&lt;/a&gt;,&lt;a href="http://technorati.com/tags/version%202.0" rel="tag"&gt;version 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/first%20generation%20iphones" rel="tag"&gt;first generation iphones&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/152.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/07/21/jailbreak-1st-gen-iphone-to-2.0-os.aspx</guid>
            <pubDate>Mon, 21 Jul 2008 09:58:49 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/152.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/07/21/jailbreak-1st-gen-iphone-to-2.0-os.aspx#feedback</comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/152.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/152.aspx</trackback:ping>
        </item>
        <item>
            <title>die loveparade...</title>
            <category>(de)</category>
            <category>SmallTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/07/20/die-loveparade.aspx</link>
            <description>&lt;p&gt;... liebe &lt;a href="http://www.sueddeutsche.de/kultur/artikel/168/186579/5/" target="_blank"&gt;Süddeutsche Zeitung&lt;/a&gt;, war dieses Jahr in Dortmund, nicht in Essen. Wenn Ihr schon Schlagzeilen textet, die die Welt nicht braucht, dann seid doch bitte auch präzise in Eurer Berichterstattung!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/dieloveparade_E8C/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" border="0" alt="image" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/dieloveparade_E8C/image_thumb.png" width="487" height="741" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:401eebe1-e093-4f39-ab5a-0c0d9783aca7" class="wlWriterSmartContent"&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tags/loveparade" rel="tag"&gt;loveparade&lt;/a&gt;,&lt;a href="http://technorati.com/tags/sueddeutsche.de" rel="tag"&gt;sueddeutsche.de&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/151.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/07/20/die-loveparade.aspx</guid>
            <pubDate>Sat, 19 Jul 2008 23:02:10 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/151.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/07/20/die-loveparade.aspx#feedback</comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/151.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/151.aspx</trackback:ping>
        </item>
        <item>
            <title>add-in and plug-in apps with .net</title>
            <category>(en)</category>
            <category>TechTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/07/02/add-in-and-plug-in-apps-with-.net.aspx</link>
            <description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;One of my dev teams over at &lt;a href="http://www.voicint.com" target="_blank"&gt;VoicInt Telecommunications&lt;/a&gt; currently works on a Windows Presentation Foundation based product that facilitates a &lt;strong&gt;rich add-in infrastructure&lt;/strong&gt;. A key feature area of the soon-to-be-shipped release is a completely &lt;strong&gt;modular architecture&lt;/strong&gt; which not only allows to parallelize much of the engineering process but also gives our VARs and resellers the ability to extend our product to individual customers' needs.&lt;/p&gt;  &lt;p&gt;With the beginning of the year we've adopted a strict agile development approach and since then successfully follow the &lt;a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank"&gt;Scrum methodology&lt;/a&gt;. In a series of exploration sprints we've focused on prototyping around the idea of a true &lt;strong&gt;Composite Windows Presentation Foundation&lt;/strong&gt; application. &lt;/p&gt;  &lt;p&gt;Some of the high-level requirements we wanted to address were:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Load and unload of discrete modules (= assemblies) at runtime&lt;/li&gt;    &lt;li&gt;Loose coupling of all modules&lt;/li&gt;    &lt;li&gt;Communication between modules based on loosely coupled services&lt;/li&gt;    &lt;li&gt;Thread isolation&lt;/li&gt;    &lt;li&gt;Exposure of a UI shell which hosts merely autonomous UI panels&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;One of the great things in our industry is that one always never has to start entirely from scratch. In fact it turned out that creating an extendable application is a quite common scenario with many great ideas and code projects out there, although there are less resources as of today &lt;strong&gt;specifically addressing the concerns of WPF based solutions&lt;/strong&gt;.&lt;/p&gt;  &lt;h3&gt;Composite Application Guidance for WPF (Prism)&lt;/h3&gt;  &lt;p&gt;An excellent entry point has actually been published by &lt;a href="http://msdn.microsoft.com/en-us/practices/default.aspx" target="_blank"&gt;Microsoft's patterns &amp;amp; practices group&lt;/a&gt; on their &lt;a href="http://www.codeplex.com/CompositeWPF" target="_blank"&gt;Composite Application Guidance for WPF site&lt;/a&gt;. The scenario was first addressed by the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa480450.aspx" target="_blank"&gt;Composite UI Application Block&lt;/a&gt; (CAB) and the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa480482.aspx" target="_blank"&gt;Smart Client Software Factory&lt;/a&gt; and has been extended to the emerging WPF world with the &lt;em&gt;Prism&lt;/em&gt; project. To avoid naming confusion here: The project has long been known as &lt;em&gt;Prism&lt;/em&gt; but nearing the RC 1 release has been renamed to what's now &lt;em&gt;Composite Application Guidance for WPF&lt;/em&gt;. Because I like the shorter version better, I'll continue to refer to it as &lt;em&gt;Prism&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Prism's dynamic composition capabilities addressed some of the main technical challenges we were facing. Specifically:&lt;/p&gt;  &lt;p&gt;In UI Composition it provides&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;UI consistency&lt;/li&gt;    &lt;li&gt;Layout&lt;/li&gt;    &lt;li&gt;UI workflow &lt;/li&gt;    &lt;li&gt;Separating the UI from business logic&lt;/li&gt;    &lt;li&gt;Allows integrating graphics designers later in the process&lt;/li&gt;    &lt;li&gt;Communication between different UI components&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Concerning the required Modularity&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;It promotes separation of concerns through allowing a high degree of separation between the application infrastructure and the business logic.&lt;/li&gt;    &lt;li&gt;It allows different teams to independently develop each of the individual business logic and infrastructure components.&lt;/li&gt;    &lt;li&gt;It allows parts of the application to separately evolve.&lt;/li&gt;    &lt;li&gt;It promotes code re-use and flexibility because it allows business logic components and the application infrastructure to be incorporated into multiple solutions.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Prism introduces a couple of new technical concepts.&lt;/p&gt;  &lt;p&gt;A &lt;strong&gt;Module &lt;/strong&gt;in Prism is a logical unit within an application. Modules assist in implementing a modular design. These modules are defined in such a way that they can be discovered and loaded by the application at run time. Because modules are self-contained, they promote separation of concerns. Modules can communicate with other modules and access services through various means. They reduce the friction of maintaining, adding, and removing system functionality. Modules also aid in testing and deployment.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Commands&lt;/strong&gt; are a way to handle UI actions. They are a loosely-coupled way to bind the UI to the logic that performs the action. &lt;/p&gt;  &lt;p&gt;When building composite applications, presentation design patterns such as MVP and MVC are often used to separate the UI logic from the UI layout and presentation. When implementing these patterns with WPF, the presenter or controller handles commands, but lives outside the logical tree. WPF routed commands deliver command messages via UI elements in the tree, but the elements outside the tree will not receive these messages because they only bubble up or down from the focused element or an explicitly stated target element. Additionally, the WPF routed commands require a command handler in the code behind.&lt;/p&gt;  &lt;p&gt;Prism introduces several new commands that can be routed outside the boundaries of the logical tree and that do not require handling logic in the code behind. Prism commands are custom implementations of the &lt;em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.input.icommand.aspx" target="_blank"&gt;ICommand&lt;/a&gt;&lt;/em&gt; interface defined by WPF, and implement their own routing mechanism to get the command messages delivered to objects outside of the logical tree.&lt;/p&gt;  &lt;p&gt;To keep everything loosely coupled Prism incorporates the &lt;a href="http://martinfowler.com/articles/injection.html" target="_blank"&gt;Dependency Injection&lt;/a&gt; pattern everywhere and anywhere. The reference implementation makes use of Microsoft's own lightweight extensible dependency injection container, &lt;a href="http://www.codeplex.com/unity" target="_blank"&gt;Unity&lt;/a&gt;. Prism is designed to support other dependency injection containers, too, but we have not yet tried to refactor this part of Prism.&lt;/p&gt;  &lt;p&gt;While Prism has been an excellent starting point for us we are currently evaluating to implement our own solution from scratch - taking into account many of the great ideas and maybe even some code of the Prism implementations. There are a couple of reasons for this:&lt;/p&gt;  &lt;h4&gt;Prism's Region Manager&lt;/h4&gt;  &lt;p&gt;Prism ships with a region manager which effectively handles the loading of discrete WPF components into &lt;strong&gt;shell layout regions&lt;/strong&gt; at runtime. The application we are designing implements a sidebar user interface and requires very rich and interactive docking and magnetic (similar to what you might know from &lt;a href="http://www.winamp.com/" target="_blank"&gt;Winamp&lt;/a&gt;) behavior. The screen shot of our current prototype below illustrates some of the concepts:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/addinandpluginappswith.net_7203/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" border="0" alt="image" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/addinandpluginappswith.net_7203/image_thumb.png" width="370" height="996" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Our sidebar facilitates regions which can be &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;resized, &lt;/li&gt;    &lt;li&gt;rearranged, &lt;/li&gt;    &lt;li&gt;dragged out of the sidebar, &lt;/li&gt;    &lt;li&gt;docked into the sidebar, &lt;/li&gt;    &lt;li&gt;docked together and moved as a group, &lt;/li&gt;    &lt;li&gt;minimized and maximized and &lt;/li&gt;    &lt;li&gt;shown/hidden. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The current region manager in Prism has not been designed for all of these of use cases. We are currently looking into replacing it with our own implementation.&lt;/p&gt;  &lt;h4&gt;Module Loader&lt;/h4&gt;  &lt;p&gt;We experienced some shortcomings in the Module Loader. As an example we found it difficult to access a list of successfully loaded modules at runtime (which we would require to offer a traditional &lt;em&gt;View &amp;gt; Windows&lt;/em&gt; menu). Chances are this can be done, however, we found it extraordinarily complicated for such a common task. This lead to overall concerns regarding the thorough design with respect to extendibility and openness of the Prism application block itself.&lt;/p&gt;  &lt;h4&gt;Prism's DI Container&lt;/h4&gt;  &lt;p&gt;As stated above Prism makes use of Microsoft's Unity IoC Container. In general we do like Unity and ObjectBuilder2, which it builds upon. However, they might be a bit too heavyweight for what we are looking for. So one other aspect of our evaluation is looking into &lt;a href="http://www.castleproject.org/container/index.html" target="_blank"&gt;Castle Windsor&lt;/a&gt;, &lt;a href="http://sourceforge.net/projects/structuremap" target="_blank"&gt;StructureMap&lt;/a&gt; and others. We lately added &lt;a href="http://ninject.org/" target="_blank"&gt;Ninject&lt;/a&gt; to our list and from a first look at the documentation, we like it's overall agile implementation.&lt;/p&gt;  &lt;h4&gt;No solution for isolation&lt;/h4&gt;  &lt;p&gt;Prism does not offer anything related to the problem of &lt;strong&gt;isolating code&lt;/strong&gt; which gets loaded at runtime. This is a pretty serious issue. Many .NET developers instinctively respond with the magic of &lt;a href="http://msdn.microsoft.com/en-us/library/system.appdomain(VS.80).aspx" target="_blank"&gt;AppDomains&lt;/a&gt; when it comes to isolation. Unfortunately, however, AppDomains do not at all address isolation issues. In fact they only help you with loading and unloading assemblies at runtime. In case code residing in a module raises unhandled exceptions your main application (the host) will fail, too. There's an interesting discussion &lt;a href="http://forums.msdn.microsoft.com/en-US/clr/thread/91e75bb5-1799-44ab-8738-09ae84fd3bf2/" target="_blank"&gt;here&lt;/a&gt; and probably some answers &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163716.aspx" target="_blank"&gt;here&lt;/a&gt;. As of now it seems as if the only real secure way to tackle the problem of isolation would be to run each module in its own process. (Interestingly the Internet Explorer team at Microsoft introduced some significant changes to &lt;a href="http://blogs.msdn.com/ie/archive/2008/03/11/ie8-and-loosely-coupled-ie-lcie.aspx" target="_blank"&gt;how IE 8 handles isolation&lt;/a&gt; which seem to stem from the same root cause.) As isolation is of major importance to us we are currently looking into which options would be feasible in terms of the effort/benefit relationship. Stay tuned for more on this!&lt;/p&gt;  &lt;h4&gt;Preliminary conclusion&lt;/h4&gt;  &lt;p&gt;Prism has helped us getting started a lot. In general the folks at Microsoft patterns &amp;amp; practices are a great resource and always willing to help and assist. With the lack of support for isolation, the requirement of our own region manager and the pretty heavyweight dependency injection container we have not yet made the final decision to actually use Prism.&lt;/p&gt;  &lt;p&gt;We are planning to come to a conclusion within the next two weeks. I'm going to publish a follow up post on our further findings.&lt;/p&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:571a882b-cdf1-4327-9a39-df99fdc2105d" class="wlWriterSmartContent"&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tags/prism" rel="tag"&gt;prism&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ioc" rel="tag"&gt;ioc&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dependency%20injection" rel="tag"&gt;dependency injection&lt;/a&gt;,&lt;a href="http://technorati.com/tags/composite%20wpf" rel="tag"&gt;composite wpf&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cab" rel="tag"&gt;cab&lt;/a&gt;,&lt;a href="http://technorati.com/tags/isolation" rel="tag"&gt;isolation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/plug-in" rel="tag"&gt;plug-in&lt;/a&gt;,&lt;a href="http://technorati.com/tags/add-in" rel="tag"&gt;add-in&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.net" rel="tag"&gt;.net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/c#" rel="tag"&gt;c#&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/150.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/07/02/add-in-and-plug-in-apps-with-.net.aspx</guid>
            <pubDate>Wed, 02 Jul 2008 07:21:27 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/150.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/07/02/add-in-and-plug-in-apps-with-.net.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/150.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/150.aspx</trackback:ping>
        </item>
        <item>
            <title>my iphone app on Apple app store</title>
            <category>(en)</category>
            <category>SmallTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/06/28/my-iphone-app-on-apple-app-store.aspx</link>
            <description>&lt;p&gt;Yuppie, today I've received confirmation that my iPhone application passed QC and will be available via &lt;a href="http://www.apple.com/iphone/appstore/" target="_blank"&gt;Apple App Store&lt;/a&gt; once it's going to open its doors on &lt;a href="http://arstechnica.com/journals/apple.ars/2008/06/11/rumor-app-store-and-iphone-2-0-on-june-27th" target="_blank"&gt;June, 27th&lt;/a&gt;. I've not participated in &lt;a href="http://www.techcrunch.com/2008/06/26/techcrunch50-submission-deadline-is-tomorrow-mark-cuban-marc-benioff-and-don-dodge-join-expert-panel/" target="_blank"&gt;TechCrunch's Top 50&lt;/a&gt; contest, though, but hope to get loads of downloads - equals purchases :-) - without it. Unfortunately, I cannot talk about what my app actually is/does, yet. Just a few words: It's a location based service which works in tandem with a community web site. I'll keep you posted.    &lt;br /&gt;&lt;/p&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:08b12557-55d1-4bac-a192-35e1c589dc5e" class="wlWriterSmartContent"&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tags/iphone%20sdk" rel="tag"&gt;iphone sdk&lt;/a&gt;,&lt;a href="http://technorati.com/tags/app%20store" rel="tag"&gt;app store&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/149.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/06/28/my-iphone-app-on-apple-app-store.aspx</guid>
            <pubDate>Sat, 28 Jun 2008 13:51:22 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/149.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/06/28/my-iphone-app-on-apple-app-store.aspx#feedback</comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/149.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/149.aspx</trackback:ping>
        </item>
        <item>
            <title>IE Team to Mozilla: Congratulations!</title>
            <category>(en)</category>
            <category>SmallTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/06/21/ie-team-to-mozilla-congratulations.aspx</link>
            <description>&lt;p&gt;In what has now become a tradition, Microsoft's Internet Explorer team sent a "Congratulations on Shipping!" cake to the Mozilla Foundation headquarters for shipping Mozilla Firefox 3.0. As you might be able to see in the picture, the ring around the Internet Explorer "e" is actually three-dimensional and it's certainly more fancy than the cake they previously sent Mozilla for shipping Firefox 2.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://channel9.msdn.com/Link/b8faba57-52de-4456-88d9-563a0ccaee17/" /&gt;&lt;/p&gt;
&lt;p&gt;I like the idea and motivation behind this move very much. Well, I like Microsoft very much. :-)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; DISPLAY: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:030bbb27-171a-4456-a2df-78ea6c305565" class="wlWriterSmartContent"&gt;
&lt;div class="tags"&gt;Tags: &lt;a rel="tag" href="http://technorati.com/tags/microsoft"&gt;microsoft&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/cake"&gt;cake&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/firefox"&gt;firefox&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/mozilla"&gt;mozilla&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/148.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/06/21/ie-team-to-mozilla-congratulations.aspx</guid>
            <pubDate>Sat, 21 Jun 2008 07:49:55 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/148.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/06/21/ie-team-to-mozilla-congratulations.aspx#feedback</comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/148.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/148.aspx</trackback:ping>
        </item>
        <item>
            <title>itunes ui flaw</title>
            <category>(en)</category>
            <category>SmallTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/06/13/itunes-ui-flaw.aspx</link>
            <description>&lt;p&gt;Dear Apple,&lt;/p&gt;
&lt;p&gt;who the f... designed the "Sync movies" dialog in iTunes 7.6.2.9?&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/itunesuiflaw_133FA/image_2.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="671" height="212" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/itunesuiflaw_133FA/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The freaking list can only show up to four entries before you're required to scroll, keyboard navigation is disabled and the scrollbar is of no help once the total number of items exceeds eight. Given the long track record in user experience design you're known for, how could such a UI flaw like this escape quality assurance?&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; DISPLAY: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b0346c22-dfc5-422e-87da-6a0ebd1c7f17" class="wlWriterSmartContent"&gt;
&lt;div class="tags"&gt;Tags: &lt;a rel="tag" href="http://technorati.com/tags/apple%20itunes"&gt;apple itunes&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/ui%20flaws"&gt;ui flaws&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/147.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/06/13/itunes-ui-flaw.aspx</guid>
            <pubDate>Fri, 13 Jun 2008 19:54:16 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/147.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/06/13/itunes-ui-flaw.aspx#feedback</comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/147.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/147.aspx</trackback:ping>
        </item>
        <item>
            <title>OpenDNS on OpenWRT (with my Linksys router)</title>
            <category>(en)</category>
            <category>TechTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/06/08/opendns-on-openwrt-with-my-linksys-router.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt;I recently stumbled upon &lt;a target="_blank" href="http://www.opendns.com"&gt;OpenDNS&lt;/a&gt;, a service &lt;a target="_blank" href="http://www.hanselman.com/blog/OpenDNS.aspx"&gt;reviewed&lt;/a&gt; and recommended by &lt;a target="_blank" href="http://www.hanselminutes.com/"&gt;Scott Hanselman&lt;/a&gt; and &lt;a target="_blank" href="http://pogue.blogs.nytimes.com/2006/11/01/a-faster-web-for-free/"&gt;others&lt;/a&gt;. After having conducted some speed tests, I decided to switch to OpenDNS. As a positive byproduct OpenDNS allows me to enforce parental control for my 8-years old sun by allowing me to define black- and whitelists.&lt;/p&gt;
&lt;p&gt;My setup is a Linksys WRT54G/GS/GL with OpenWrt White Russian (with X-Wrt Extensions 0.9). I assume the below instructions will work on most other versions of OpenWrt, too, without requiring modifications.&lt;/p&gt;
&lt;p&gt;The OpenDNS web site is a great web design example. It's straight forward, appealing and at the same time easy to use. Unfortunately even though it offers forums, technical support and a knowledge base, I was unable to get help setting up OpenDNS for my wireless home network. A Google search revealed that quite a few others seem to have struggled with getting OpenDNS up and running on routers running &lt;a target="_blank" href="http://openwrt.org/"&gt;OpenWrt&lt;/a&gt;. So I decided to explain what I've done to get it working. Here's my guide - use at your own risk!&lt;/p&gt;
&lt;p&gt;I'm assuming that you know how to log into your router and can execute basic Linux commands.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;First things first: Sign up!&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Before we get any further, I'd recommend to sign up for a free OpenDNS account. While you can use OpenDNS without an account, in order to enjoy the advanced features - like statistics, etc. - you've got to sign up. So go ahead:&lt;/p&gt;
&lt;!-- OpenDNS button --&gt;&lt;a title="Use OpenDNS to make your Internet faster, safer, and smarter." href="http://www.opendns.com/share/"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="Use OpenDNS" width="150" height="40" src="http://images.opendns.com/buttons/use_opendns_150x40.gif" /&gt;&lt;/a&gt; &lt;!-- / end OpenDNS button --&gt;
&lt;p&gt;(In case the smart button above says "YOU'RE USING OpenDNS! Sweet!" you can close this blog post - somebody already set up OpenDNS for you!)&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Add a Network&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Log into OpenDNS and navigate to your &lt;a target="_blank" href="https://www.opendns.com/dashboard/"&gt;Dashboard&lt;/a&gt;. Select Networks.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_2.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="644" height="227" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;OpenDNS usually automatically recognizes your current external IP address. So the next page will look something like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_4.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="435" height="184" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_1.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Assign a speaking name to your new network and click ADD THIS NETWORK. Note: Your external IP address very likely is a dynamic IP address, which means you get a different external IP address whenever you reconnect to your ISP. Don't worry. We'll take care for this in a bit. In order to activate dynamic IP address usage for a given network, you first have to create one. So first create a new network with this static entry as described here, and continue to follow my guide.&lt;/p&gt;
&lt;p&gt;You might want to upload a logo for your newly created network. OpenDNS allows you to redirect users to a custom "Domain not found" page. The logo you upload gets used on this and other custom pages. Click the &lt;strong&gt;Networks&lt;/strong&gt; tab on your &lt;strong&gt;Dashboard&lt;/strong&gt;. Select the wrench to access the network's settings:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_6.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="645" height="150" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Select &lt;strong&gt;Set Up a Dynamic IP&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_8.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="239" height="139" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Check the &lt;strong&gt;Enable dynamic IP update&lt;/strong&gt; checkbox and click &lt;strong&gt;Apply&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_10.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="630" height="175" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_4.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;Configure your router to use OpenDNS DNS servers&lt;/h3&gt;
&lt;p&gt;In a default configuration your router gets its external (dynamic) IP address and the addresses of your ISPs DNS servers once it connects. However, we want it to use the OpenDNS name servers, 208.67.222.222 and 208.67.220.220. In order to set this up, &lt;a target="_blank" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"&gt;SSH&lt;/a&gt; into your router. Change the directory to &lt;font face="Courier New"&gt;/etc/init.d&lt;/font&gt;. You should find the start script for the &lt;a target="_blank" href="http://www.thekelleys.org.uk/dnsmasq/doc.html"&gt;dnsmasq&lt;/a&gt; service.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_12.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="644" height="460" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_5.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Open the start script for editing. (&lt;font face="Courier New"&gt;vi S60dnsmasq&lt;/font&gt; will do it.)&lt;/p&gt;
&lt;p&gt;Go to the bottom of the file and delete the line which says &lt;font face="Courier New"&gt;nameserver 127.0.0.1&lt;/font&gt;. (In vi move the cursor anywhere inside this line and hit the d-key twice.)&lt;/p&gt;
&lt;p&gt;Add two lines pointing to the OpenDNS name servers. (In vi change to &lt;em&gt;Insert&lt;/em&gt; mode by hitting the i-key.)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_14.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="526" height="484" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_6.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Save the modified start script.&lt;/p&gt;
&lt;h3&gt;Sending your dynamic IP address to OpenDNS&lt;/h3&gt;
&lt;p&gt;For whatever reason at the time of this writing there seems to be now extension for OpenWrt that allows to configure automatic updates via the web interface. Well, we are going to use a simple workaround, then!&lt;/p&gt;
&lt;p&gt;Go to &lt;font face="Courier New"&gt;/etc/ppp&lt;/font&gt; and edit the &lt;font face="Courier New"&gt;ip-up&lt;/font&gt; script.&lt;/p&gt;
&lt;p&gt;At the end of the script add the following line&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;/usr/bin/curl -k -u username:password https://updates.opendns.com/nic/update?hostname=label&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Replace &lt;font face="Courier New"&gt;username&lt;/font&gt; with your OpenDNS username and &lt;font face="courier new"&gt;password&lt;/font&gt; with your OpenDNS password. For &lt;font face="courier new"&gt;label&lt;/font&gt; use the speaking name you've configured as your network name in OpenDNS Dashboard.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_16.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="644" height="183" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_7.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Save the script. Make sure your OpenWrt installation can access curl. Type &lt;font face="courier new"&gt;curl&lt;/font&gt; at the shell prompt. OpenWrt should return a &lt;font face="courier new"&gt;curl: try 'curl --help' for more information&lt;/font&gt; message. In case curl is not available, type &lt;font face="courier new"&gt;ipkg install curl&lt;/font&gt; to install it.&lt;/p&gt;
&lt;h3&gt;Change name servers assigned via DHCP&lt;/h3&gt;
&lt;p&gt;Clients using your router get their local IP address along with their DNS entries from your router through its DHCP service. In a default configuration the router simply assigns its own address as the DNS address to DHCP clients. Your local PC's DNS servers will very likely point to something like 192.168.1.1. OpenDNS demands that all of your client PCs use the OpenDNS name servers &lt;strong&gt;directly&lt;/strong&gt;. So the last step is to configure your router so that it assigns the OpenDNS name servers to its DHCP clients.&lt;/p&gt;
&lt;p&gt;Change into the &lt;font face="courier new"&gt;/etc&lt;/font&gt; directory and edit the &lt;font face="courier new"&gt;dnsmasq.conf&lt;/font&gt; file.&lt;/p&gt;
&lt;p&gt;The last line in that file allows to activate custom name server addresses for DHCP clients. Uncomment the last line and change it accordingly.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_18.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="570" height="484" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_8.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;(Note: I've configured my router to assign 208.67.222.222 (OpenDNS name server 1) as the first DNS server address and 192.168.1.2 (my router's own IP address) to its DHCP clients. The second address (192.168.1.2) might vary in your setup.)&lt;/p&gt;
&lt;h3&gt;Reboot everything&lt;/h3&gt;
&lt;p&gt;The last thing to do is to reboot everything. Start with your router. Go ahead with all PCs connected to your router.&lt;/p&gt;
&lt;p&gt;That's it! You're done.&lt;/p&gt;
&lt;h3&gt;Cross-checks&lt;/h3&gt;
&lt;p&gt;You might want to do a couple of quick checks to verify that everything went fine:&lt;/p&gt;
&lt;p&gt;1. Visit &lt;a href="http://www.opendns.com"&gt;http://www.opendns.com&lt;/a&gt;. In the upper left corner OpenDNS should indicate your current external IP address. Make sure it is current. If it not the curl command did not get executed correctly. Check the steps above.&lt;/p&gt;
&lt;p&gt;2. If you're on a Windows machine, open a Command Prompt and submit &lt;font face="courier new"&gt;ipconfig -all&lt;/font&gt;. Check that for your active interface &lt;strong&gt;DNS Servers&lt;/strong&gt; contains the OpenDNS name server (208.67.222.222).&lt;/p&gt;
&lt;h3&gt;Steps from here&lt;/h3&gt;
&lt;p&gt;Now that you've setup everything you might want to activate statistics for the network and add custom messages.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_20.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="644" height="159" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_9.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_22.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="236" height="79" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/OpenDNSonOpenWRTwithmyLinksysrouter_13EFD/image_thumb_10.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;OpenDNS needs some time to collect statistics. It took some 30 minutes for me, so don't worry in case stats are not available right after set up.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Hope this helps!&lt;/p&gt;
&lt;p&gt;Ralf&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; DISPLAY: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a0381ccf-7348-4668-b5a2-418ec8d7ffbc" class="wlWriterSmartContent"&gt;
&lt;div class="tags"&gt;Tags: &lt;a rel="tag" href="http://technorati.com/tags/OpenDNS"&gt;OpenDNS&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/OpenWrt"&gt;OpenWrt&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Linksys"&gt;Linksys&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Dynamic%20IP%20Address"&gt;Dynamic IP Address&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/146.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/06/08/opendns-on-openwrt-with-my-linksys-router.aspx</guid>
            <pubDate>Sun, 08 Jun 2008 21:46:24 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/146.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/06/08/opendns-on-openwrt-with-my-linksys-router.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/146.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/146.aspx</trackback:ping>
        </item>
        <item>
            <title>damages</title>
            <category>(de)</category>
            <category>SmallTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/05/16/damages.aspx</link>
            <description>&lt;p&gt;Eigentlich bin ich kein Fernsehjunkie. Meinen Bedarf an Entertainment und Education befriedige ich primär durch das Lesen guter Bücher und das allgegenwärtige Internet. Mein TV Konsum hat sich in den letzten Monaten auf das exzellente &lt;a target="_blank" href="http://www.abc.go.com/primetime/bostonlegal/index?pn=index"&gt;Boston Legal&lt;/a&gt; beschränkt, wobei ich in der Regel die DVD Variante in der OV (Original Version) bevorzuge. Das deutsche Privatfernsehen unterbricht seine Sendungen inzwischen ähnlich häufig mit Werbung, wie es in Amerika schon lange Zeit die Regel ist. Qualitativ hochwertige Produktionen leiden zusätzlich häufig auch noch unter der deutschen Synchronisation. Die Pilotfolge von &lt;a target="_blank" href="http://www.fxnetworks.com/shows/originals/damages/#/home/"&gt;&lt;em&gt;Damages&lt;/em&gt;&lt;/a&gt; zeigte &lt;a target="_blank" href="http://damages.kabeleins.dehttp://damages.kabeleins.de"&gt;kabeleins&lt;/a&gt; am 28. April 2008 von 21:10 Uhr bis 23:15 Uhr; die absolute Spielzeit dieser Episode beträgt 53 Minuten. kabeleins mutet uns also über 60 Minuten Werbebotschaften zu - unerträglich!&lt;/p&gt;
&lt;p&gt;Über &lt;em&gt;Damages&lt;/em&gt; wurde viel geschrieben und gesagt, eine knackige und kurze Zusammenfassung findet sich &lt;a target="_blank" href="http://chicago.metromix.com/tv/tv_review/damages-review/114710/content"&gt;hier&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/damages_BD9D/image_2.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="166" height="134" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/damages_BD9D/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Ich bin ein sehr kritischer Kinobesucher und Fernsehzuschauer und kann ohne Übertreigung sagen, &lt;strong&gt;dass &lt;em&gt;Damages&lt;/em&gt; für mich die beste TV Serie der letzten Jahre ist&lt;/strong&gt;. Nachdem ich die Pilotfolge werbefrei in Deutsch genossen und sie anschließend noch einmal in der Originalversion angeschaut habe, musste ich Episode 1 - 8 &lt;em&gt;an einem Stück eine ganze Nacht lang &lt;/em&gt;anschauen. Episode 9 - 13 habe ich in den letzten Tagen verschlungen.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Damages&lt;/em&gt; wartet einerseits mit der bis in jede Nebenrolle besten Besetzung auf, die seit Jahren im TV geboten wird. Die fünffach Oskar nominierte Emmy und Golden Globe Preisträgerin &lt;a target="_blank" href="http://www.imdb.com/name/nm0000335/"&gt;Glenn Close&lt;/a&gt;, der dreifache Golden Globe Gewinner &lt;a target="_blank" href="http://www.imdb.com/name/nm0001101/"&gt;Ted Danson&lt;/a&gt; und eine überragende Golden Globe nominierte Rose Byrne liefern derart intensive Interpretationen ihrer Charaktere ab, dass man sich ihrer Sogwirkung nicht enziehen kann. Es ist ein Genuß diesem Essemble zuzusehen.&lt;/p&gt;
&lt;p&gt;Was &lt;em&gt;Damages&lt;/em&gt; für mich tatsächlich unwiderstehlich macht ist darüber hinaus die Inszenierung. Im Unterschied zu vielen amerikanischen Produktionen (Boston Legal, CSI, etc.) sind die einzelnen Episoden der Serie nicht in sich abgeschlossene Teile, die von einem dünnen roten Faden begleitet werden, der sich eher nebensächlich durch alle Folgen zieht. Die Pilotfolge und 12 Episoden von &lt;em&gt;Damages&lt;/em&gt; drehen sich ausschließlich um einen einzigen Handlungsstrang. In der Konsequenz kann man keine Folge auslassen und auch nicht mitten in der Serie einsteigen. Das übliche "Was bisher geschah" hilft auch nicht, da in &lt;em&gt;Damages&lt;/em&gt; sprichwörtlich nahezu jeder Satz in jedem einzelnen Dialog von Bedeutung für das Verständnis des Gesamtzusammenhanges bekommen wird.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Damages&lt;/em&gt; spielt gekonnt mit Rückblenden und Vorschauen und die Pilotfolge beginnt tatsächlich mit einem Ereignis, welches zeitlich gesehen erst in der vorletzten Episode tatsächlich passiert. Schnitt und Inszenierung unterstützen in für mich bislang nicht gekannter Art und Weise diese Erzählmechanik, ohne dass sie auch nur ein einziges Mal zum Gimick verkommen.&lt;/p&gt;
&lt;p&gt;Einzigartig sind auch die Cliff Hanger von &lt;em&gt;Damages&lt;/em&gt;. Die Produzenten schaffen es tatsächlich in jeder Episode weitere Teile des Mosaiks so zu enthüllen, dass die Positionen, Haltungen und Absichten aller handelnden Personen um 180 Grad gedreht erscheinen. War man sich als Zuschauer gerade noch sicher wer gut und wer böse ist und welche Motivation zu welcher Handlung geführt haben muss, so wendet sich das Blatt von Folge zu Folge vollständig. Tatsächlich enthält die &lt;em&gt;Schlußszene der letzten Episode&lt;/em&gt; (in der Tat in den letzten 15 Sekunden!) eine völlig dialogfreie Sequenz, die &lt;em&gt;alles&lt;/em&gt; der vorausgehenden Episoden in Frage stellt.&lt;/p&gt;
&lt;p&gt;Beim Spiel mit verschiedenen Zeitebenen und drastischen Positionsveränderungen besteht häufig die Gefahr, dass der Zuschauer auf der Strecke bleibt oder frustiert wird. Zuletzt durften wir in &lt;a target="_blank" href="http://www.sonypictures.de/landing/8blickwinkel/"&gt;8 Blickwinkel&lt;/a&gt; lernen, wie man es &lt;em&gt;nicht&lt;/em&gt; macht. Einen großen Teil der Faszination von &lt;em&gt;Damages&lt;/em&gt; macht die bis dato unübertroffen gekonnte Anwendung genau dieser Stilmittel in der Serie aus. Bis ins kleinste Teil nuanciert dosiert und zu jeder Zeit der Erzählung dienend führen die Produzenten den Zuschauer durch das Rätsel von &lt;em&gt;Damages&lt;/em&gt; ohne im Finale Fragen unbeantwortet zu lassen. Dass dabei die letzte Episode gleichzeitig aber auch noch eine zweite Season möglich macht, grenzt schlichtweg an Genialität. &lt;em&gt;Damages&lt;/em&gt; ist an genau den richtige Stellen dezent unkonventionell. Kein bombastisches Trauermusik Score bei Beerdigungen sondern totale Stille, keine blutige Effekthascherei, keine Schießerei und keine actiongeladene Verfolgungsjagd. Dafür aber ein minutiös durchdachtes Drehbuch mit einem noch nie dagewesenen Gefühl für das richtige Timing.&lt;/p&gt;
&lt;p&gt;(By the way: kabeleins erzielte mit &lt;em&gt;Damages&lt;/em&gt; im deutschen Markt bislang Horrorquoten. Ursachen sind wahrscheinlich, dass die kabeleins Zielgruppe mit &lt;em&gt;Damages &lt;/em&gt;nicht sehr viel anfangen kann, kabeleins den Sendeplatz der Serie kurzfristig verlegte und nicht deutlich genug gemacht wurde, dass ein Mittendrin-Einstieg bei &lt;em&gt;Damages&lt;/em&gt; nicht funktioniert.)&lt;/p&gt;
&lt;p&gt;Da zu befürchten ist, dass kabeleins rein quotengetrieben die Ausstrahlung von &lt;em&gt;Damages &lt;/em&gt;wieder einstellt, empfehle ich allen Filmbegeisterten, sich entweder die DVD der originalen Version zu bestellen, oder über die bekannten Wege die werbefreien deutschen Versionen zu besorgen.&lt;/p&gt;
&lt;p&gt;kabeleins zeigt zum Zeitpunkt der Veröffentlichung dieses Eintrages die siebte Episode. In den USA wurde &lt;em&gt;Damages &lt;/em&gt;vom 24.07. bis zum 23.10. ausgestrahlt und erzielte Rekordquoten. Die Produktion einer zweiten und dritten Staffel sind bereits beschlossen, die &lt;a target="_blank" href="http://www.tvguide.com/ask-ausiello/damages/080305-13"&gt;Ausstrahlung von Season 2 in den USA wird für Januar 2009 erwartet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hier noch einige Link-Tipps:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Die Titelmusik von &lt;em&gt;Damages&lt;/em&gt; stammt von der relativ unbekannten Band The V.L.A. und kann auf &lt;a target="_blank" href="http://www.myspace.com/thevlaband"&gt;deren MySpace Seite&lt;/a&gt; kostenfrei als Download geladen werden - vorausgesetzt man ist selbst MySpace Mitglied. &lt;/li&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://community.tvguide.com/blog/TV-Show-Blog/Damages/800054388&amp;amp;start=15"&gt;TVGuide.com führt einen Blog&lt;/a&gt; in dem jede Episode kommentiert wird. &lt;strong&gt;Achtung: Nicht die Einträge von Episoden lesen, die Ihr noch nicht gesehen habt, da teilweise heftige Spoiler enthalten sind!&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;In dem ebenfalls auf TVGuide erschienenen Beitrag "&lt;a target="_blank" href="http://www.tvguide.com/news/damages-finale-answers/071026-05"&gt;Burning Final Questions Answered&lt;/a&gt;" beantworten die Produzenten in einem äußerst interessanten Interview Fragen zu den Hintergründen einzelner Episoden. &lt;strong&gt;Warnung: Auf gar keinen Fall lesen, bevor Ihr nicht &lt;u&gt;alle&lt;/u&gt; Episoden gesehen habt!&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;Eine Auswahl von inoffiziellen &lt;a target="_blank" href="http://www.entertainmentwallpaper.com/tv/damages/"&gt;Bildschirmhintergründen&lt;/a&gt; (Wallpaper). &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ich freue mich über Feedback von alten und neuen &lt;em&gt;Damages &lt;/em&gt;Fans!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; DISPLAY: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:32d4cc9f-7ee9-4b4f-a42b-f36d2d05a6b8" class="wlWriterSmartContent"&gt;
&lt;div class="tags"&gt;Tags: &lt;a rel="tag" href="http://technorati.com/tags/Damages"&gt;Damages&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Glenn%20Close"&gt;Glenn Close&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/kabeleins"&gt;kabeleins&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/145.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/05/16/damages.aspx</guid>
            <pubDate>Fri, 16 May 2008 13:49:24 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/145.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/05/16/damages.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/145.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/145.aspx</trackback:ping>
        </item>
        <item>
            <title>getting quoted and feedback</title>
            <category>(en)</category>
            <category>SmallTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/05/15/getting-quoted-and-feedback.aspx</link>
            <description>&lt;p&gt;One of the benefits I like about blogging is the feedback and networking contacts which one gets over time. I've been on a business trip to The Netherlands, today, and have just returned to find out that I've been featured by Microsoft's Tech Ed editors:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/gettingquotedandfeedback_12E67/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" border="0" alt="image" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/gettingquotedandfeedback_12E67/image_thumb.png" width="596" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;They currently do a daily Tech Ed Blogger highlight series. &lt;a href="http://www.microsoft.com/techedonline/" target="_blank"&gt;Go check it out&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;I also appreciate that the team creating the &lt;a href="http://www.silverlightshow.net/news/Articles-and-Demos-for-May-12-2008.aspx" target="_blank"&gt;SilverlightShow&lt;/a&gt; cited 24100.net:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/gettingquotedandfeedback_12E67/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" border="0" alt="image" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/gettingquotedandfeedback_12E67/image_thumb_1.png" width="542" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It's good to know that people are actually keeping in touch. I plan to post a new Silverlight 2 tutorial Sunday evening as I spend most of my weekend in hotels for yet another business trip.. .&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0ee5edf5-c49e-4b7f-b998-00d7188e4568" class="wlWriterSmartContent"&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tags/24100.net" rel="tag"&gt;24100.net&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/144.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/05/15/getting-quoted-and-feedback.aspx</guid>
            <pubDate>Thu, 15 May 2008 19:30:39 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/144.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/05/15/getting-quoted-and-feedback.aspx#feedback</comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/144.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/144.aspx</trackback:ping>
        </item>
        <item>
            <title>expression blend 2 and web 2 available on MSDN</title>
            <category>(en)</category>
            <category>TechTalk</category>
            <link>http://talentgrouplabs.com/blog/archive/2008/05/12/expression-blend-2-and-web-2-available-on-msdn.aspx</link>
            <description>&lt;p&gt;Today Microsoft has made available Expression Blend 2 for MSDN subscribers. It's just a bit difficult to find. :-) For those who want it, log into your MSDN subscription. Navigate away from the &lt;em&gt;Download Home&lt;/em&gt; by clicking &lt;em&gt;Home&lt;/em&gt;. You should be presented with the list of &lt;em&gt;Top Downloads&lt;/em&gt;. There you'll find it:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/expressionblend2andweb2availableonMSDN_13BF2/image_2.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border="0" alt="image" width="644" height="203" src="http://talentgrouplabs.com/blog/images/talentgrouplabs_com/blog/WindowsLiveWriter/expressionblend2andweb2availableonMSDN_13BF2/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I could &lt;strong&gt;not&lt;/strong&gt; find Expression 2 in the &lt;em&gt;Download Home&lt;/em&gt; for whatever reason. If you've got difficulties finding the files, here are direct links (you need to be authenticated for obvious reasons...):&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/subscriptions/manage/default.aspx?CA=Akamai||0CCDC629-38E3-4B2B-9319-8B6135774045|MDN-SD1-000001|msdn/en_expression_blend_2_x86_dvd_x14-80953.iso"&gt;Expression Blend 2 MSDN Download&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/subscriptions/manage/default.aspx?CA=Akamai||0CCDC629-38E3-4B2B-9319-8B6135774045|MDN-SD1-000001|msdn/en_expression_web_2_x86_dvd_x14-84789.iso"&gt;Expression Web 2 MSDN Download&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Along with Blend and Web the 2.0 versions of Encoder, Media, Design and Studio are also ready for download on MSDN. I do not provide direct links, as Blend might very likely be the most important download for my blog's audience.&lt;/p&gt;
&lt;p&gt;As you see the first Service Pack for Visual Studio 2008 has been releases. &lt;strong&gt;Be aware it is a BETA release and it currently BREAKS Silverlight 2 tooling (which is in beta, too).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; DISPLAY: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a2b7a52b-d5dc-4306-adaa-16e78a0c0c2b" class="wlWriterSmartContent"&gt;
&lt;div class="tags"&gt;Tags: &lt;a rel="tag" href="http://technorati.com/tags/expression%20blend%202"&gt;expression blend 2&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://talentgrouplabs.com/blog/aggbug/143.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ralf Rottmann</dc:creator>
            <guid>http://talentgrouplabs.com/blog/archive/2008/05/12/expression-blend-2-and-web-2-available-on-msdn.aspx</guid>
            <pubDate>Mon, 12 May 2008 20:28:12 GMT</pubDate>
            <wfw:comment>http://talentgrouplabs.com/blog/comments/143.aspx</wfw:comment>
            <comments>http://talentgrouplabs.com/blog/archive/2008/05/12/expression-blend-2-and-web-2-available-on-msdn.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://talentgrouplabs.com/blog/comments/commentRss/143.aspx</wfw:commentRss>
            <trackback:ping>http://talentgrouplabs.com/blog/services/trackbacks/143.aspx</trackback:ping>
        </item>
    </channel>
</rss>