<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wintense.com &#187; Coding</title>
	<atom:link href="http://wintense.com/category/coding/feed" rel="self" type="application/rss+xml" />
	<link>http://wintense.com</link>
	<description>Tools, plugins and other cool stuff</description>
	<lastBuildDate>Sun, 07 Feb 2010 02:46:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Blog Break</title>
		<link>http://wintense.com/404</link>
		<comments>http://wintense.com/404#comments</comments>
		<pubDate>Mon, 12 Oct 2009 22:42:05 +0000</pubDate>
		<dc:creator>pieceofsummer</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://wintense.com/404</guid>
		<description><![CDATA[Well, this post actually is a test of a WordPress iPhone app Genius suggested me to try. And I think I like it!
BTW, the first alpha build of a foo_touchremote is almost here. There&#8217;s still a lot of things to do (it doesn&#8217;t even support a library yet), but there should be something to start [...]]]></description>
			<content:encoded><![CDATA[<p>Well, this post actually is a test of a WordPress iPhone app Genius suggested me to try. And I think I like it!</p>
<p>BTW, the first alpha build of a foo_touchremote is almost here. There&#8217;s still a lot of things to do (it doesn&#8217;t even support a library yet), but there should be something to start with, right?..</p>
]]></content:encoded>
			<wfw:commentRss>http://wintense.com/404/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Life is life!</title>
		<link>http://wintense.com/397</link>
		<comments>http://wintense.com/397#comments</comments>
		<pubDate>Mon, 28 Sep 2009 17:37:05 +0000</pubDate>
		<dc:creator>pieceofsummer</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://wintense.com/?p=397</guid>
		<description><![CDATA[Awesome. I have got another set of plugins to write for MS CRM, still working on its integration with HP PPM and writing a DRM license server for another project.
There&#8217;s almost no time even to live 
But there is some progress on foo_touchremote. I&#8217;ve managed to pair my own server with Apple&#8217;s client app and [...]]]></description>
			<content:encoded><![CDATA[<p>Awesome. I have got another set of plugins to write for MS CRM, still working on its integration with HP PPM and writing a DRM license server for another project.<br />
There&#8217;s almost no time even to live <img src='http://wintense.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
But there is some progress on foo_touchremote. I&#8217;ve managed to pair my own server with Apple&#8217;s client app and made a http processing engine based on <a href="http://code.google.com/p/mongoose/">mongoose</a> (it seems to be the most adequate implementation of http server) sources. So the very first betas would appear soon.<br />
Stay tuned.</p>
<p><span id="more-397"></span><br />
P.S. Setting version too old produces such a nice message <img src='http://wintense.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
<img src="http://wintense.com/wp-content/uploads/2009/09/IMG_0010.PNG" alt="Apple Remote Test#1" title="Apple Remote Test#1" width="320" height="480" class="alignnone size-full wp-image-401" /></p>
]]></content:encoded>
			<wfw:commentRss>http://wintense.com/397/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sync: &#8220;Slide to cancel&#8221;</title>
		<link>http://wintense.com/264</link>
		<comments>http://wintense.com/264#comments</comments>
		<pubDate>Sat, 09 May 2009 19:14:24 +0000</pubDate>
		<dc:creator>pieceofsummer</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod]]></category>

		<guid isPermaLink="false">http://wintense.com/?p=264</guid>
		<description><![CDATA[Yeah, I&#8217;ve just found out how to handle this and terminate sync when user slides cancel switch.
We need following functions (meta-language):
ERROR AMDObserveNotification(HANDLE proxy, CFSTR notification);
ERROR AMDListenForNotifications(HANDLE proxy, NOTIFY_CALLBACK cb, USERDATA data);
and callback delegate:
typedef void (*NOTIFY_CALLBACK)(CFSTR notification, USERDATA data);
First, we need AMDObserveNotification to subscribe notifications about &#8220;com.apple.itunes-client.syncCancelRequest&#8221;. Then we should start listening for notifications (second function) [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-275" title="slidetocancel" src="http://wintense.com/wp-content/uploads/2009/05/slidetocancel.png" alt="Slide to Cancel" width="179" height="269" />Yeah, I&#8217;ve just found out how to handle this and terminate sync when user slides cancel switch.</p>
<p>We need following functions (meta-language):</p>
<blockquote><p><code>ERROR AMDObserveNotification(HANDLE proxy, CFSTR notification);<br />
ERROR AMDListenForNotifications(HANDLE proxy, NOTIFY_CALLBACK cb, USERDATA data);</code></p></blockquote>
<p>and callback delegate:</p>
<blockquote><p><code>typedef void (*NOTIFY_CALLBACK)(CFSTR notification, USERDATA data);</code></p></blockquote>
<p>First, we need AMDObserveNotification to subscribe notifications about <strong>&#8220;com.apple.itunes-client.syncCancelRequest&#8221;</strong>. Then we should start listening for notifications (second function) until we get <strong>&#8220;AMDNotificationFaceplant&#8221;</strong>.<br />
That&#8217;s it. When notification got, you should unlock and close lock file handle (don&#8217;t sure if you need to post &#8220;syncDidFinish&#8221; to proxy, seems it doesn&#8217;t matter) and terminate sync gracefully.</p>
<p>P.S. The same notification is also got when you unplug your device, so you should always be ready for errors.</p>
]]></content:encoded>
			<wfw:commentRss>http://wintense.com/264/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ArtDoctor for Mac OS X: possible!</title>
		<link>http://wintense.com/257</link>
		<comments>http://wintense.com/257#comments</comments>
		<pubDate>Wed, 06 May 2009 02:13:48 +0000</pubDate>
		<dc:creator>pieceofsummer</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[album art]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://wintense.com/?p=257</guid>
		<description><![CDATA[Some time ago a Mac port of Mono was released, so it made completely possible to run .NET applications there. But ArtDoctor needs to operate directly with device and was strictly tied with iTunesMobileDevice.dll, which has no analog on a Mac. 
And today I&#8217;ve managed to create a fully cross-platform .NET library to deal with [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago a Mac port of <a href="http://mono-project.com/">Mono</a> was released, so it made completely possible to run .NET applications there. But ArtDoctor needs to operate directly with device and was strictly tied with iTunesMobileDevice.dll, which has no analog on a Mac. </p>
<p>And today I&#8217;ve managed to create a fully cross-platform .NET library to deal with Apple devices. It even works without re-compiling for target platform. The trick is to use MobileDevice (dll on Windows and framework on Mac OS X) instead and apply some dll redirections for Mono.</p>
<p>However, it&#8217;s not just to change referenced library name. Unlike iTunesMobileDevice, MobileDevice framework doesn&#8217;t use native threads on both platforms. Also it is more strict about strings, so hand-made CFStrings most likely won&#8217;t do.</p>
<p>P.S. I really have no idea why both of these libraries are included in Windows distribution of Apple Mobile Device Support, &#8217;cause they don&#8217;t even reference each other.</p>
]]></content:encoded>
			<wfw:commentRss>http://wintense.com/257/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lost records in DataView</title>
		<link>http://wintense.com/184</link>
		<comments>http://wintense.com/184#comments</comments>
		<pubDate>Fri, 06 Mar 2009 22:38:01 +0000</pubDate>
		<dc:creator>pieceofsummer</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[.net]]></category>

		<guid isPermaLink="false">http://wintense.com/?p=184</guid>
		<description><![CDATA[What should you do if you need to get position of a record in DataView? Generally, DataView implements an IList interface, so you may concider calling ((IList) dataView).IndexOf(dataRowView) would do all the magic for you.
I thought in such a way before I found out, that calling IndexOf on a DataRowView being edited would return &#8220;-1&#8243; [...]]]></description>
			<content:encoded><![CDATA[<p>What should you do if you need to get position of a record in DataView? Generally, DataView implements an IList interface, so you may concider calling ((IList) dataView).IndexOf(dataRowView) would do all the magic for you.<br />
I thought in such a way before I found out, that calling IndexOf on a DataRowView being edited would return &#8220;-1&#8243; (i.e. <em>not found</em>).</p>
<p>It happens because a DataRow creates a temporary copy of itself when calling BeginEdit() and associates a DataRowView with that copy. And calling IndexOf on DataView performs lookup through DataTable&#8217;s index, who has no idea about that temporary copy and returns nothing.</p>
<p>So you should finish with editing before performing any lookup.</p>
]]></content:encoded>
			<wfw:commentRss>http://wintense.com/184/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
