<?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 Porkrind Dot Org Missives</title>
	<atom:link href="http://porkrind.org/missives/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://porkrind.org/missives</link>
	<description>Portal For The Masses</description>
	<lastBuildDate>Tue, 15 May 2012 02:15:56 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Closures In Straight C by Anonymous</title>
		<link>http://porkrind.org/missives/closures-in-straight-c/comment-page-1/#comment-524</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 15 May 2012 02:15:56 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives2/?p=13#comment-524</guid>
		<description>Thanks, I too have found this useful in embedded environment. Beats having global or &lt;em&gt;static global&lt;/em&gt; variables. As others have pointed out, it may be quite far from closures as they are traditionally understood, but I wouldn&#039;t have found this article by googling &quot;closures in C&quot; if you didn&#039;t mention them. Ended up having code similar to this:

&lt;code&gt;

typedef struct
{
    int counter;
} context_t;


static void onEventCallback(void *event, void *context)
{
    context_t *self = (context_t *)context;
    self-&gt;counter++;
}


void processAsync()
{
    context_t context, *self = &amp;context;
    self-&gt;counter = 0;
    startProcess(onEventCallback, self);
}


&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Thanks, I too have found this useful in embedded environment. Beats having global or <em>static global</em> variables. As others have pointed out, it may be quite far from closures as they are traditionally understood, but I wouldn&#8217;t have found this article by googling &#8220;closures in C&#8221; if you didn&#8217;t mention them. Ended up having code similar to this:</p>
<p><code></p>
<p>typedef struct<br />
{<br />
    int counter;<br />
} context_t;</p>
<p>static void onEventCallback(void *event, void *context)<br />
{<br />
    context_t *self = (context_t *)context;<br />
    self-&gt;counter++;<br />
}</p>
<p>void processAsync()<br />
{<br />
    context_t context, *self = &amp;context;<br />
    self-&gt;counter = 0;<br />
    startProcess(onEventCallback, self);<br />
}</p>
<p></code></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What I had to do to get Snow Leopard to install on my MacBook by BYTE</title>
		<link>http://porkrind.org/missives/what-i-had-to-do-to-get-snow-leopard-to-install-on-my-macbook/comment-page-1/#comment-516</link>
		<dc:creator>BYTE</dc:creator>
		<pubDate>Sun, 18 Mar 2012 13:41:38 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives2/?p=35#comment-516</guid>
		<description>Thanks, worked fine on my MBP with Bootcamp and Linux partitions.
I reduced the size of the startup disk by 0.2 GB, but then got an error message:
&quot;Error: -9899: The partition cannot be resized.&quot;
But somehow it worked anyway, the (Mountain) Lion installer was happy and let me select the disk.</description>
		<content:encoded><![CDATA[<p>Thanks, worked fine on my MBP with Bootcamp and Linux partitions.<br />
I reduced the size of the startup disk by 0.2 GB, but then got an error message:<br />
&#8220;Error: -9899: The partition cannot be resized.&#8221;<br />
But somehow it worked anyway, the (Mountain) Lion installer was happy and let me select the disk.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Emacs For OS X . com gets a new Mac Mini by Rudi Engelbrecht</title>
		<link>http://porkrind.org/missives/emacs-for-os-x-com-gets-a-new-mac-mini/comment-page-1/#comment-515</link>
		<dc:creator>Rudi Engelbrecht</dc:creator>
		<pubDate>Thu, 01 Mar 2012 16:09:41 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=280#comment-515</guid>
		<description>I love Emacs and I love working on a Mac. Your work and effort makes me happy!</description>
		<content:encoded><![CDATA[<p>I love Emacs and I love working on a Mac. Your work and effort makes me happy!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Closures In Straight C by jack</title>
		<link>http://porkrind.org/missives/closures-in-straight-c/comment-page-1/#comment-514</link>
		<dc:creator>jack</dc:creator>
		<pubDate>Tue, 21 Feb 2012 23:48:02 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives2/?p=13#comment-514</guid>
		<description>..and he scores!!!</description>
		<content:encoded><![CDATA[<p>..and he scores!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Closures In Straight C by Travis Parks</title>
		<link>http://porkrind.org/missives/closures-in-straight-c/comment-page-1/#comment-513</link>
		<dc:creator>Travis Parks</dc:creator>
		<pubDate>Tue, 21 Feb 2012 13:35:44 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives2/?p=13#comment-513</guid>
		<description>I actually found this article very useful. I have been working in Node.js lately and realized that it&#039;s asynchronous approach could actually simplify some error handling aspects in C. The only problem: closures. However, following your lead, as long as every function has a &quot;context&quot; object, you can overcome that limitation. Sure, the developer has to allocate/deallocate memory, but I don&#039;t think this is &quot;inconvenient&quot;. Simply define a &quot;context&quot; object for each function, allocate that context for each &quot;instance&quot; of that function and pass it and the context as a callback. I may look into creating an async library in C, similar to &lt;a href=&quot;https://github.com/caolan/async&quot; rel=&quot;nofollow&quot;&gt;caolan/async&lt;/a&gt;, just to play around with the concept.</description>
		<content:encoded><![CDATA[<p>I actually found this article very useful. I have been working in Node.js lately and realized that it&#8217;s asynchronous approach could actually simplify some error handling aspects in C. The only problem: closures. However, following your lead, as long as every function has a &#8220;context&#8221; object, you can overcome that limitation. Sure, the developer has to allocate/deallocate memory, but I don&#8217;t think this is &#8220;inconvenient&#8221;. Simply define a &#8220;context&#8221; object for each function, allocate that context for each &#8220;instance&#8221; of that function and pass it and the context as a callback. I may look into creating an async library in C, similar to <a href="https://github.com/caolan/async" rel="nofollow">caolan/async</a>, just to play around with the concept.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by Frank</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-511</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Thu, 26 Jan 2012 00:00:39 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-511</guid>
		<description>Your guess that core memory was protected since fragile is correct, but not the only reason.
The fragility was acceptable, I&#039;ve travelled large distances with core memory in my car and upon arrival all the data would still be there. People were the problem, especially types who wanted to clean core memory with compressed air.
The protection also helped to keep a constant temperature, core memory being very temperature sensitive.
The very early core memory even required good programming to avoid reading the same memory location too often (in a loop). The cores being read and rewritten would heat up and lose the data. 
That is why core memory would always have a parity bit ( and parity bit error light) to indicate such errors.
Awesome job to build this thing from various components! DEC as well as the russians who copied it worked with large teams.</description>
		<content:encoded><![CDATA[<p>Your guess that core memory was protected since fragile is correct, but not the only reason.<br />
The fragility was acceptable, I&#8217;ve travelled large distances with core memory in my car and upon arrival all the data would still be there. People were the problem, especially types who wanted to clean core memory with compressed air.<br />
The protection also helped to keep a constant temperature, core memory being very temperature sensitive.<br />
The very early core memory even required good programming to avoid reading the same memory location too often (in a loop). The cores being read and rewritten would heat up and lose the data.<br />
That is why core memory would always have a parity bit ( and parity bit error light) to indicate such errors.<br />
Awesome job to build this thing from various components! DEC as well as the russians who copied it worked with large teams.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Closures In Straight C by hopia</title>
		<link>http://porkrind.org/missives/closures-in-straight-c/comment-page-1/#comment-485</link>
		<dc:creator>hopia</dc:creator>
		<pubDate>Wed, 14 Dec 2011 17:25:33 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives2/?p=13#comment-485</guid>
		<description>As a long time C developer, I totally agree that callbacks and cookies are the closest thing to closures in the C world.  Of course, we all know it&#039;s not part of the language, so it&#039;s not as intuitive and natural to use.  However, I think the point of the article is that C developers can and have been able to &quot;simulate&quot; the behavior.</description>
		<content:encoded><![CDATA[<p>As a long time C developer, I totally agree that callbacks and cookies are the closest thing to closures in the C world.  Of course, we all know it&#8217;s not part of the language, so it&#8217;s not as intuitive and natural to use.  However, I think the point of the article is that C developers can and have been able to &#8220;simulate&#8221; the behavior.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by Theodric</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-414</link>
		<dc:creator>Theodric</dc:creator>
		<pubDate>Wed, 23 Nov 2011 19:50:34 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-414</guid>
		<description>That&#039;s amazingly cool. You see a lot of FPGA reimplementations of (particularly) DEC stuff, and I have a piece that used to live in a PDP-8 home-built in a wooden box from *cough* &#039;relocated offsite&#039; boards by a DEC engineer, but it&#039;s quite spectacular to see someone go to the effort of actually recreating a system at the component level. Mega kudos to your dad.</description>
		<content:encoded><![CDATA[<p>That&#8217;s amazingly cool. You see a lot of FPGA reimplementations of (particularly) DEC stuff, and I have a piece that used to live in a PDP-8 home-built in a wooden box from *cough* &#8216;relocated offsite&#8217; boards by a DEC engineer, but it&#8217;s quite spectacular to see someone go to the effort of actually recreating a system at the component level. Mega kudos to your dad.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by Rod Smallwood</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-413</link>
		<dc:creator>Rod Smallwood</dc:creator>
		<pubDate>Wed, 23 Nov 2011 11:17:06 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-413</guid>
		<description>Who is this guy?  
He designed and built a PDP-11 clone by himself?
Truly amazing!</description>
		<content:encoded><![CDATA[<p>Who is this guy?<br />
He designed and built a PDP-11 clone by himself?<br />
Truly amazing!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by Lyle Bickley</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-408</link>
		<dc:creator>Lyle Bickley</dc:creator>
		<pubDate>Wed, 23 Nov 2011 00:24:54 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-408</guid>
		<description>Terrific! Your Dad creating his own PDP-11 from scratch - particularly via wirewrap - took a lot of good design  and vast quantities of patience! Bringing it &quot;back to life&quot; sounds like a super father-son project!!!</description>
		<content:encoded><![CDATA[<p>Terrific! Your Dad creating his own PDP-11 from scratch &#8211; particularly via wirewrap &#8211; took a lot of good design  and vast quantities of patience! Bringing it &#8220;back to life&#8221; sounds like a super father-son project!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by Pádraig Brady</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-400</link>
		<dc:creator>Pádraig Brady</dc:creator>
		<pubDate>Mon, 21 Nov 2011 23:26:19 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-400</guid>
		<description>Very cool. You might find this interesting too http://www.corememoryshield.com/</description>
		<content:encoded><![CDATA[<p>Very cool. You might find this interesting too <a href="http://www.corememoryshield.com/" rel="nofollow">http://www.corememoryshield.com/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by jamie dalgetty</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-398</link>
		<dc:creator>jamie dalgetty</dc:creator>
		<pubDate>Mon, 21 Nov 2011 14:11:09 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-398</guid>
		<description>i really don&#039;t think people today realise how far we&#039;ve come in such a short time.</description>
		<content:encoded><![CDATA[<p>i really don&#8217;t think people today realise how far we&#8217;ve come in such a short time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by Pinky</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-397</link>
		<dc:creator>Pinky</dc:creator>
		<pubDate>Mon, 21 Nov 2011 08:43:46 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-397</guid>
		<description>Thanks for posting these pics. Amazing!</description>
		<content:encoded><![CDATA[<p>Thanks for posting these pics. Amazing!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by Jose Rodriguez</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-396</link>
		<dc:creator>Jose Rodriguez</dc:creator>
		<pubDate>Mon, 21 Nov 2011 08:37:31 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-396</guid>
		<description>Awesome! I want your dad to be my uncle!</description>
		<content:encoded><![CDATA[<p>Awesome! I want your dad to be my uncle!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by ori</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-395</link>
		<dc:creator>ori</dc:creator>
		<pubDate>Mon, 21 Nov 2011 08:12:00 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-395</guid>
		<description>This is way cool. Your dad sounds awesome.</description>
		<content:encoded><![CDATA[<p>This is way cool. Your dad sounds awesome.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by david</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-393</link>
		<dc:creator>david</dc:creator>
		<pubDate>Mon, 21 Nov 2011 07:13:41 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-393</guid>
		<description>You&#039;re right. Fixed. Thanks!</description>
		<content:encoded><![CDATA[<p>You&#8217;re right. Fixed. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Core Memory Module from my dad&#8217;s homebuilt PDP-11/05 by Nick</title>
		<link>http://porkrind.org/missives/the-core-memory-module-from-my-dads-homebuilt-pdp-1105/comment-page-1/#comment-392</link>
		<dc:creator>Nick</dc:creator>
		<pubDate>Mon, 21 Nov 2011 05:45:18 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=291#comment-392</guid>
		<description>I think you mean &quot;discrete&quot; rather than &quot;discreet&quot;.</description>
		<content:encoded><![CDATA[<p>I think you mean &#8220;discrete&#8221; rather than &#8220;discreet&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Emacs For OS X . com gets a new Mac Mini by Bill Robertson</title>
		<link>http://porkrind.org/missives/emacs-for-os-x-com-gets-a-new-mac-mini/comment-page-1/#comment-388</link>
		<dc:creator>Bill Robertson</dc:creator>
		<pubDate>Sun, 13 Nov 2011 05:11:35 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=280#comment-388</guid>
		<description>You saved Emacs for me on the mac. I was happy to give. Thanks!</description>
		<content:encoded><![CDATA[<p>You saved Emacs for me on the mac. I was happy to give. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Emacs For OS X . com gets a new Mac Mini by Arno Smit</title>
		<link>http://porkrind.org/missives/emacs-for-os-x-com-gets-a-new-mac-mini/comment-page-1/#comment-387</link>
		<dc:creator>Arno Smit</dc:creator>
		<pubDate>Sat, 12 Nov 2011 11:47:17 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=280#comment-387</guid>
		<description>Thanks for an awesome article!</description>
		<content:encoded><![CDATA[<p>Thanks for an awesome article!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Emacs For OS X . com gets a new Mac Mini by Daniel Daboczy</title>
		<link>http://porkrind.org/missives/emacs-for-os-x-com-gets-a-new-mac-mini/comment-page-1/#comment-386</link>
		<dc:creator>Daniel Daboczy</dc:creator>
		<pubDate>Sat, 12 Nov 2011 10:55:51 +0000</pubDate>
		<guid isPermaLink="false">http://porkrind.org/missives/?p=280#comment-386</guid>
		<description>We are so proud that you chose FundedByMe for your crowdfunding.
We&#039;ve been global from day one and love to see american projects reach their goals in recordtime, and also surpass them!

Daniel Daboczy/ founder of Funded By Me</description>
		<content:encoded><![CDATA[<p>We are so proud that you chose FundedByMe for your crowdfunding.<br />
We&#8217;ve been global from day one and love to see american projects reach their goals in recordtime, and also surpass them!</p>
<p>Daniel Daboczy/ founder of Funded By Me</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  porkrind.org/missives/comments/feed/ ) in 0.17735 seconds, on May 21st, 2012 at 4:20 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 21st, 2012 at 5:20 pm UTC -->
