<?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 on: Status Update &#8212; A Fresh Look at Callbacks</title>
	<atom:link href="http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/feed/" rel="self" type="application/rss+xml" />
	<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/</link>
	<description>Random Geek-Related Thoughts</description>
	<lastBuildDate>Wed, 08 Sep 2010 23:53:11 -0700</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Katz Got Your Tongue? &#187; Callbacks, Redux</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15617</link>
		<dc:creator>Katz Got Your Tongue? &#187; Callbacks, Redux</dc:creator>
		<pubDate>Mon, 26 Jan 2009 06:49:02 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15617</guid>
		<description>[...] the end of last week, I continued my work on callbacks, which was actually pretty interesting. The initial approach, if you recall, compiled before, around, and after callbacks, with conditions, into a method that [...]</description>
		<content:encoded><![CDATA[<p>[...] the end of last week, I continued my work on callbacks, which was actually pretty interesting. The initial approach, if you recall, compiled before, around, and after callbacks, with conditions, into a method that [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Aman</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15531</link>
		<dc:creator>Bob Aman</dc:creator>
		<pubDate>Mon, 19 Jan 2009 14:53:34 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15531</guid>
		<description>Any chance this speedup can be introduced to ActiveRecord, specifically &lt;code&gt;after_initialize&lt;/code&gt; and &lt;code&gt;after_find&lt;/code&gt;?  Both of those are just unbelievably poor performers.</description>
		<content:encoded><![CDATA[<p>Any chance this speedup can be introduced to ActiveRecord, specifically <code>after_initialize</code> and <code>after_find</code>?  Both of those are just unbelievably poor performers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Weekly Digest, 1-18-09 - almost effortless</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15522</link>
		<dc:creator>Weekly Digest, 1-18-09 - almost effortless</dc:creator>
		<pubDate>Sun, 18 Jan 2009 19:14:37 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15522</guid>
		<description>[...] A Fresh Look at Callbacks The entire Rails request cycle is around 4ms. This may have shaved off 1/2ms, which isn’t going to be that big a deal for any app, but like I said, a few more of these optz and the full Rails request cycle will moot Metal. [...]</description>
		<content:encoded><![CDATA[<p>[...] A Fresh Look at Callbacks The entire Rails request cycle is around 4ms. This may have shaved off 1/2ms, which isn’t going to be that big a deal for any app, but like I said, a few more of these optz and the full Rails request cycle will moot Metal. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wycats</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15507</link>
		<dc:creator>wycats</dc:creator>
		<pubDate>Sat, 17 Jan 2009 19:09:52 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15507</guid>
		<description>Gaspard: This initial refactoring uses fairly opaque names for everything, because it was convenient that way. Once everything works with all the various callbacks in the system, I plan to go back and figure out how to make it easier to follow (by using much better names and also making it possible to see the output).</description>
		<content:encoded><![CDATA[<p>Gaspard: This initial refactoring uses fairly opaque names for everything, because it was convenient that way. Once everything works with all the various callbacks in the system, I plan to go back and figure out how to make it easier to follow (by using much better names and also making it possible to see the output).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrei</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15501</link>
		<dc:creator>Andrei</dc:creator>
		<pubDate>Sat, 17 Jan 2009 13:47:47 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15501</guid>
		<description>Nice insight into the refactoring process :)

On a side note, in &#039;_run_hookz&#039;, shouldn&#039;t the &#039;baz&#039; after yielding be &#039;bar&#039; ?</description>
		<content:encoded><![CDATA[<p>Nice insight into the refactoring process :)</p>
<p>On a side note, in &#8216;_run_hookz&#8217;, shouldn&#8217;t the &#8216;baz&#8217; after yielding be &#8216;bar&#8217; ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gaspard Bucher</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15497</link>
		<dc:creator>Gaspard Bucher</dc:creator>
		<pubDate>Sat, 17 Jan 2009 09:55:31 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15497</guid>
		<description>A side effect of this might be to even more obfuscate debugging sadly. Walking through the callback chain has always been a pain, but now we&#039;ll have one more opaque &quot;eval&quot;.

Maybe a solution could be to store the string for the method (http://github.com/wycats/rails/commit/95799d8f704db186c518330c386627ed726e1ab7#L2R104) when debugging so that it can be printed out.</description>
		<content:encoded><![CDATA[<p>A side effect of this might be to even more obfuscate debugging sadly. Walking through the callback chain has always been a pain, but now we&#8217;ll have one more opaque &#8220;eval&#8221;.</p>
<p>Maybe a solution could be to store the string for the method (<a href="http://github.com/wycats/rails/commit/95799d8f704db186c518330c386627ed726e1ab7#L2R104" rel="nofollow">http://github.com/wycats/rails/commit/95799d8f704db186c518330c386627ed726e1ab7#L2R104</a>) when debugging so that it can be printed out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ennuyer.net &#187; Blog Archive &#187; 2009-01-16 - Today’s Ruby/Rails Reading</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15479</link>
		<dc:creator>Ennuyer.net &#187; Blog Archive &#187; 2009-01-16 - Today’s Ruby/Rails Reading</dc:creator>
		<pubDate>Fri, 16 Jan 2009 17:05:33 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15479</guid>
		<description>[...] Status Update — A Fresh Look at Callbacks  [...]</description>
		<content:encoded><![CDATA[<p>[...] Status Update — A Fresh Look at Callbacks  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wycats</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15478</link>
		<dc:creator>wycats</dc:creator>
		<pubDate>Fri, 16 Jan 2009 16:21:38 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15478</guid>
		<description>@antares trader: the Extlib version doesn&#039;t support around filters or conditionals.</description>
		<content:encoded><![CDATA[<p>@antares trader: the Extlib version doesn&#8217;t support around filters or conditionals.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Antares Trader</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15477</link>
		<dc:creator>Antares Trader</dc:creator>
		<pubDate>Fri, 16 Jan 2009 16:20:21 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15477</guid>
		<description>I recently got under-the-hood with Extlib::Hook.  It does a very similar thing, I think, to what you discribe.  It turns blocks into methods, then rewrites the filtered method to call the filter methods in-line.  What is different in what you have done?

I know that DataMapper uses Extlib for for its filters, because it was a bug from datamapper that I was trying to solve.  Doesn&#039;t Merb use the same library for its filters?

Do you have any sense of how the Extlib version might compare to what you have done?

Thanks again for all the work!</description>
		<content:encoded><![CDATA[<p>I recently got under-the-hood with Extlib::Hook.  It does a very similar thing, I think, to what you discribe.  It turns blocks into methods, then rewrites the filtered method to call the filter methods in-line.  What is different in what you have done?</p>
<p>I know that DataMapper uses Extlib for for its filters, because it was a bug from datamapper that I was trying to solve.  Doesn&#8217;t Merb use the same library for its filters?</p>
<p>Do you have any sense of how the Extlib version might compare to what you have done?</p>
<p>Thanks again for all the work!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: aleco</title>
		<link>http://yehudakatz.com/2009/01/16/status-update-a-fresh-look-at-callbacks/comment-page-1/#comment-15476</link>
		<dc:creator>aleco</dc:creator>
		<pubDate>Fri, 16 Jan 2009 15:59:02 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=192#comment-15476</guid>
		<description>okay, this might sound like a stupid question, but as I&#039;m a novice I dare to ask: will we be able to use before/after/around_filters for ActiveRecord::Base classes too? More than once I was desperately searching for solutions to use before filters for various getters and setters, including collections (e.g. triggering a complex calculation when either the items in a collection of an object or various attributes are changed) - aka something other than the current AR callbacks such as before_save.  

Oh, and yes, I know there are association callbacks, but they are very limited (as e.g. there&#039;s no way to call a method only once no matter how many objects you&#039;ve added and removed from the association).</description>
		<content:encoded><![CDATA[<p>okay, this might sound like a stupid question, but as I&#8217;m a novice I dare to ask: will we be able to use before/after/around_filters for ActiveRecord::Base classes too? More than once I was desperately searching for solutions to use before filters for various getters and setters, including collections (e.g. triggering a complex calculation when either the items in a collection of an object or various attributes are changed) &#8211; aka something other than the current AR callbacks such as before_save.  </p>
<p>Oh, and yes, I know there are association callbacks, but they are very limited (as e.g. there&#8217;s no way to call a method only once no matter how many objects you&#8217;ve added and removed from the association).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
