<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for talkingCode</title>
	<atom:link href="http://talkingcode.co.uk/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://talkingcode.co.uk</link>
	<description>Linux, Software Development, Technology</description>
	<lastBuildDate>Fri, 11 Mar 2011 15:51:40 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Comment on Import into MySQL from CSV/Excel, Ruby by jp</title>
		<link>http://talkingcode.co.uk/2007/12/05/import-into-mysql-from-csv-excel-ruby/#comment-20151</link>
		<dc:creator>jp</dc:creator>
		<pubDate>Fri, 11 Mar 2011 15:51:40 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/2007/12/05/import-into-mysql-from-csvexcel-ruby/#comment-20151</guid>
		<description>works like a charm! thanks!</description>
		<content:encoded><![CDATA[<p>works like a charm! thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Error #2046: The loaded file did not have a valid signature by Blake</title>
		<link>http://talkingcode.co.uk/2010/09/21/error-2046-the-loaded-file-did-not-have-a-valid-signature/#comment-16285</link>
		<dc:creator>Blake</dc:creator>
		<pubDate>Tue, 28 Sep 2010 03:54:47 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/?p=66#comment-16285</guid>
		<description>Check this out:
http://bugs.adobe.com/jira/browse/SDK-28016</description>
		<content:encoded><![CDATA[<p>Check this out:<br />
<a href="http://bugs.adobe.com/jira/browse/SDK-28016" rel="nofollow">http://bugs.adobe.com/jira/browse/SDK-28016</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Error #2046: The loaded file did not have a valid signature by Boydell</title>
		<link>http://talkingcode.co.uk/2010/09/21/error-2046-the-loaded-file-did-not-have-a-valid-signature/#comment-16164</link>
		<dc:creator>Boydell</dc:creator>
		<pubDate>Wed, 22 Sep 2010 16:52:20 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/?p=66#comment-16164</guid>
		<description>Wow. That  was it. You are the only one that had it figured out, and I looked at many sites and many forums, even support forums on Adobe. Funny that you posted this one day before I was trying to track down a solution. If this had happened to me last week I would have been out of luck.

My only problem is, this is not flash I built. It is the Easy Flash Uploader, a special version they built for us that supported what we need. So now I have to see if I can talk them into re-generating it...</description>
		<content:encoded><![CDATA[<p>Wow. That  was it. You are the only one that had it figured out, and I looked at many sites and many forums, even support forums on Adobe. Funny that you posted this one day before I was trying to track down a solution. If this had happened to me last week I would have been out of luck.</p>
<p>My only problem is, this is not flash I built. It is the Easy Flash Uploader, a special version they built for us that supported what we need. So now I have to see if I can talk them into re-generating it&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Error #2046: The loaded file did not have a valid signature by mark van schaik</title>
		<link>http://talkingcode.co.uk/2010/09/21/error-2046-the-loaded-file-did-not-have-a-valid-signature/#comment-16160</link>
		<dc:creator>mark van schaik</dc:creator>
		<pubDate>Wed, 22 Sep 2010 11:23:49 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/?p=66#comment-16160</guid>
		<description>thanks! was using a beta SDK version for a production app, which stopped working over the weekend and just had me quite frustrated about why. expiry date on the binaries makes sense, and testing showed it to be so.
Of course now I need to upgrade my application, but it&#039;s satisfying to know what the issue is.</description>
		<content:encoded><![CDATA[<p>thanks! was using a beta SDK version for a production app, which stopped working over the weekend and just had me quite frustrated about why. expiry date on the binaries makes sense, and testing showed it to be so.<br />
Of course now I need to upgrade my application, but it&#8217;s satisfying to know what the issue is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A modest copyright reform proposal by icimuje</title>
		<link>http://talkingcode.co.uk/2009/04/20/a-modest-copyright-reform-proposal/#comment-7012</link>
		<dc:creator>icimuje</dc:creator>
		<pubDate>Sat, 26 Sep 2009 00:16:16 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/?p=55#comment-7012</guid>
		<description>&lt;strong&gt;icimuje...&lt;/strong&gt;

 &lt;a href=&quot;http://katah.freehostingz.com/&quot; rel=&quot;nofollow&quot;&gt;College Basketball Handicapper: College Basketball...&lt;/a&gt; ...</description>
		<content:encoded><![CDATA[<p><strong>icimuje&#8230;</strong></p>
<p> <a href="http://katah.freehostingz.com/" rel="nofollow">College Basketball Handicapper: College Basketball&#8230;</a> &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mysterious ClassCastException from Scala by ezudytubof</title>
		<link>http://talkingcode.co.uk/2009/05/19/mysterious-classcastexception-from-scala/#comment-6994</link>
		<dc:creator>ezudytubof</dc:creator>
		<pubDate>Thu, 24 Sep 2009 11:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/?p=56#comment-6994</guid>
		<description>&lt;strong&gt;ezudytubof...&lt;/strong&gt;

 &lt;a href=&quot;http://elesifibycah.blogspot.com/2009/09/guns-n-roses-video-november-rain.html&quot; rel=&quot;nofollow&quot;&gt;lamb shank recipes&lt;/a&gt; ...</description>
		<content:encoded><![CDATA[<p><strong>ezudytubof&#8230;</strong></p>
<p> <a href="http://elesifibycah.blogspot.com/2009/09/guns-n-roses-video-november-rain.html" rel="nofollow">lamb shank recipes</a> &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mysterious ClassCastException from Scala by nutiqoqoxe</title>
		<link>http://talkingcode.co.uk/2009/05/19/mysterious-classcastexception-from-scala/#comment-6442</link>
		<dc:creator>nutiqoqoxe</dc:creator>
		<pubDate>Fri, 21 Aug 2009 15:04:39 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/?p=56#comment-6442</guid>
		<description>&lt;strong&gt;nutiqoqoxe...&lt;/strong&gt;

 &lt;a href=&quot;http://namelindablog.info/baby-looney-toons-wal-art/&quot; rel=&quot;nofollow&quot;&gt;Baby Looney Toons Wal Art&lt;/a&gt; ...</description>
		<content:encoded><![CDATA[<p><strong>nutiqoqoxe&#8230;</strong></p>
<p> <a href="http://namelindablog.info/baby-looney-toons-wal-art/" rel="nofollow">Baby Looney Toons Wal Art</a> &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Haskell, GTK and Multi-Threading by Sebastian</title>
		<link>http://talkingcode.co.uk/2008/12/02/haskell-gtk-and-multi-threading/#comment-2538</link>
		<dc:creator>Sebastian</dc:creator>
		<pubDate>Sat, 04 Apr 2009 10:41:25 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/?p=46#comment-2538</guid>
		<description>Steve, I find most asynchronous programming to be incredibly painful. Haskell&#039;s approach is to have a very light-weight threading system which means you can write synchronous code in multiple threads instead which is a far better experience in my opinion. You don&#039;t *need* to worry explicitly about asynchronous programming precisely because you have (efficient) threads. I don&#039;t see how moving to an even lower level of abstraction is helping.
F# doesn&#039;t have lightweight threads so they offer kind of a specialized solution using an &quot;async&quot; monad which allows you to write synchronous-looking code that&#039;s still asynchronous when run. The core principle is the same though - the programmer shouldn&#039;t have to worry about the low-level details of asynchronous programming.</description>
		<content:encoded><![CDATA[<p>Steve, I find most asynchronous programming to be incredibly painful. Haskell&#8217;s approach is to have a very light-weight threading system which means you can write synchronous code in multiple threads instead which is a far better experience in my opinion. You don&#8217;t *need* to worry explicitly about asynchronous programming precisely because you have (efficient) threads. I don&#8217;t see how moving to an even lower level of abstraction is helping.<br />
F# doesn&#8217;t have lightweight threads so they offer kind of a specialized solution using an &#8220;async&#8221; monad which allows you to write synchronous-looking code that&#8217;s still asynchronous when run. The core principle is the same though &#8211; the programmer shouldn&#8217;t have to worry about the low-level details of asynchronous programming.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Haskell, GTK and Multi-Threading by Steve</title>
		<link>http://talkingcode.co.uk/2008/12/02/haskell-gtk-and-multi-threading/#comment-2528</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Sat, 04 Apr 2009 04:42:12 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/?p=46#comment-2528</guid>
		<description>&gt; Instead, your main computation happens in other application threads, and all that happens in the GUI thread is updating of interface elements.

I find it unfortunate that a common perception is that threads are a good approach to this problem.  While this does work, this approach to threading makes you dance around locking issues just like this article describes.

A better way to handle GUI updates is to use an asynchronous approach.  That is, tasks that do IO should use asynchronous IO so that the GUI can remain responsive while something is happening.  Tasks that require long computations should launch threads _as workers_ that will come back with an answer.  The GUI thread should not wait on these threads by launch them as asynchronous services, and provide a function or message handler that will be called when the task is complete rather than waiting around for an answer.  This works just as well by talking to another _process_ instead of a thread, and then you can use IPC methods for communication to ensure safety.  Using sockets for communication between processes can even be used in an asynchronous (non-blocking) manner, which might provide _better_ performance than what you would get from copious use of threads and the accompanying sync locking.

Another approach is not to launch threads at all but instead break up the computational loop into several callbacks of a timer, or idle function.  This is a way to do asynchronous processing (not blocking the GUI) without even needing to launch threads.  Using threads or processes only helps in two ways:

- you can use a local continuous loop for computation, making state management easier
- the operating system knows how to split processes and threads onto multiple CPU cores

Avoiding the misuse of threads and instead learning to think asynchronously will save you BIG headaches in the future, I promise.  This is made even easier (than C) in functional languages and languages that support closures because writing asynchronous callbacks using closures is a snap.</description>
		<content:encoded><![CDATA[<p>&gt; Instead, your main computation happens in other application threads, and all that happens in the GUI thread is updating of interface elements.</p>
<p>I find it unfortunate that a common perception is that threads are a good approach to this problem.  While this does work, this approach to threading makes you dance around locking issues just like this article describes.</p>
<p>A better way to handle GUI updates is to use an asynchronous approach.  That is, tasks that do IO should use asynchronous IO so that the GUI can remain responsive while something is happening.  Tasks that require long computations should launch threads _as workers_ that will come back with an answer.  The GUI thread should not wait on these threads by launch them as asynchronous services, and provide a function or message handler that will be called when the task is complete rather than waiting around for an answer.  This works just as well by talking to another _process_ instead of a thread, and then you can use IPC methods for communication to ensure safety.  Using sockets for communication between processes can even be used in an asynchronous (non-blocking) manner, which might provide _better_ performance than what you would get from copious use of threads and the accompanying sync locking.</p>
<p>Another approach is not to launch threads at all but instead break up the computational loop into several callbacks of a timer, or idle function.  This is a way to do asynchronous processing (not blocking the GUI) without even needing to launch threads.  Using threads or processes only helps in two ways:</p>
<p>- you can use a local continuous loop for computation, making state management easier<br />
- the operating system knows how to split processes and threads onto multiple CPU cores</p>
<p>Avoiding the misuse of threads and instead learning to think asynchronously will save you BIG headaches in the future, I promise.  This is made even easier (than C) in functional languages and languages that support closures because writing asynchronous callbacks using closures is a snap.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Me, the IWF and child porn by Mike van Lammeren</title>
		<link>http://talkingcode.co.uk/2009/03/02/me-the-iwf-and-child-porn/#comment-2477</link>
		<dc:creator>Mike van Lammeren</dc:creator>
		<pubDate>Wed, 01 Apr 2009 17:58:08 +0000</pubDate>
		<guid isPermaLink="false">http://talkingcode.co.uk/?p=52#comment-2477</guid>
		<description>To me, there is a mindset around today that gets the idea of individual/society ass-backwards. You can call it &#039;leftist&#039; or &#039;collectivist&#039; or just &#039;politically correct&#039;, if you like. I&#039;m not always sure what to call people of that mindset.

However, the part where they are totally wrong is this: They want to punish society for the actions of a few individuals, and at the same time, refuse to punish a few individuals who are clearly deviating from society. Your example here serves the first part, where every-day law-abiding people are subject to more and more scrutiny by the government, which should be the servant of the people, and not the master.

Examples for the second part are also common, such as any time a murderer or rapist gets off with an easy sentence.

I say let the internet be free and shoot the pedophiles.</description>
		<content:encoded><![CDATA[<p>To me, there is a mindset around today that gets the idea of individual/society ass-backwards. You can call it &#8216;leftist&#8217; or &#8216;collectivist&#8217; or just &#8216;politically correct&#8217;, if you like. I&#8217;m not always sure what to call people of that mindset.</p>
<p>However, the part where they are totally wrong is this: They want to punish society for the actions of a few individuals, and at the same time, refuse to punish a few individuals who are clearly deviating from society. Your example here serves the first part, where every-day law-abiding people are subject to more and more scrutiny by the government, which should be the servant of the people, and not the master.</p>
<p>Examples for the second part are also common, such as any time a murderer or rapist gets off with an easy sentence.</p>
<p>I say let the internet be free and shoot the pedophiles.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

