<?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: Announcing jQuery.Firebug</title>
	<atom:link href="http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/feed/" rel="self" type="application/rss+xml" />
	<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/</link>
	<description>Tales of a Transient Programmer</description>
	<lastBuildDate>Fri, 03 Sep 2010 01:51:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Ashley</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-5341</link>
		<dc:creator>Ashley</dc:creator>
		<pubDate>Sat, 28 Aug 2010 15:59:51 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-5341</guid>
		<description>Do not really agree with your comments OP but some good points are made. The new series of BB right here inside the UK was the best by far for me.</description>
		<content:encoded><![CDATA[<p>Do not really agree with your comments OP but some good points are made. The new series of BB right here inside the UK was the best by far for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Grow Weed Indoors</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-4946</link>
		<dc:creator>Grow Weed Indoors</dc:creator>
		<pubDate>Mon, 26 Jul 2010 02:14:10 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-4946</guid>
		<description>One of the best bloggers by far man. This article is well thought out and I totally agree with you on everything. Keep up the very good work!</description>
		<content:encoded><![CDATA[<p>One of the best bloggers by far man. This article is well thought out and I totally agree with you on everything. Keep up the very good work!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Todd</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-4162</link>
		<dc:creator>Todd</dc:creator>
		<pubDate>Tue, 13 Apr 2010 04:08:20 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-4162</guid>
		<description>Hey Jason--

I just grabbed the plugin from SVN. Cool stuff, but I had a problem. Your line 338 is the following:

    window.console[&quot;_&quot; + method]($.makeArray(arguments).join(&quot; &quot;)); 

This is concatenating all objects as strings, which results in a much less useful output in Firebug (e.g. no drilling on object properties). Furthermore, it nerfs all the standard Firebug output in the same way, since you&#039;re redefining the console.* functions to do the same. 

Instead, I changed it to the following and had good results:

    window.console[&quot;_&quot; + method].apply(this,arguments);

After this, Firebug works as expected. Thanks!</description>
		<content:encoded><![CDATA[<p>Hey Jason&#8211;</p>
<p>I just grabbed the plugin from SVN. Cool stuff, but I had a problem. Your line 338 is the following:</p>
<p>    window.console["_" + method]($.makeArray(arguments).join(&#8221; &#8220;)); </p>
<p>This is concatenating all objects as strings, which results in a much less useful output in Firebug (e.g. no drilling on object properties). Furthermore, it nerfs all the standard Firebug output in the same way, since you&#8217;re redefining the console.* functions to do the same. </p>
<p>Instead, I changed it to the following and had good results:</p>
<p>    window.console["_" + method].apply(this,arguments);</p>
<p>After this, Firebug works as expected. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jQuery.Firebug: A call for feedback.</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-3957</link>
		<dc:creator>jQuery.Firebug: A call for feedback.</dc:creator>
		<pubDate>Mon, 01 Mar 2010 14:59:30 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-3957</guid>
		<description>[...] a result of some of the discussion following from my post on my new jQuery plugin, jQuery.Firebug I&#8217;m soliciting feedback for its desired behavior. [...]</description>
		<content:encoded><![CDATA[<p>[...] a result of some of the discussion following from my post on my new jQuery plugin, jQuery.Firebug I&#8217;m soliciting feedback for its desired behavior. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: <img src='http://jasonkarns.com/blog/wp-content/plugins/rpx/images/openid.png' alt='openid'/> jasonkarns</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-3785</link>
		<dc:creator><img src='http://jasonkarns.com/blog/wp-content/plugins/rpx/images/openid.png' alt='openid'/> jasonkarns</dc:creator>
		<pubDate>Tue, 16 Feb 2010 04:39:31 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-3785</guid>
		<description>Stay tuned, I&#039;m in the process of moving my code repos to GitHub and I&#039;ll be doing a cleanup of the code in the process.</description>
		<content:encoded><![CDATA[<p>Stay tuned, I&#8217;m in the process of moving my code repos to GitHub and I&#8217;ll be doing a cleanup of the code in the process.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tsdragon</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-3107</link>
		<dc:creator>tsdragon</dc:creator>
		<pubDate>Wed, 02 Dec 2009 04:11:45 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-3107</guid>
		<description>Wonderful! But how is it installed? How is it used? What part of the svn is the useful part? In the trunk there&#039;s three different .js files for some aspect of firebug and in the firebuglite subdirectory there&#039;s another two. How am I supposed to know which is which?</description>
		<content:encoded><![CDATA[<p>Wonderful! But how is it installed? How is it used? What part of the svn is the useful part? In the trunk there&#8217;s three different .js files for some aspect of firebug and in the firebuglite subdirectory there&#8217;s another two. How am I supposed to know which is which?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: beppu</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-25</link>
		<dc:creator>beppu</dc:creator>
		<pubDate>Tue, 27 Jan 2009 21:27:12 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-25</guid>
		<description>I see that you made it portable across browsers.  Very good work.  This will be extremely useful for debugging.</description>
		<content:encoded><![CDATA[<p>I see that you made it portable across browsers.  Very good work.  This will be extremely useful for debugging.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: h3</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-13</link>
		<dc:creator>h3</dc:creator>
		<pubDate>Tue, 20 Jan 2009 23:24:22 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-13</guid>
		<description>Great idea, very promising.</description>
		<content:encoded><![CDATA[<p>Great idea, very promising.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mauvis</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-11</link>
		<dc:creator>Mauvis</dc:creator>
		<pubDate>Wed, 14 Jan 2009 03:36:25 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-11</guid>
		<description>Jason, 

You&#039;re right, my logic was flawed there a bit. 

Passing this to a function in the global scope would just pass in a reference to the document object. Foolish me. :)

Glad you could see the practicality of what I was trying to do, though.

Best,

Mauvis</description>
		<content:encoded><![CDATA[<p>Jason, </p>
<p>You&#8217;re right, my logic was flawed there a bit. </p>
<p>Passing this to a function in the global scope would just pass in a reference to the document object. Foolish me. <img src='http://jasonkarns.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Glad you could see the practicality of what I was trying to do, though.</p>
<p>Best,</p>
<p>Mauvis</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jasonkarns</title>
		<link>http://jasonkarns.com/blog/2009/01/06/announcing-jqueryfirebug/comment-page-1/#comment-10</link>
		<dc:creator>jasonkarns</dc:creator>
		<pubDate>Tue, 13 Jan 2009 15:20:18 +0000</pubDate>
		<guid isPermaLink="false">http://jasonkarns.com/blog/?p=5#comment-10</guid>
		<description>&lt;p&gt;@Mauvis
Thanks for the comment, I see what you are getting at now. I will reply in two parts.
First, I agree with your general comment that in most cases, the user should be able to decide how much is output. I will have to think of a way to do this. Perhaps parameter passing is the answer, perhaps additional methods.  Either way, there is definitely some room for improvement here.&lt;/p&gt;
&lt;p&gt;However, to argue the second point -- being the passing of &lt;code&gt;this&lt;/code&gt; to the &lt;code&gt;log &lt;/code&gt;methods (or any of the methods) -- your syntax is flawed. When you use the keyword &lt;code&gt;this &lt;/code&gt;as a parameter to a function, the object that you pass in has already been de-referenced upon entry to the method. In your example, &lt;code&gt;$(*).log(this)&lt;/code&gt;, this refers to the context object at the point of invocation.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
$(&quot;a&quot;).click(onClickHandler);
function onClickHandler(e){
  var x = this;
  var y = $(this).get(0);
  console.log(this, x, y);// you will get a log statement with three identical objects
  $(*).log(this, x, y);// you will get a log statement with three identical objects, 
    //followed by the grouped log statements foreach element in $(*)
}
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;What you have to remember is that in the &lt;code&gt;log &lt;/code&gt;method that I&#039;ve defined on the jQuery object (and in fact, any JavaScript function at all), when you pass &lt;code&gt;this &lt;/code&gt;as a parameter to a function, what the function gets is just a regular object.  There is nothing special about &lt;code&gt;this &lt;/code&gt;when used as a parameter. It is indistinguishable from &lt;code&gt;x&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; as used above. Therefore, there is no way to &#039;change&#039; what &lt;code&gt;this &lt;/code&gt;points to.&lt;/p&gt;
&lt;p&gt;However, there is a way to hack it in. Currently, if you pass (as a string) to any of the &lt;code&gt;log &lt;/code&gt;functions anything beginning with a dot, then jQuery.Firebug will assume you are attempting to reference a property or method on the jQuery object. For instance:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$(*).log(&quot;.length&quot;, &quot;.attr(&#039;id&#039;)&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This statement would output the actual length of the jQuery selection as an integer, followed by the ID attribute of the first element of the jQuery selection, followed by the grouped output of each element in the jQuery selection. I believe this is exactly the kind of behavior you wanted. In order to add support for &lt;code&gt;this&lt;/code&gt; as well, I would have to declare a special string parameter such as &quot;this&quot; or &quot;[this]&quot; or something similar.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>@Mauvis<br />
Thanks for the comment, I see what you are getting at now. I will reply in two parts.<br />
First, I agree with your general comment that in most cases, the user should be able to decide how much is output. I will have to think of a way to do this. Perhaps parameter passing is the answer, perhaps additional methods.  Either way, there is definitely some room for improvement here.</p>
<p>However, to argue the second point &#8212; being the passing of <code>this</code> to the <code>log </code>methods (or any of the methods) &#8212; your syntax is flawed. When you use the keyword <code>this </code>as a parameter to a function, the object that you pass in has already been de-referenced upon entry to the method. In your example, <code>$(*).log(this)</code>, this refers to the context object at the point of invocation.</p>
<pre><code>
$("a").click(onClickHandler);
function onClickHandler(e){
  var x = this;
  var y = $(this).get(0);
  console.log(this, x, y);// you will get a log statement with three identical objects
  $(*).log(this, x, y);// you will get a log statement with three identical objects,
    //followed by the grouped log statements foreach element in $(*)
}
</code>
</pre>
<p>What you have to remember is that in the <code>log </code>method that I&#8217;ve defined on the jQuery object (and in fact, any JavaScript function at all), when you pass <code>this </code>as a parameter to a function, what the function gets is just a regular object.  There is nothing special about <code>this </code>when used as a parameter. It is indistinguishable from <code>x</code> and <code>y</code> as used above. Therefore, there is no way to &#8216;change&#8217; what <code>this </code>points to.</p>
<p>However, there is a way to hack it in. Currently, if you pass (as a string) to any of the <code>log </code>functions anything beginning with a dot, then jQuery.Firebug will assume you are attempting to reference a property or method on the jQuery object. For instance:</p>
<pre><code>$(*).log(".length", ".attr('id')");</code></pre>
<p>This statement would output the actual length of the jQuery selection as an integer, followed by the ID attribute of the first element of the jQuery selection, followed by the grouped output of each element in the jQuery selection. I believe this is exactly the kind of behavior you wanted. In order to add support for <code>this</code> as well, I would have to declare a special string parameter such as &#8220;this&#8221; or &#8220;[this]&#8221; or something similar.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
