<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Damir's Corner - Development|.NET</title>
    <link>http://www.damirscorner.com/</link>
    <description>Notes from Daily Encounters with Technology</description>
    <language>en-us</language>
    <copyright>Damir Arh, M. Sc.</copyright>
    <lastBuildDate>Mon, 17 Jun 2013 15:59:00 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>damir.arh@gmail.com</managingEditor>
    <webMaster>damir.arh@gmail.com</webMaster>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=488134a1-eb3c-49eb-a697-7de96ef26d51</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,488134a1-eb3c-49eb-a697-7de96ef26d51.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,488134a1-eb3c-49eb-a697-7de96ef26d51.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=488134a1-eb3c-49eb-a697-7de96ef26d51</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
What’s wrong with the following piece of code?
</p>
        <script src="https://gist.github.com/damirarh/5759224.js">
        </script>
        <p>
It might seem just fine to you, but if you try to run it, it will throw a NotSupportedException
in the last line: Collection is read-only. How come?
</p>
        <p>
If you read closely the <a href="http://msdn.microsoft.com/en-us/library/ms132683.aspx">documentation
for the constructor used</a>, it might become clear. When you pass an instance of
IList&lt;T&gt; to the constructor, the BindingList&lt;T&gt; doesn’t create its copy.
It serves as a wrapper for it, supporting only the operations also supported by the
underlying collection. Since an array implements IList&lt;T&gt; as a read-only collection,
BindingList&lt;T&gt; throws the above mentioned exception when you try to modify it
in any way. Interestingly enough, array doesn’t implement non-generic IList as read-only:
</p>
        <script src="https://gist.github.com/damirarh/5759446.js">
        </script>
        <p>
Anyway, keep in mind that BindingList is only a wrapper for the collection you pass
it, therefore any changes made to BindingList will automatically also be applied to
the underlying collection. This might be okay if you’re aware of it, otherwise make
sure you pass a copy of your list to the BindingList to keep it unchanged:
</p>
        <script src="https://gist.github.com/damirarh/5759485.js">
        </script>
        <p>
As far as passing an array to BindingList constructor goes: I can’t think of a case
when this would be useful.
</p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=488134a1-eb3c-49eb-a697-7de96ef26d51" />
      </body>
      <title>BindingList Collection Is Read-Only</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,488134a1-eb3c-49eb-a697-7de96ef26d51.aspx</guid>
      <link>http://www.damirscorner.com/BindingListCollectionIsReadOnly.aspx</link>
      <pubDate>Mon, 17 Jun 2013 15:59:00 GMT</pubDate>
      <description>&lt;p&gt;
What’s wrong with the following piece of code?
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5759224.js"&gt;&lt;/script&gt;
&lt;p&gt;
It might seem just fine to you, but if you try to run it, it will throw a NotSupportedException
in the last line: Collection is read-only. How come?
&lt;/p&gt;
&lt;p&gt;
If you read closely the &lt;a href="http://msdn.microsoft.com/en-us/library/ms132683.aspx"&gt;documentation
for the constructor used&lt;/a&gt;, it might become clear. When you pass an instance of
IList&amp;lt;T&amp;gt; to the constructor, the BindingList&amp;lt;T&amp;gt; doesn’t create its copy.
It serves as a wrapper for it, supporting only the operations also supported by the
underlying collection. Since an array implements IList&amp;lt;T&amp;gt; as a read-only collection,
BindingList&amp;lt;T&amp;gt; throws the above mentioned exception when you try to modify it
in any way. Interestingly enough, array doesn’t implement non-generic IList as read-only:
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5759446.js"&gt;&lt;/script&gt;
&lt;p&gt;
Anyway, keep in mind that BindingList is only a wrapper for the collection you pass
it, therefore any changes made to BindingList will automatically also be applied to
the underlying collection. This might be okay if you’re aware of it, otherwise make
sure you pass a copy of your list to the BindingList to keep it unchanged:
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5759485.js"&gt;&lt;/script&gt;
&lt;p&gt;
As far as passing an array to BindingList constructor goes: I can’t think of a case
when this would be useful.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=488134a1-eb3c-49eb-a697-7de96ef26d51" /&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,488134a1-eb3c-49eb-a697-7de96ef26d51.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Development/C#</category>
    </item>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=90166266-0d15-44c2-b437-654ca16abb42</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,90166266-0d15-44c2-b437-654ca16abb42.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,90166266-0d15-44c2-b437-654ca16abb42.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=90166266-0d15-44c2-b437-654ca16abb42</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently I encountered strange and inconsistent behavior in exceptions being thrown
by different file operations in WinRT. Let’s start with a snippet:
</p>
        <script src="https://gist.github.com/damirarh/5520351.js">
        </script>
        <p>
Although there is a file named Text.txt in Assets folder of the application package,
the above code throws an exception. If you were paying close attention while reading
the code you might have even noticed the problem. There’s no exception thrown in the
first line, though. Instead the second line throws an ArgumentException: Value does
not fall within the expected range. Strange, isn’t it?
</p>
        <p>
Let’s take a closer look by putting a breakpoint on the second line. The problem lies
in the value of file.Path property: C:\Users\Username\Documents\Visual Studio 2012\Projects\SlnName\ProjName\bin\Debug\AppX\\Assets\Text.txt.
Did you notice the two backslashes before the Assets folder? They’re causing the problem.
CopyAsync method can’t find the file because of it and throws the non-descriptive
exception which doesn’t really help pinpointing its cause. Calling ReadTextAsync on
the file instead would’ve make it much easier:
</p>
        <script src="https://gist.github.com/damirarh/5520383.js">
        </script>
        <p>
In this case the second line throws FileNotFoundException: The filename, directory
name, or volume label syntax is incorrect. Definitely much clearer. Too bad, CopyAsync
doesn’t throw the same exception. It would have made troubleshooting the original
issue much easier.
</p>
        <p>
That’s not all, though. I still think the exception should already be thrown in the
first line. If we replace the filename with a non-existent one (e.g. Text1.txt), it
does throw FileNotFoundException as expected: The system cannot find the file specified.
It seems that for some reason GetFileAsync can handle paths with double backslashes.
It even sets file.DateCreated correctly, so there can be no doubt about that. The
other methods don’t seem to support this same syntax. That’s not a problem per se,
but in my opinion all methods should behave the same to avoid confusion: either support
the syntax or not. Until that happens, I’ll keep in mind the described anomaly, just
in case I stumble upon it again.
</p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=90166266-0d15-44c2-b437-654ca16abb42" />
      </body>
      <title>Inconsistent Exceptions for WinRT File Operations</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,90166266-0d15-44c2-b437-654ca16abb42.aspx</guid>
      <link>http://www.damirscorner.com/InconsistentExceptionsForWinRTFileOperations.aspx</link>
      <pubDate>Mon, 20 May 2013 04:00:00 GMT</pubDate>
      <description>&lt;p&gt;
Recently I encountered strange and inconsistent behavior in exceptions being thrown
by different file operations in WinRT. Let’s start with a snippet:
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5520351.js"&gt;&lt;/script&gt;
&lt;p&gt;
Although there is a file named Text.txt in Assets folder of the application package,
the above code throws an exception. If you were paying close attention while reading
the code you might have even noticed the problem. There’s no exception thrown in the
first line, though. Instead the second line throws an ArgumentException: Value does
not fall within the expected range. Strange, isn’t it?
&lt;/p&gt;
&lt;p&gt;
Let’s take a closer look by putting a breakpoint on the second line. The problem lies
in the value of file.Path property: C:\Users\Username\Documents\Visual Studio 2012\Projects\SlnName\ProjName\bin\Debug\AppX\\Assets\Text.txt.
Did you notice the two backslashes before the Assets folder? They’re causing the problem.
CopyAsync method can’t find the file because of it and throws the non-descriptive
exception which doesn’t really help pinpointing its cause. Calling ReadTextAsync on
the file instead would’ve make it much easier:
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5520383.js"&gt;&lt;/script&gt;
&lt;p&gt;
In this case the second line throws FileNotFoundException: The filename, directory
name, or volume label syntax is incorrect. Definitely much clearer. Too bad, CopyAsync
doesn’t throw the same exception. It would have made troubleshooting the original
issue much easier.
&lt;/p&gt;
&lt;p&gt;
That’s not all, though. I still think the exception should already be thrown in the
first line. If we replace the filename with a non-existent one (e.g. Text1.txt), it
does throw FileNotFoundException as expected: The system cannot find the file specified.
It seems that for some reason GetFileAsync can handle paths with double backslashes.
It even sets file.DateCreated correctly, so there can be no doubt about that. The
other methods don’t seem to support this same syntax. That’s not a problem per se,
but in my opinion all methods should behave the same to avoid confusion: either support
the syntax or not. Until that happens, I’ll keep in mind the described anomaly, just
in case I stumble upon it again.
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=90166266-0d15-44c2-b437-654ca16abb42"/&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,90166266-0d15-44c2-b437-654ca16abb42.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Development/C#</category>
      <category>Development/Metro</category>
      <category>Development/Windows Store</category>
    </item>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=59faa4a2-fba0-483f-a56f-393662ad38a5</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,59faa4a2-fba0-483f-a56f-393662ad38a5.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,59faa4a2-fba0-483f-a56f-393662ad38a5.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=59faa4a2-fba0-483f-a56f-393662ad38a5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On the final day of NT Conference 2013 I had my last session. This time I was speaking
about my experiences with building LOB (line of business) applications for Windows
Store. As always, <a href="http://www.slideshare.net/xAmigan/windows-store-lob-apps-v-poslovnih-okoljih">slides</a> and <a href="https://bitbucket.org/damirarh/ntk2013-windowsstorelob">samples</a> are
available here and from the conference web site.
</p>
        <p align="center">
          <iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/20078617" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen="mozallowfullscreen" webkitallowfullscreen="webkitallowfullscreen" allowfullscreen="allowfullscreen">
          </iframe>
        </p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=59faa4a2-fba0-483f-a56f-393662ad38a5" />
      </body>
      <title>Windows Store LOB Apps Session at NT Conference 2013</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,59faa4a2-fba0-483f-a56f-393662ad38a5.aspx</guid>
      <link>http://www.damirscorner.com/WindowsStoreLOBAppsSessionAtNTConference2013.aspx</link>
      <pubDate>Sat, 27 Apr 2013 13:28:20 GMT</pubDate>
      <description>&lt;p&gt;
On the final day of NT Conference 2013 I had my last session. This time I was speaking
about my experiences with building LOB (line of business) applications for Windows
Store. As always, &lt;a href="http://www.slideshare.net/xAmigan/windows-store-lob-apps-v-poslovnih-okoljih"&gt;slides&lt;/a&gt; and &lt;a href="https://bitbucket.org/damirarh/ntk2013-windowsstorelob"&gt;samples&lt;/a&gt; are
available here and from the conference web site.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/20078617" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen webkitallowfullscreen allowfullscreen&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=59faa4a2-fba0-483f-a56f-393662ad38a5" /&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,59faa4a2-fba0-483f-a56f-393662ad38a5.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Development/Metro</category>
      <category>Development/Windows Store</category>
      <category>Downloads</category>
      <category>Downloads/Presentations</category>
      <category>Downloads/Sources</category>
    </item>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=5ff1ab92-2d82-4841-a76d-e9eada319f49</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,5ff1ab92-2d82-4841-a76d-e9eada319f49.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,5ff1ab92-2d82-4841-a76d-e9eada319f49.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=5ff1ab92-2d82-4841-a76d-e9eada319f49</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
At NT conference 2013 I hade 3 sessions in 2 different PreCon tracks. Apart from the
one on <a href="http://www.damirscorner.com/BuildingConnectedAppsSessionAtNTConference2013.aspx">connected
apps for Windows 8 and Windows Phone 8</a> I had 2 consecutive ones, both covering
the topic of design patterns, focusing on client application development.
</p>
        <p>
In the first one I was comparing the three main approaches to developing user interfaces:
MVP (Model-View-Presenter), MVC (Model-View-Controller) and MVVM (Model-View-ViewModel).
Here are the <a href="http://www.slideshare.net/xAmigan/mvvm-mvp-in-mvc-podobnosti-in-razlike">slides</a> and
the <a href="https://bitbucket.org/damirarh/mvp-mvc-mvvm">sample apps</a>.
</p>
        <p align="center">
          <iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/20076173" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen="mozallowfullscreen" webkitallowfullscreen="webkitallowfullscreen" allowfullscreen="allowfullscreen">
          </iframe>
        </p>
        <p>
In the second one I took the WPF sample app for MVVM design pattern from the previous
session and modified it for injecting dependencies using an IoC container, arguing
why this is useful and generally a good thing. <a href="http://www.slideshare.net/xAmigan/ioc-koristen-vzorec-ali-nepotrebna-komplikacija">Slides</a> and <a href="https://bitbucket.org/damirarh/ioc">samples</a> from
this session are available for download as well.
</p>
        <p align="center">
          <iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/20076320" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen="mozallowfullscreen" webkitallowfullscreen="webkitallowfullscreen" allowfullscreen="allowfullscreen">
          </iframe>
        </p>
        <p>
You can also find all the my slides and samples at the conference web site.
</p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=5ff1ab92-2d82-4841-a76d-e9eada319f49" />
      </body>
      <title>Architecture Sessions at NT Conference 2013</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,5ff1ab92-2d82-4841-a76d-e9eada319f49.aspx</guid>
      <link>http://www.damirscorner.com/ArchitectureSessionsAtNTConference2013.aspx</link>
      <pubDate>Sat, 27 Apr 2013 12:50:46 GMT</pubDate>
      <description>&lt;p&gt;
At NT conference 2013 I hade 3 sessions in 2 different PreCon tracks. Apart from the
one on &lt;a href="http://www.damirscorner.com/BuildingConnectedAppsSessionAtNTConference2013.aspx"&gt;connected
apps for Windows 8 and Windows Phone 8&lt;/a&gt; I had 2 consecutive ones, both covering
the topic of design patterns, focusing on client application development.
&lt;/p&gt;
&lt;p&gt;
In the first one I was comparing the three main approaches to developing user interfaces:
MVP (Model-View-Presenter), MVC (Model-View-Controller) and MVVM (Model-View-ViewModel).
Here are the &lt;a href="http://www.slideshare.net/xAmigan/mvvm-mvp-in-mvc-podobnosti-in-razlike"&gt;slides&lt;/a&gt; and
the &lt;a href="https://bitbucket.org/damirarh/mvp-mvc-mvvm"&gt;sample apps&lt;/a&gt;.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/20076173" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen webkitallowfullscreen allowfullscreen&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;p&gt;
In the second one I took the WPF sample app for MVVM design pattern from the previous
session and modified it for injecting dependencies using an IoC container, arguing
why this is useful and generally a good thing. &lt;a href="http://www.slideshare.net/xAmigan/ioc-koristen-vzorec-ali-nepotrebna-komplikacija"&gt;Slides&lt;/a&gt; and &lt;a href="https://bitbucket.org/damirarh/ioc"&gt;samples&lt;/a&gt; from
this session are available for download as well.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/20076320" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen webkitallowfullscreen allowfullscreen&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;p&gt;
You can also find all the my slides and samples at the conference web site.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=5ff1ab92-2d82-4841-a76d-e9eada319f49" /&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,5ff1ab92-2d82-4841-a76d-e9eada319f49.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Development/ASP.NET MVC</category>
      <category>Development/C#</category>
      <category>Development/WPF</category>
      <category>Downloads</category>
      <category>Downloads/Presentations</category>
      <category>Downloads/Sources</category>
    </item>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=119874b7-da52-4b3e-9af8-ca14dea25450</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,119874b7-da52-4b3e-9af8-ca14dea25450.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,119874b7-da52-4b3e-9af8-ca14dea25450.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=119874b7-da52-4b3e-9af8-ca14dea25450</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
At <a href="http://www.ntk.si/">NT conference 2013</a> I opened the Windows 8 and
Windows Phone 8 Developer Tales from the Tranches PreCon track with a session on Building
Connected Apps. I addressed all aspects of network communications, focusing on available
APIs but also spending some time on the expectations for mobile applications in respect
to network usage.
</p>
        <p>
Although the session materials are already on the conference web site, I’m also publishing
them here to keep them available after the conference site is closed down: both <a href="http://www.slideshare.net/xAmigan/gradnja-povezanih-aplikacij">slides</a> and <a href="https://bitbucket.org/damirarh/ntk2013-connectedapps">samples</a>.
</p>
        <p align="center">
          <iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/20070540" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen="mozallowfullscreen" webkitallowfullscreen="webkitallowfullscreen" allowfullscreen="allowfullscreen">
          </iframe>
        </p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=119874b7-da52-4b3e-9af8-ca14dea25450" />
      </body>
      <title>Building Connected Apps Session at NT conference 2013</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,119874b7-da52-4b3e-9af8-ca14dea25450.aspx</guid>
      <link>http://www.damirscorner.com/BuildingConnectedAppsSessionAtNTConference2013.aspx</link>
      <pubDate>Sat, 27 Apr 2013 10:49:11 GMT</pubDate>
      <description>&lt;p&gt;
At &lt;a href="http://www.ntk.si/"&gt;NT conference 2013&lt;/a&gt; I opened the Windows 8 and
Windows Phone 8 Developer Tales from the Tranches PreCon track with a session on Building
Connected Apps. I addressed all aspects of network communications, focusing on available
APIs but also spending some time on the expectations for mobile applications in respect
to network usage.
&lt;/p&gt;
&lt;p&gt;
Although the session materials are already on the conference web site, I’m also publishing
them here to keep them available after the conference site is closed down: both &lt;a href="http://www.slideshare.net/xAmigan/gradnja-povezanih-aplikacij"&gt;slides&lt;/a&gt; and &lt;a href="https://bitbucket.org/damirarh/ntk2013-connectedapps"&gt;samples&lt;/a&gt;.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/20070540" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen webkitallowfullscreen allowfullscreen&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=119874b7-da52-4b3e-9af8-ca14dea25450" /&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,119874b7-da52-4b3e-9af8-ca14dea25450.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Development/Metro</category>
      <category>Development/Windows Store</category>
      <category>Development/WP</category>
      <category>Downloads</category>
      <category>Downloads/Presentations</category>
      <category>Downloads/Sources</category>
    </item>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=3016ec0f-14fb-4e9a-8f84-4474b88f444d</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,3016ec0f-14fb-4e9a-8f84-4474b88f444d.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,3016ec0f-14fb-4e9a-8f84-4474b88f444d.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=3016ec0f-14fb-4e9a-8f84-4474b88f444d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p align="left">
          <img title=".Net Framework 4.5 Expert Programming Cookbook" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt=".Net Framework 4.5 Expert Programming Cookbook" align="right" src="http://www.damirscorner.com/content/binary/Windows-Live-Writer/Book-Revie.5-Expert-Programming-Cookbook_AE3F/image_3.png" width="200" height="246" />The
latest Packt publishing book I received a free review copy for was <a href="http://www.packtpub.com/dotnet-framework-4-5-expert-programming-cookbook/book">.Net
Framework 4.5 Expert Programming Cookbook</a> by A.P. Rajshekhar.
</p>
        <p>
As soon as I glanced over the table of contents it stood out to me that this book
doesn’t really have a prevailing theme even though it’s pretty thin. It’s a collection
of mostly unrelated recipes, i.e. short  snippets of code focusing on a single
problem accompanied by detailed explanation. In spite of the title, not of all of
them are really .NET 4.5 specific, many of the features used have been available in
previous versions as well. The book does mention that for each individual recipe.
</p>
        <p>
Most of the sample code also includes much plumbing (mostly UI setup) which doesn’t
really have anything to do with the problem at hand. I found that pretty distracting
during reading. I think it would be a better idea to include full sample programs
as download only and focus more on the actual recipe in the book. This might not be
completely in line with the cookbook approach but I doubt anyone is going to type
the code from the book, anyway.
</p>
        <p>
I’ve never really been a fan of recipe based books although <a href="http://www.damirscorner.com/BookReviewWindowsPresentationFoundation45Cookbook.aspx">I
did like some of them</a> if they provided enough value in the explanations to warrant
reading the book as whole. This one does seem more like a collection of blog posts,
although admittedly it has passed a much stricter review process. Still a couple of
recipes are objectionable, such as the ones still manually handling threads in the
age of .NET 4.5. Most of the recipes are well written, though. If enough of them are
of interest to the reader they should provide enough value to be worth the purchase.
Fortunately the complete table of contents is <a href="http://www.packtpub.com/dotnet-framework-4-5-expert-programming-cookbook/book">available
online</a> and I definitely suggest everyone to check it out before deciding whether
to buy the book or not.
</p>
        <p>
The book is available on <a href="http://www.amazon.com/gp/product/1849687420/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1849687420&amp;linkCode=as2&amp;tag=damacor-20">Amazon</a> and <a href="http://www.packtpub.com/dotnet-framework-4-5-expert-programming-cookbook/book">sold
directly by the publisher</a>.
</p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=3016ec0f-14fb-4e9a-8f84-4474b88f444d" />
      </body>
      <title>Book Review: .Net Framework 4.5 Expert Programming Cookbook</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,3016ec0f-14fb-4e9a-8f84-4474b88f444d.aspx</guid>
      <link>http://www.damirscorner.com/BookReviewNetFramework45ExpertProgrammingCookbook.aspx</link>
      <pubDate>Sat, 23 Mar 2013 12:14:55 GMT</pubDate>
      <description>&lt;p align="left"&gt;
&lt;img title=".Net Framework 4.5 Expert Programming Cookbook" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt=".Net Framework 4.5 Expert Programming Cookbook" align="right" src="http://www.damirscorner.com/content/binary/Windows-Live-Writer/Book-Revie.5-Expert-Programming-Cookbook_AE3F/image_3.png" width="200" height="246"&gt;The
latest Packt publishing book I received a free review copy for was &lt;a href="http://www.packtpub.com/dotnet-framework-4-5-expert-programming-cookbook/book"&gt;.Net
Framework 4.5 Expert Programming Cookbook&lt;/a&gt; by A.P. Rajshekhar.
&lt;/p&gt;
&lt;p&gt;
As soon as I glanced over the table of contents it stood out to me that this book
doesn’t really have a prevailing theme even though it’s pretty thin. It’s a collection
of mostly unrelated recipes, i.e. short&amp;nbsp; snippets of code focusing on a single
problem accompanied by detailed explanation. In spite of the title, not of all of
them are really .NET 4.5 specific, many of the features used have been available in
previous versions as well. The book does mention that for each individual recipe.
&lt;/p&gt;
&lt;p&gt;
Most of the sample code also includes much plumbing (mostly UI setup) which doesn’t
really have anything to do with the problem at hand. I found that pretty distracting
during reading. I think it would be a better idea to include full sample programs
as download only and focus more on the actual recipe in the book. This might not be
completely in line with the cookbook approach but I doubt anyone is going to type
the code from the book, anyway.
&lt;/p&gt;
&lt;p&gt;
I’ve never really been a fan of recipe based books although &lt;a href="http://www.damirscorner.com/BookReviewWindowsPresentationFoundation45Cookbook.aspx"&gt;I
did like some of them&lt;/a&gt; if they provided enough value in the explanations to warrant
reading the book as whole. This one does seem more like a collection of blog posts,
although admittedly it has passed a much stricter review process. Still a couple of
recipes are objectionable, such as the ones still manually handling threads in the
age of .NET 4.5. Most of the recipes are well written, though. If enough of them are
of interest to the reader they should provide enough value to be worth the purchase.
Fortunately the complete table of contents is &lt;a href="http://www.packtpub.com/dotnet-framework-4-5-expert-programming-cookbook/book"&gt;available
online&lt;/a&gt; and I definitely suggest everyone to check it out before deciding whether
to buy the book or not.
&lt;/p&gt;
&lt;p&gt;
The book is available on &lt;a href="http://www.amazon.com/gp/product/1849687420/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1849687420&amp;amp;linkCode=as2&amp;amp;tag=damacor-20"&gt;Amazon&lt;/a&gt; and &lt;a href="http://www.packtpub.com/dotnet-framework-4-5-expert-programming-cookbook/book"&gt;sold
directly by the publisher&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=3016ec0f-14fb-4e9a-8f84-4474b88f444d" /&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,3016ec0f-14fb-4e9a-8f84-4474b88f444d.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Development/.NET 4.5</category>
      <category>Personal</category>
      <category>Personal/Reviews</category>
    </item>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=353e6720-3201-4ac5-9775-cb21324886f7</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,353e6720-3201-4ac5-9775-cb21324886f7.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,353e6720-3201-4ac5-9775-cb21324886f7.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=353e6720-3201-4ac5-9775-cb21324886f7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In mobile applications there’s often a need for scrolling lists with large or even
(for all practical purposes) infinite amounts of data which of course needs to be
loaded incrementally. The canonical example for this is Twitter timeline, but any
other long lists of posts such as RSS feeds, log entries etc. call for a similar implementation,
as long as they provide an API for loading data in batches, i.e. it is possible to
request a range of results between two indices.
</p>
        <p>
Official support for implementing such a list is already <a href="http://blogs.msdn.com/b/slmperf/archive/2011/06/30/windows-phone-mango-change-listbox-how-to-detect-compression-end-of-scroll-states.aspx">available
since Windows Phone 7.1 (Mango) release</a>, although it still seems too much of hassle
to me. Implementing such a basic functionality shouldn’t require modification of default
ScrollViewer style and handling VisualStates in code behind.
</p>
        <p>
Things got better with LongListSelector control, distributed with <a href="http://phone.codeplex.com/">Windows
Phone Toolkit</a> for Windows Phone 7 and included in Windows Phone 8 SDK. Now it’s
enough to <a href="http://rahulpnath.wordpress.com/2013/03/03/windows-phone-series-incremental-loading/">handle
either Link or ItemRealized event</a>, depending on whether you’re using Windows Phone
7 or Windows Phone 8. 
</p>
        <p>
Still, you probably want to avoid this when using MVVM pattern and instead have a
command being called when additional data needs to be loaded. That’s exactly what
the following behavior does:
</p>
        <script src="https://gist.github.com/damirarh/5180926.js">
        </script>
        <p>
You can use it by simply adding it to the LongListSelector’s Behaviors collection:
</p>
        <script src="https://gist.github.com/damirarh/5180988.js">
        </script>
        <p>
Inside LoadCommand’s Execute method you just load the next batch of data. You can
even change the return value of CanExecute method based on whether there’s any more
data to load and thus prevent Execute from even being called.
</p>
        <p>
Since I decided to use <a href="https://caliburnmicro.codeplex.com/">Caliburn.Micro</a> as
the MVVM framework in my latest Windows Phone project this solution turned out not
to be really tailored to it. Caliburn prefers actions to commands for invoking methods
in view models. Ideally this means no additional code needs to be written for connecting
control events to view model methods. There’s even special syntax available to make
this work:
</p>
        <script src="https://gist.github.com/damirarh/5181059.js">
        </script>
        <p>
Unfortunately this requires the logic for deciding between loading additional items
or not to be moved to the view model - for each individual case of implementing this
functionality. Additionally while testing this approach I noticed the view model method
wasn’t really invoked for the first dozen of items or so (not really sure why, I assumed
Caliburn’s messaging wasn’t initialized in time) which could introduce subtle bugs
preventing further data to be loaded in some cases. A custom trigger turned out to
be optimal solution addressing both of the concerns:
</p>
        <script src="https://gist.github.com/damirarh/5181090.js">
        </script>
        <p>
Similar to a behavior this trigger can be used by simply adding it to LongListSelector’s
Triggers collection:
</p>
        <script src="https://gist.github.com/damirarh/5181097.js">
        </script>
        <p>
The only thing that needs to be added to the view model is LoadMoreItems method, which
belongs there anyway.
</p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=353e6720-3201-4ac5-9775-cb21324886f7" />
      </body>
      <title>Infinite Scrolling with Incremental Loading in Windows Phone 8</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,353e6720-3201-4ac5-9775-cb21324886f7.aspx</guid>
      <link>http://www.damirscorner.com/InfiniteScrollingWithIncrementalLoadingInWindowsPhone8.aspx</link>
      <pubDate>Sun, 17 Mar 2013 11:16:51 GMT</pubDate>
      <description>&lt;p&gt;
In mobile applications there’s often a need for scrolling lists with large or even
(for all practical purposes) infinite amounts of data which of course needs to be
loaded incrementally. The canonical example for this is Twitter timeline, but any
other long lists of posts such as RSS feeds, log entries etc. call for a similar implementation,
as long as they provide an API for loading data in batches, i.e. it is possible to
request a range of results between two indices.
&lt;/p&gt;
&lt;p&gt;
Official support for implementing such a list is already &lt;a href="http://blogs.msdn.com/b/slmperf/archive/2011/06/30/windows-phone-mango-change-listbox-how-to-detect-compression-end-of-scroll-states.aspx"&gt;available
since Windows Phone 7.1 (Mango) release&lt;/a&gt;, although it still seems too much of hassle
to me. Implementing such a basic functionality shouldn’t require modification of default
ScrollViewer style and handling VisualStates in code behind.
&lt;/p&gt;
&lt;p&gt;
Things got better with LongListSelector control, distributed with &lt;a href="http://phone.codeplex.com/"&gt;Windows
Phone Toolkit&lt;/a&gt; for Windows Phone 7 and included in Windows Phone 8 SDK. Now it’s
enough to &lt;a href="http://rahulpnath.wordpress.com/2013/03/03/windows-phone-series-incremental-loading/"&gt;handle
either Link or ItemRealized event&lt;/a&gt;, depending on whether you’re using Windows Phone
7 or Windows Phone 8. 
&lt;/p&gt;
&lt;p&gt;
Still, you probably want to avoid this when using MVVM pattern and instead have a
command being called when additional data needs to be loaded. That’s exactly what
the following behavior does:
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5180926.js"&gt;&lt;/script&gt;
&lt;p&gt;
You can use it by simply adding it to the LongListSelector’s Behaviors collection:
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5180988.js"&gt;&lt;/script&gt;
&lt;p&gt;
Inside LoadCommand’s Execute method you just load the next batch of data. You can
even change the return value of CanExecute method based on whether there’s any more
data to load and thus prevent Execute from even being called.
&lt;/p&gt;
&lt;p&gt;
Since I decided to use &lt;a href="https://caliburnmicro.codeplex.com/"&gt;Caliburn.Micro&lt;/a&gt; as
the MVVM framework in my latest Windows Phone project this solution turned out not
to be really tailored to it. Caliburn prefers actions to commands for invoking methods
in view models. Ideally this means no additional code needs to be written for connecting
control events to view model methods. There’s even special syntax available to make
this work:
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5181059.js"&gt;&lt;/script&gt;
&lt;p&gt;
Unfortunately this requires the logic for deciding between loading additional items
or not to be moved to the view model - for each individual case of implementing this
functionality. Additionally while testing this approach I noticed the view model method
wasn’t really invoked for the first dozen of items or so (not really sure why, I assumed
Caliburn’s messaging wasn’t initialized in time) which could introduce subtle bugs
preventing further data to be loaded in some cases. A custom trigger turned out to
be optimal solution addressing both of the concerns:
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5181090.js"&gt;&lt;/script&gt;
&lt;p&gt;
Similar to a behavior this trigger can be used by simply adding it to LongListSelector’s
Triggers collection:
&lt;/p&gt;
&lt;script src="https://gist.github.com/damirarh/5181097.js"&gt;&lt;/script&gt;
&lt;p&gt;
The only thing that needs to be added to the view model is LoadMoreItems method, which
belongs there anyway.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=353e6720-3201-4ac5-9775-cb21324886f7" /&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,353e6720-3201-4ac5-9775-cb21324886f7.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Development/Caliburn</category>
      <category>Development/WP</category>
    </item>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=ce21621f-a93d-4c81-a666-3ab855846c71</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,ce21621f-a93d-4c81-a666-3ab855846c71.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,ce21621f-a93d-4c81-a666-3ab855846c71.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=ce21621f-a93d-4c81-a666-3ab855846c71</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.damirscorner.com/content/binary/Windows-Live-Writer/Book-Review-Kinect-for-Windows-SDK-Progr_B876/kinect_2.jpg">
            <img title="Kinect for Windows SDK Programming Guide" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Kinect for Windows SDK Programming Guide" align="right" src="http://www.damirscorner.com/content/binary/Windows-Live-Writer/Book-Review-Kinect-for-Windows-SDK-Progr_B876/kinect_thumb.jpg" width="200" height="247" />
          </a>Recently
I received a free copy of <a href="http://www.packtpub.com/kinect-for-windows-software-development-kit-programming-guide/book">Kinect
for Windows SDK Programming Guide ebook</a> by Packt publishing for review. I didn't
do any Kinect development before, but it sounded interesting to me for quite some
time, so having a book to review was a nice motivation to finally get into it. At
the same time this allowed me to look at the book through a lens of an experienced
developer getting into programming Kinect for the first time.
</p>
        <p>
The book turned out to be a great introduction to Kinect in all aspects. It assumes
no prior knowledge of either Kinect or the SDK and even starts out with an explanation
of the hardware. Understanding it makes it easier to develop for it later on. Finding
all this information elsewhere would've definitely proven challenging and much more
time consuming. The section on setting up the development environment surprisingly
gives some added value as well. It addresses common issues in a troubleshooting guide
and even covers the subject of connecting and using multiple Kinects at the same time,
along with the pitfalls to watch out for in this scenario. The author has quite some
first hand experience with the subject and it shows.
</p>
        <p>
Most of the book is focused on individual sensors built into Kinect and the APIs for
using them. It soon becomes obvious that the book is aimed at novices. It not only
explains the concepts behind the SDK classes but at times also delves into the basics
of C# and .NET framework as well as WPF when setting up UI in sample apps. While this
isn't necessarily a bad thing I did find it distracting and it occasionally made reading
the book a bit of a hunt for Kinect related information inside the rest of the sample
code. I did like the samples, though. There are many of them and most of the time
they make sense on their own and get beyond a basic sample just for the sake of showing
a particular feature. Also the accompanying download includes additional working apps
with source code that are merely mentioned in the book.
</p>
        <p>
The part of the book that I like the most is about audio processing and gesture recognition.
Both of these two subjects are addressed in more depth. For audio processing this
means explaining the concepts of speech recognition, and for gestures this is a detailed
overview of many different approaches that are possible, starting out with simple
ones and leading all the way to neural networks. Don't expect becoming a master of
gesture recognition but it will definitely get you going.
</p>
        <p>
All in all this book is a really nice introduction to Kinect programming. It is by
no means perfect, most notably because it tries to do too much by making sure total
beginners will be able to follow it, but it is a valuable resource, nevertheless.
I can recommend it to anyone who is interested in writing his first Kinect application.
It might bore you in certain parts but it will certainly save you time in the end.
</p>
        <p>
The book is available on <a href="http://www.amazon.com/gp/product/1849692386/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1849692386&amp;linkCode=as2&amp;tag=damacor-20">Amazon</a> and <a href="http://www.packtpub.com/kinect-for-windows-software-development-kit-programming-guide/book">sold
directly by the publisher</a>.
</p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=ce21621f-a93d-4c81-a666-3ab855846c71" />
      </body>
      <title>Book Review: Kinect for Windows SDK Programming Guide</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,ce21621f-a93d-4c81-a666-3ab855846c71.aspx</guid>
      <link>http://www.damirscorner.com/BookReviewKinectForWindowsSDKProgrammingGuide.aspx</link>
      <pubDate>Sun, 24 Feb 2013 12:20:43 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.damirscorner.com/content/binary/Windows-Live-Writer/Book-Review-Kinect-for-Windows-SDK-Progr_B876/kinect_2.jpg"&gt;&lt;img title="Kinect for Windows SDK Programming Guide" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Kinect for Windows SDK Programming Guide" align="right" src="http://www.damirscorner.com/content/binary/Windows-Live-Writer/Book-Review-Kinect-for-Windows-SDK-Progr_B876/kinect_thumb.jpg" width="200" height="247"&gt;&lt;/a&gt;Recently
I received a free copy of &lt;a href="http://www.packtpub.com/kinect-for-windows-software-development-kit-programming-guide/book"&gt;Kinect
for Windows SDK Programming Guide ebook&lt;/a&gt; by Packt publishing for review. I didn't
do any Kinect development before, but it sounded interesting to me for quite some
time, so having a book to review was a nice motivation to finally get into it. At
the same time this allowed me to look at the book through a lens of an experienced
developer getting into programming Kinect for the first time.
&lt;/p&gt;
&lt;p&gt;
The book turned out to be a great introduction to Kinect in all aspects. It assumes
no prior knowledge of either Kinect or the SDK and even starts out with an explanation
of the hardware. Understanding it makes it easier to develop for it later on. Finding
all this information elsewhere would've definitely proven challenging and much more
time consuming. The section on setting up the development environment surprisingly
gives some added value as well. It addresses common issues in a troubleshooting guide
and even covers the subject of connecting and using multiple Kinects at the same time,
along with the pitfalls to watch out for in this scenario. The author has quite some
first hand experience with the subject and it shows.
&lt;/p&gt;
&lt;p&gt;
Most of the book is focused on individual sensors built into Kinect and the APIs for
using them. It soon becomes obvious that the book is aimed at novices. It not only
explains the concepts behind the SDK classes but at times also delves into the basics
of C# and .NET framework as well as WPF when setting up UI in sample apps. While this
isn't necessarily a bad thing I did find it distracting and it occasionally made reading
the book a bit of a hunt for Kinect related information inside the rest of the sample
code. I did like the samples, though. There are many of them and most of the time
they make sense on their own and get beyond a basic sample just for the sake of showing
a particular feature. Also the accompanying download includes additional working apps
with source code that are merely mentioned in the book.
&lt;/p&gt;
&lt;p&gt;
The part of the book that I like the most is about audio processing and gesture recognition.
Both of these two subjects are addressed in more depth. For audio processing this
means explaining the concepts of speech recognition, and for gestures this is a detailed
overview of many different approaches that are possible, starting out with simple
ones and leading all the way to neural networks. Don't expect becoming a master of
gesture recognition but it will definitely get you going.
&lt;/p&gt;
&lt;p&gt;
All in all this book is a really nice introduction to Kinect programming. It is by
no means perfect, most notably because it tries to do too much by making sure total
beginners will be able to follow it, but it is a valuable resource, nevertheless.
I can recommend it to anyone who is interested in writing his first Kinect application.
It might bore you in certain parts but it will certainly save you time in the end.
&lt;/p&gt;
&lt;p&gt;
The book is available on &lt;a href="http://www.amazon.com/gp/product/1849692386/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1849692386&amp;amp;linkCode=as2&amp;amp;tag=damacor-20"&gt;Amazon&lt;/a&gt; and &lt;a href="http://www.packtpub.com/kinect-for-windows-software-development-kit-programming-guide/book"&gt;sold
directly by the publisher&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=ce21621f-a93d-4c81-a666-3ab855846c71" /&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,ce21621f-a93d-4c81-a666-3ab855846c71.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Personal</category>
      <category>Personal/Reviews</category>
    </item>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=cbbad922-dc4d-41c8-ac97-391e03446a67</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,cbbad922-dc4d-41c8-ac97-391e03446a67.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,cbbad922-dc4d-41c8-ac97-391e03446a67.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=cbbad922-dc4d-41c8-ac97-391e03446a67</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img title="Windows Presentation Foundation 4.5 Cookbook" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Windows Presentation Foundation 4.5 Cookbook" align="right" src="http://www.damirscorner.com/content/binary/Windows-Live-Writer/52269ca681c4_10962/image_3.png" width="200" height="247" />At
the end of September Packt Publishing <a href="http://www.damirscorner.com/GetAFreeEBookFromPacktPublishing.aspx">celebrated
the publishing of their 1000th book</a> by offering a free book to all their registered
users. After I decided for <a href="http://www.packtpub.com/windows-presentation-foundation-4-5-cookbook/book">Windows
Presentation Foundation 4.5 Cookbook</a> by Pavel Yosifovich they approached me if
I could write a review for the book once I read it. It took longer than expected but
I’m finally done with it and ready to share my impressions.
</p>
        <p>
Taking a look at the table of contents is enough to realize that the author took on
a task of covering a very broad range of topics. What could easily be a daunting set
of disconnected code recipes, actually turned out to be a well structured and thoroughly
explained overview of WPF. Although the cookbook approach makes it easy to read only
individual recipes of interest, I can strongly recommend to take the time and read
the complete book. There are many small nuggets of knowledge given throughout it which
are not directly related to the current recipe and you are bound to miss them otherwise.
</p>
        <p>
I was also pleasantly surprised by the fact that the code snippets are accompanied
by in depth explanations of related topics. They often even include alternative approaches
to solving the same problem with pros and cons for each one of them. Due to the nature
of WPF with many ways of achieving the same I find this very valuable. Since the book
has only been written recently, it can take advantage of all the practices and experiences
that have accumulated since the original release of WPF. As a bonus it doesn’t forget
about the new features included in .NET framework 4.5 and C# 5.
</p>
        <p>
On the other hand the book is not all that friendly to novices and you really need
to have some previous experience with WPF before you start reading it. The wording
is often very concise and in my opinion it could be challenging to get into without
understanding at least the basics. Because of that I found it really strange that
a couple of times the author starts explaining how to use certain Visual Studio features,
such as code snippets and smart tags. I don’t think this is really necessary for the
intended audience.
</p>
        <p>
All in all I still like the book very much. In spite of all my previous experience
with WPF, I’ve learned a couple of new tricks while reading it. I’m sure I’ll be returning
to it from time to time to read up on certain details. I also feel the need to mention
that I’ve encountered a couple of typos and even other minor mistakes in code and
screenshots. They never really bothered me, but your mileage may vary.
</p>
        <p>
The book is available on <a href="http://www.amazon.com/gp/product/184968622X/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=184968622X&amp;linkCode=as2&amp;tag=damacor-20">Amazon</a> as
well as <a href="http://www.packtpub.com/windows-presentation-foundation-4-5-cookbook/book">sold
directly by the publisher</a>.
</p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=cbbad922-dc4d-41c8-ac97-391e03446a67" />
      </body>
      <title>Book Review: Windows Presentation Foundation 4.5 Cookbook</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,cbbad922-dc4d-41c8-ac97-391e03446a67.aspx</guid>
      <link>http://www.damirscorner.com/BookReviewWindowsPresentationFoundation45Cookbook.aspx</link>
      <pubDate>Sun, 16 Dec 2012 19:14:10 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img title="Windows Presentation Foundation 4.5 Cookbook" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Windows Presentation Foundation 4.5 Cookbook" align="right" src="http://www.damirscorner.com/content/binary/Windows-Live-Writer/52269ca681c4_10962/image_3.png" width="200" height="247"&gt;At
the end of September Packt Publishing &lt;a href="http://www.damirscorner.com/GetAFreeEBookFromPacktPublishing.aspx"&gt;celebrated
the publishing of their 1000th book&lt;/a&gt; by offering a free book to all their registered
users. After I decided for &lt;a href="http://www.packtpub.com/windows-presentation-foundation-4-5-cookbook/book"&gt;Windows
Presentation Foundation 4.5 Cookbook&lt;/a&gt; by Pavel Yosifovich they approached me if
I could write a review for the book once I read it. It took longer than expected but
I’m finally done with it and ready to share my impressions.
&lt;/p&gt;
&lt;p&gt;
Taking a look at the table of contents is enough to realize that the author took on
a task of covering a very broad range of topics. What could easily be a daunting set
of disconnected code recipes, actually turned out to be a well structured and thoroughly
explained overview of WPF. Although the cookbook approach makes it easy to read only
individual recipes of interest, I can strongly recommend to take the time and read
the complete book. There are many small nuggets of knowledge given throughout it which
are not directly related to the current recipe and you are bound to miss them otherwise.
&lt;/p&gt;
&lt;p&gt;
I was also pleasantly surprised by the fact that the code snippets are accompanied
by in depth explanations of related topics. They often even include alternative approaches
to solving the same problem with pros and cons for each one of them. Due to the nature
of WPF with many ways of achieving the same I find this very valuable. Since the book
has only been written recently, it can take advantage of all the practices and experiences
that have accumulated since the original release of WPF. As a bonus it doesn’t forget
about the new features included in .NET framework 4.5 and C# 5.
&lt;/p&gt;
&lt;p&gt;
On the other hand the book is not all that friendly to novices and you really need
to have some previous experience with WPF before you start reading it. The wording
is often very concise and in my opinion it could be challenging to get into without
understanding at least the basics. Because of that I found it really strange that
a couple of times the author starts explaining how to use certain Visual Studio features,
such as code snippets and smart tags. I don’t think this is really necessary for the
intended audience.
&lt;/p&gt;
&lt;p&gt;
All in all I still like the book very much. In spite of all my previous experience
with WPF, I’ve learned a couple of new tricks while reading it. I’m sure I’ll be returning
to it from time to time to read up on certain details. I also feel the need to mention
that I’ve encountered a couple of typos and even other minor mistakes in code and
screenshots. They never really bothered me, but your mileage may vary.
&lt;/p&gt;
&lt;p&gt;
The book is available on &lt;a href="http://www.amazon.com/gp/product/184968622X/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=184968622X&amp;amp;linkCode=as2&amp;amp;tag=damacor-20"&gt;Amazon&lt;/a&gt; as
well as &lt;a href="http://www.packtpub.com/windows-presentation-foundation-4-5-cookbook/book"&gt;sold
directly by the publisher&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=cbbad922-dc4d-41c8-ac97-391e03446a67" /&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,cbbad922-dc4d-41c8-ac97-391e03446a67.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Development/.NET 4.5</category>
      <category>Development/WPF</category>
      <category>Personal</category>
      <category>Personal/Reviews</category>
    </item>
    <item>
      <trackback:ping>http://www.damirscorner.com/Trackback.aspx?guid=5f21c3b9-8804-40a8-95e5-501cbde24f08</trackback:ping>
      <pingback:server>http://www.damirscorner.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damirscorner.com/PermaLink,guid,5f21c3b9-8804-40a8-95e5-501cbde24f08.aspx</pingback:target>
      <dc:creator>Damir Arh</dc:creator>
      <wfw:comment>http://www.damirscorner.com/CommentView,guid,5f21c3b9-8804-40a8-95e5-501cbde24f08.aspx</wfw:comment>
      <wfw:commentRss>http://www.damirscorner.com/SyndicationService.asmx/GetEntryCommentsRss?guid=5f21c3b9-8804-40a8-95e5-501cbde24f08</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today our local Microsoft DPE team organized ReBuild, a one day recap of the recent <a href="http://www.buildwindows.com/">Build
conference</a> which was taking place in Redmond a little over a month ago. I had
the last session of the day and focused on Windows Store apps: what they were and
how to develop them. 
</p>
        <p>
As always I’m publically sharing the resources from the session: <a href="http://www.slideshare.net/xAmigan/razvoj-aplikacij-za-windows-store">slide
deck</a> and <a href="https://bitbucket.org/damirarh/rebuild2012">sample source code</a>.
</p>
        <p align="center">
          <iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/15591379" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen="mozallowfullscreen" webkitallowfullscreen="webkitallowfullscreen" allowfullscreen="allowfullscreen">
          </iframe>
        </p>
        <img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=5f21c3b9-8804-40a8-95e5-501cbde24f08" />
      </body>
      <title>Developing Windows Store Apps Session at ReBuild 2012</title>
      <guid isPermaLink="false">http://www.damirscorner.com/PermaLink,guid,5f21c3b9-8804-40a8-95e5-501cbde24f08.aspx</guid>
      <link>http://www.damirscorner.com/DevelopingWindowsStoreAppsSessionAtReBuild2012.aspx</link>
      <pubDate>Tue, 11 Dec 2012 16:52:17 GMT</pubDate>
      <description>&lt;p&gt;
Today our local Microsoft DPE team organized ReBuild, a one day recap of the recent &lt;a href="http://www.buildwindows.com/"&gt;Build
conference&lt;/a&gt; which was taking place in Redmond a little over a month ago. I had
the last session of the day and focused on Windows Store apps: what they were and
how to develop them. 
&lt;/p&gt;
&lt;p&gt;
As always I’m publically sharing the resources from the session: &lt;a href="http://www.slideshare.net/xAmigan/razvoj-aplikacij-za-windows-store"&gt;slide
deck&lt;/a&gt; and &lt;a href="https://bitbucket.org/damirarh/rebuild2012"&gt;sample source code&lt;/a&gt;.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/15591379" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen webkitallowfullscreen allowfullscreen&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damirscorner.com/aggbug.ashx?id=5f21c3b9-8804-40a8-95e5-501cbde24f08" /&gt;</description>
      <comments>http://www.damirscorner.com/CommentView,guid,5f21c3b9-8804-40a8-95e5-501cbde24f08.aspx</comments>
      <category>Development</category>
      <category>Development/.NET</category>
      <category>Development/C#</category>
      <category>Development/Metro</category>
      <category>Development/Windows Store</category>
      <category>Downloads</category>
      <category>Downloads/Presentations</category>
      <category>Downloads/Sources</category>
    </item>
  </channel>
</rss>