<?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>Wynn Netherland</title>
	<atom:link href="http://wynnnetherland.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wynnnetherland.com</link>
	<description>Designer &#38; Developer</description>
	<lastBuildDate>Tue, 16 Feb 2010 00:44:00 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Enhance your site search with&#160;OpenSearch</title>
		<link>http://wynnnetherland.com/2010/02/enhance-your-site-search-with-opensearch/</link>
		<comments>http://wynnnetherland.com/2010/02/enhance-your-site-search-with-opensearch/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 22:54:30 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=287</guid>
		<description><![CDATA[If your web site provides its own search function, set up OpenSearch to let your users search from the browser search box.
With two simple steps you can let users hit your site&#8217;s search page without forcing them to visit first.
First, create an OpenSearch definition.

&#60;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&#62;
&#60;OpenSearchDescription xmlns=&#34;http://a9.com/-/spec/opensearch/1.1/&#34;
         [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>If your web site provides its own search function, set up <a href="http://www.opensearch.org/Home">OpenSearch</a> to let your users search from the browser search box.<span id="more-287"></span></p>
<p>With two simple steps you can let users hit your site&#8217;s search page without forcing them to visit first.</p>
<p>First, create an OpenSearch definition.</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;OpenSearchDescription xmlns=&quot;http://a9.com/-/spec/opensearch/1.1/&quot;
                       xmlns:moz=&quot;http://www.mozilla.org/2006/browser/search/&quot;&gt;
&lt;ShortName&gt;Wynn Netherland&lt;/ShortName&gt;
&lt;Description&gt;Designer <span class="amp">&amp;</span>amp; Developer&lt;/Description&gt;
&lt;Contact&gt;wynn@orrka.com&lt;/Contact&gt;
&lt;Image height=&quot;16&quot; width=&quot;16&quot; type=&quot;image/x-icon&quot;&gt;http://wynnnetherland.com/favicon.ico&lt;/Image&gt;
&lt;Url type=&quot;text/html&quot; method=&quot;get&quot; template=&quot;http://wynnnetherland.com/?s={searchTerms}&quot;/&gt;
&lt;moz:SearchForm&gt;http://wynnnetherland.com&lt;/moz:SearchForm&gt;
&lt;/OpenSearchDescription&gt;
</pre>
<p>Next, reference your search definition in your page layout.</p>
<pre class="brush: xml;">
&lt;link rel=&quot;search&quot; type=&quot;application/opensearchdescription+xml&quot; href=&quot;http://wynnnetherland.com/opensearch.xml&quot; title=&quot;Wynn Netherland&quot; /&gt;
</pre>
<p>Here&#8217;s a <a href="http://screenr.com/AKx">quick video</a> on how FireFox and Chrome handle OpenSearch and how your users will benefit:</p>
<p><object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0' width='534' height='331'><param name='movie' value='http://screenr.com/Content/assets/screenr_1116090935.swf' /><param name='flashvars' value='i=47387' /><param name='allowFullScreen' value='true' /><embed src='http://screenr.com/Content/assets/screenr_1116090935.swf' flashvars='i=47387' allowFullScreen='true' width='534' height='331' pluginspage='http://www.macromedia.com/go/getflashplayer'></embed></object></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2010/02/enhance-your-site-search-with-opensearch/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CSS Metaframeworks &#8211; King of all&#160;@media</title>
		<link>http://wynnnetherland.com/2010/02/css-metaframeworks-king-of-all-media/</link>
		<comments>http://wynnnetherland.com/2010/02/css-metaframeworks-king-of-all-media/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 20:43:47 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[compass]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[lesscss]]></category>
		<category><![CDATA[metaframeworks]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sass]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=280</guid>
		<description><![CDATA[I had the opportunity to give a presentation on CSS Metaframeworks at Dallas.rb last week. We discussed CSS, Sass, Compass, LessCSS, xCSS, Blueprint, and 960.gs. Here are the video and slides.


CSS Metaframeworks &#8211; King of all @media from Wynn Netherland on Vimeo.
CSS Metaframeworks: King of all @media
View more presentations from Wynn Netherland.




Related posts:Plan your Nextstop [...]


Related posts:<ol><li><a href='http://wynnnetherland.com/2009/11/plan-your-nextstop-from-ruby-or-twitter/' rel='bookmark' title='Permanent Link: Plan your Nextstop from Ruby &#8212; or&nbsp;Twitter!'>Plan your Nextstop from Ruby &#8212; or&nbsp;Twitter!</a></li><li><a href='http://wynnnetherland.com/2009/11/sass-up-your-wordpress-themes-with-compass/' rel='bookmark' title='Permanent Link: Sass up your WordPress themes with&nbsp;Compass'>Sass up your WordPress themes with&nbsp;Compass</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I had the opportunity to give a presentation on CSS Metaframeworks at Dallas.rb last week. We discussed CSS, <a href="http://sass-lang.com">Sass</a>, <a href="http://compass-style.org">Compass</a>, <a href="http://lesscss.org/">LessCSS</a>, <a href="http://xcss.antpaw.org/">xCSS</a>, <a href="http://www.blueprintcss.org/">Blueprint</a>, and <a href="http://960.gs">960.gs</a>. Here are the video and slides.<br />
<span id="more-280"></span><br />
<object width="480" height="270"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9348454&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9348454&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="480" height="270"></embed></object>
<p><a href="http://vimeo.com/9348454">CSS Metaframeworks &#8211; King of all @media</a> from <a href="http://vimeo.com/pengwynn">Wynn Netherland</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<div style="width:480px;text-align:left" id="__ss_3061830"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/pengwynn/css-metaframeworks-king-of-all-media" title="CSS Metaframeworks: King of all @media">CSS Metaframeworks: King of all @media</a><object style="margin:0px" width="480" height="436"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=metaframeworks-dallasrb-100203094700-phpapp01&#038;rel=0&#038;stripped_title=css-metaframeworks-king-of-all-media" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=metaframeworks-dallasrb-100203094700-phpapp01&#038;rel=0&#038;stripped_title=css-metaframeworks-king-of-all-media" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="436"></embed></object>
<div>View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/pengwynn">Wynn Netherland</a>.</div>
</div>
<p><br style="clear:both" /></p>


<p>Related posts:<ol><li><a href='http://wynnnetherland.com/2009/11/plan-your-nextstop-from-ruby-or-twitter/' rel='bookmark' title='Permanent Link: Plan your Nextstop from Ruby &#8212; or&nbsp;Twitter!'>Plan your Nextstop from Ruby &#8212; or&nbsp;Twitter!</a></li><li><a href='http://wynnnetherland.com/2009/11/sass-up-your-wordpress-themes-with-compass/' rel='bookmark' title='Permanent Link: Sass up your WordPress themes with&nbsp;Compass'>Sass up your WordPress themes with&nbsp;Compass</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2010/02/css-metaframeworks-king-of-all-media/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sneak peek: tail -f&#160;thechangelog</title>
		<link>http://wynnnetherland.com/2010/01/sneak-peek-tail-f-thechangelog/</link>
		<comments>http://wynnnetherland.com/2010/01/sneak-peek-tail-f-thechangelog/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 18:37:12 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[changelog]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=275</guid>
		<description><![CDATA[I wanted to give you my readers (all five of you) a sneak peek at a little something Adam and I have been working on over at The Changelog.

Introducing tail.thechangelog.com
Adam and I are always looking for ways to discover what&#8217;s fresh and new in open source so we built a little application that helps you [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I wanted to give you my readers (all five of you) a sneak peek at a little something <a href="http://twitter.com/adamstac">Adam</a> and I have been working on over at <a href="http://thechangelog.com">The Changelog</a>.<br />
<span id="more-275"></span></p>
<h4>Introducing tail.thechangelog.com</h4>
<p>Adam and I are always looking for ways to discover what&#8217;s fresh and new in open source so we built a little application that helps you drink from the <a href="http://github.com">GitHub</a> firehose. Tail gives you a real-time view of all public GithHub events and lets you filter by event type and programming languages. It still has some rough spots but we&#8217;d love to get your feed back here or just send a tweet to <a href="http://twitter.com/changelogshow">@changelogshow</a>.</p>
<p>Visit: <a href="http://tail.thechangelog.com">http://tail.thechangelog.com</a></p>
<p><object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0' width='500' height='308'><param name='movie' value='http://screenr.com/Content/assets/screenr_1116090935.swf' /><param name='flashvars' value='i=41065' /><param name='allowFullScreen' value='true' /><embed src='http://screenr.com/Content/assets/screenr_1116090935.swf' flashvars='i=41065' allowFullScreen='true' width='500' height='308' pluginspage='http://www.macromedia.com/go/getflashplayer'></embed></object></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2010/01/sneak-peek-tail-f-thechangelog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quick tip: Use APIdock to hunt down missing&#160;methods</title>
		<link>http://wynnnetherland.com/2009/12/quick-tip-find-missing-methods-with-apidock/</link>
		<comments>http://wynnnetherland.com/2009/12/quick-tip-find-missing-methods-with-apidock/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 22:40:57 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=267</guid>
		<description><![CDATA[From time to time, we all to have step into older projects and add features. Suddenly that old standby method you&#8217;d come to love is giving you a method_missing. How do you go about finding out which version of Rails introduced it so you can upgrade or monkey patch? APIdock has your back.

I bring this [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>From time to time, we all to have step into older projects and add features. Suddenly that old standby method you&#8217;d come to love is giving you a <code>method_missing</code>. How do you go about finding out which version of Rails introduced it so you can upgrade or monkey patch? APIdock has your back.<br />
<span id="more-267"></span><br />
I bring this up because all too many gems depend on Active Support from Rails and introducing a new gem into an older Rails project can lead to some headaches when Active Support versions collide.</p>
<h4>A real world example</h4>
<p>My <a href="http://github.com/pengwynn/linkedin">LinkedIn gem</a> depends on <a href="http://github.com/Empact/roxml">ROXML</a> which in turn depends on <a href="http://gemcutter.org/gems/activesupport">Active Support</a>, and more specifically <code>Object#present?</code>. If you don&#8217;t know <code>present?</code> is just the opposite of <code>blank?</code>. Never one to eschew the <code>unless</code> conditional (I know, I&#8217;m a heretic) I&#8217;ve always used <code>unless foo.blank?</code> and didn&#8217;t notice when <code>present?</code> was added.</p>
<p>So when asked to debug my gem in an older project the error message was puzzling: <code>undefined method `present?' for "status":String</code></p>
<p><code>String</code> in this case is just a red herring. How do I know that? (Pretend for a minute you don&#8217;t use <code>present?</code> all the time or that you&#8217;re a noob). A quick search on <a href="http://apidock.com/rails/Object/present%3F">APIdock</a> tells us that Active Support added this method in version 2.2.1.</p>
<p><a href="http://www.flickr.com/photos/wynnxp/4206575889/sizes/o/"><img src='http://farm5.static.flickr.com/4009/4206575889_88c957ee2b.jpg' class='flickr'alt='present? (Object) - APIdock'/></a></p>
<p>I know this because the navigation is enabled for this method starting in 2.2.1. So, mystery solved. My friend can now monkey patch his way out of this one or upgrade to a later version of Active Support. Pick your poison.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2009/12/quick-tip-find-missing-methods-with-apidock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Twitter gem now supports&#160;Tumblr</title>
		<link>http://wynnnetherland.com/2009/12/the-twitter-gem-now-supports-tumblr/</link>
		<comments>http://wynnnetherland.com/2009/12/the-twitter-gem-now-supports-tumblr/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 23:09:32 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[tumblr]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=262</guid>
		<description><![CDATA[On the heels of the announcement that Tumblr now supports the Twitter API, we&#8217;re happy to say the Twitter gem now supports Tumblr!

Be sure and grab 0.8.0: sudo gem install twitter
To use the gem with Tumblr, pass a new argument when using HTTPAuth. Also note your username is your email address on Tumblr:

httpauth = Twitter::HTTPAuth.new('email', [...]


Related posts:<ol><li><a href='http://wynnnetherland.com/2009/10/new-in-the-twitter-gem-lists/' rel='bookmark' title='Permanent Link: New in the Twitter gem:&nbsp;Lists!'>New in the Twitter gem:&nbsp;Lists!</a></li><li><a href='http://wynnnetherland.com/2009/11/what-makes-a-good-api-wrapper/' rel='bookmark' title='Permanent Link: What makes a good API&nbsp;wrapper?'>What makes a good API&nbsp;wrapper?</a></li><li><a href='http://wynnnetherland.com/2009/11/twitter-gem-updates-so-long-mash-hello-hashie/' rel='bookmark' title='Permanent Link: Twitter gem updates: So long Mash, hello&nbsp;Hashie'>Twitter gem updates: So long Mash, hello&nbsp;Hashie</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>On the heels of the <a href="http://staff.tumblr.com/post/287703110/api">announcement that Tumblr now supports the Twitter API</a>, we&#8217;re happy to say the <a href="http://gemcutter.org/gems/twitter">Twitter gem</a> now supports Tumblr!<br />
<span id="more-262"></span></p>
<p>Be sure and grab 0.8.0: <code>sudo gem install twitter</code></p>
<p>To use the gem with Tumblr, pass a new argument when using HTTPAuth. Also note your username is your email address on Tumblr:</p>
<pre class="brush: ruby;">
httpauth = Twitter::HTTPAuth.new('email', 'password', :api_endpoint =&gt; 'tumblr.com')
base = Twitter::Base.new(httpauth)

pp base.user_timeline
</pre>
<p>Tumblr does not support all API methods and instead returns 404s. I&#8217;ll look into a way to catch those and raise <code>NotImplemented</code> instead.</p>


<p>Related posts:<ol><li><a href='http://wynnnetherland.com/2009/10/new-in-the-twitter-gem-lists/' rel='bookmark' title='Permanent Link: New in the Twitter gem:&nbsp;Lists!'>New in the Twitter gem:&nbsp;Lists!</a></li><li><a href='http://wynnnetherland.com/2009/11/what-makes-a-good-api-wrapper/' rel='bookmark' title='Permanent Link: What makes a good API&nbsp;wrapper?'>What makes a good API&nbsp;wrapper?</a></li><li><a href='http://wynnnetherland.com/2009/11/twitter-gem-updates-so-long-mash-hello-hashie/' rel='bookmark' title='Permanent Link: Twitter gem updates: So long Mash, hello&nbsp;Hashie'>Twitter gem updates: So long Mash, hello&nbsp;Hashie</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2009/12/the-twitter-gem-now-supports-tumblr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use JavaScript to put GitHub info on your&#160;site</title>
		<link>http://wynnnetherland.com/2009/12/use-javascript-to-put-github-info-on-your-site/</link>
		<comments>http://wynnnetherland.com/2009/12/use-javascript-to-put-github-info-on-your-site/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 17:24:57 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[changelog]]></category>
		<category><![CDATA[examples]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[jsonp]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=254</guid>
		<description><![CDATA[In case you missed it, Adam and I launched a new blog and are six episodes into a new podcast where we bring you what&#8217;s fresh and new in open source software. Our goal is to scour the depths of GitHub (and other sources) to highlight the cool new and newly released open source projects. [...]


Related posts:<ol><li><a href='http://wynnnetherland.com/2009/11/rubyists-meet-underscore-js-your-new-favorite-javascript-library/' rel='bookmark' title='Permanent Link: Rubyists: Meet Underscore.js, your new favorite Javascript&nbsp;library'>Rubyists: Meet Underscore.js, your new favorite Javascript&nbsp;library</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>In case you missed it, <a href="http://adamstacoviak.com">Adam</a> and I launched a <a href="http://thechangelog.com">new blog</a> and are six episodes into a new podcast where we bring you what&#8217;s fresh and new in open source software. Our goal is to scour the depths of <a href="http://github.com">GitHub</a> (and other sources) to highlight the cool new and newly released open source projects. As the good folks at Github <a href="http://github.com/blog/555-the-changelog">recently highlighted</a>, one of my favorite features of the blog is the GitHub integration. Here&#8217;s how to use JavaScript to put GitHub info on your site.<br />
<span id="more-254"></span><br />
For The Changelog, when we link to a GitHub repo, we wanted to display the number of times the repo has been forked or watched:<br />
<img src='http://farm3.static.flickr.com/2522/4188158734_a7c7260d40.jpg' class='flickr'alt='Changelog GitHub integration'/></p>
<p>To do this, we call <a href="http://develop.github.com">Version 2 of the GitHub API</a>, which provides a great deal of info about GitHub users and repositories. To retrieve repo info, we call <code>repos/show</code> method:</p>
<p><a href="http://github.com/api/v2/xml/repos/show/pengwynn/linkedin">http://github.com/api/v2/xml/repos/show/pengwynn/linkedin</a></p>
<p>The API supports JSON, YAML, and XML return types. From JavaScript, JSON is the simplest data format to work with. Simply replace the <code>xml</code> segment with <code>json</code>:</p>
<p><a href="http://github.com/api/v2/json/repos/show/pengwynn/linkedin">http://github.com/api/v2/json/repos/show/pengwynn/linkedin</a></p>
<p>Most likely, hitting this URL from your browser will download the file. Open that up in your favorite text editor and you should see a JavaScript Object Notation representation of the same repo info:</p>
<pre class="brush: jscript;">
{
    &quot;repository&quot;: {
        &quot;url&quot;: &quot;http://github.com/pengwynn/linkedin&quot;,
        &quot;description&quot;: &quot;Ruby wrapper for the LinkedIn API&quot;,
        &quot;watchers&quot;: 43,
        &quot;homepage&quot;: &quot;http://bit.ly/ruby-linkedin&quot;,
        &quot;fork&quot;: false,
        &quot;forks&quot;: 1,
        &quot;private&quot;: false,
        &quot;name&quot;: &quot;linkedin&quot;,
        &quot;owner&quot;: &quot;pengwynn&quot;,
        &quot;open_issues&quot;: 1
    }
}
</pre>
<p>To put this info on the page, in our example, we&#8217;ll use jQuery, but you can of course use another framework or plain vanilla JavaScript.</p>
<pre class="brush: jscript;">
jQuery(document).ready(function($){

  $.each($('.post.link.github h3 a'), function() {
    var post = $(this).parents(&quot;.post&quot;);
    var url = $(this).attr('href');
    var segments = url.split('/');
    var repo = segments.pop();
    var username = segments.pop();
    $.getJSON(&quot;http://github.com/api/v2/json/repos/show/&quot;+username+&quot;/&quot;+repo+&quot;?callback=?&quot;, function(data){
      var repo_data = data.repository;
      if(repo_data) {
        var watchers_link = $('&lt;a&gt;').addClass('watchers').attr('href', url+'/watchers').text(repo_data.watchers);
        var forks_link = $('&lt;a&gt;').addClass('forks').attr('href', url+'/network').text(repo_data.forks);
        var comment_link = post.find('.meta .comment-count');
        comment_link.after(watchers_link);
        comment_link.after(forks_link);
      }
    });
  });
});
</pre>
<p>This code looks for any entries that have CSS classes of <code>link</code> and <code>github</code> (which come from the post&#8217;s tags), and find the <code>href</code> for the link. We then lop off the last two URL segments to get the repo name and user to pass to our API call.</p>
<p>Note the <code>callback=?</code> which is required for the dynamic <a href="http://ajaxian.com/archives/jsonp-json-with-padding"><code>JSONP</code></a> callback which jQuery wires up to our inline callback function. In this function, the <code>data</code> parameter is that JSON we looked at earlier. In this case we just create a couple of links that point back to GitHub and append them to the <code>.meta</code> div for the post.</p>
<p>Easy peasy!</p>


<p>Related posts:<ol><li><a href='http://wynnnetherland.com/2009/11/rubyists-meet-underscore-js-your-new-favorite-javascript-library/' rel='bookmark' title='Permanent Link: Rubyists: Meet Underscore.js, your new favorite Javascript&nbsp;library'>Rubyists: Meet Underscore.js, your new favorite Javascript&nbsp;library</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2009/12/use-javascript-to-put-github-info-on-your-site/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Speed up your API development, sniff your network calls on OSX with&#160;HTTPScoop</title>
		<link>http://wynnnetherland.com/2009/12/speed-up-your-api-development-sniff-your-network-calls-on-osx-with-httpscoop/</link>
		<comments>http://wynnnetherland.com/2009/12/speed-up-your-api-development-sniff-your-network-calls-on-osx-with-httpscoop/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 22:26:39 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=248</guid>
		<description><![CDATA[HTTPScoop from Tuffcode is a neat way to see what network calls are going on from all the applications in OS X. It&#8217;s perfect for debugging API calls or creating fixtures for API wrapper tests.


Download the free trial. Full version is only $15 + tax.


No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>HTTPScoop from <a href="http://www.tuffcode.com/index.html">Tuffcode</a> is a neat way to see what network calls are going on from all the applications in OS X. It&#8217;s perfect for debugging API calls or creating fixtures for API wrapper tests.<br />
<span id="more-248"></span><br />
<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0' width='530' height='323'><param name='movie' value='http://screenr.com/Content/assets/screenr_1116090935.swf' /><param name='flashvars' value='i=31855' /><param name='allowFullScreen' value='true' /><embed src='http://screenr.com/Content/assets/screenr_1116090935.swf' flashvars='i=31855' allowFullScreen='true' width='530' height='323' pluginspage='http://www.macromedia.com/go/getflashplayer'></embed></object></p>
<p>Download the <a href="http://www.tuffcode.com/download.html">free trial</a>. Full version is <a href="http://www.tuffcode.com/buy.html">only $15 + tax</a>.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2009/12/speed-up-your-api-development-sniff-your-network-calls-on-osx-with-httpscoop/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Add a retweet button to your Rails app easily with the Backtweets&#160;helper</title>
		<link>http://wynnnetherland.com/2009/12/add-a-retweet-button-to-your-rails-app-easily-with-the-backtweets-helper/</link>
		<comments>http://wynnnetherland.com/2009/12/add-a-retweet-button-to-your-rails-app-easily-with-the-backtweets-helper/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 20:09:05 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=240</guid>
		<description><![CDATA[On this blog, I use the excellent Socialize plugin to easily add social sharing buttons to each post. For Twitter, I chose to configure Socialize to use Backtweets for displaying tweet counts mainly because it&#8217;s more configurable than the TweetMeme widget. 
When I needed a Backtweets widget for a client Rails application, I whipped up [...]


Related posts:<ol><li><a href='http://wynnnetherland.com/2009/11/new-in-twitterland-tweetmeme-and-foller-me-api-support/' rel='bookmark' title='Permanent Link: New in TwitterLand: TweetMeme and Foller.me API&nbsp;support'>New in TwitterLand: TweetMeme and Foller.me API&nbsp;support</a></li><li><a href='http://wynnnetherland.com/2009/11/twitter-wish-list-background-image-alignmen/' rel='bookmark' title='Permanent Link: Twitter wish list: background image&nbsp;alignment'>Twitter wish list: background image&nbsp;alignment</a></li><li><a href='http://wynnnetherland.com/2010/02/css-metaframeworks-king-of-all-media/' rel='bookmark' title='Permanent Link: CSS Metaframeworks &#8211; King of all&nbsp;@media'>CSS Metaframeworks &#8211; King of all&nbsp;@media</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>On this blog, I use the excellent <a href="http://wordpress.org/extend/plugins/socialize/">Socialize plugin</a> to easily add social sharing buttons to each post. For Twitter, I chose to configure Socialize to use <a href='http://backtweets.com'>Backtweets</a> for displaying tweet counts mainly because it&#8217;s more configurable than the TweetMeme widget. </p>
<p>When I needed a Backtweets widget for a client Rails application, I whipped up a quick plugin that provides an easy helper for writing all those JavaScript options.<br />
<span id="more-240"></span></p>
<h3>Installation</h3>
<p>You can install the plugin from the <a href="http://github.com/pengwynn/backtweets_helper">GitHub repo</a>:</p>
<pre class="brush: plain;">
script/plugin install git://github.com/pengwynn/backtweets_helper.git
</pre>
<h3>Displaying a tweet count in your view</h3>
<p>To display a count of tweets that reference the current page, simply call the helper:</p>
<pre class="brush: plain;">
&lt;%= backtweets_count %&gt;
&lt;%= backtweets_count(:size =&gt; :small) %&gt;
</pre>
<p><script type="text/javascript">
        tweetcount_url = 'http://wynnnetherland.com/2009/12/add-a-retweet-button-to-your-rails-app-easily-with-the-backtweets-helper';
</script><br />
<script type="text/javascript" src="http://widgets.backtype.com/tweetcount.js"></script><br />
<script type="text/javascript">
        tweetcount_url = 'http://wynnnetherland.com/2009/12/add-a-retweet-button-to-your-rails-app-easily-with-the-backtweets-helper';
        tweetcount_size = 'small';
</script><br />
<script type="text/javascript" src="http://widgets.backtype.com/tweetcount.js"></script></p>
<p>The full set of options include:</p>
<table>
<tr>
<th>Parameter</th>
<th>Default value</th>
<th>Description></th>
</tr>
<tr>
<td><code>url</code></td>
<td>Current URL</td>
<td>The URL to measure tweets for</td>
</tr>
<tr>
<td><code>title</code></td>
<td>Title of the current page</td>
<td>The title of the page for retweets</td>
</tr>
<tr>
<td><code>src</code></td>
<td></td>
<td>Leading text for retweets</td>
</tr>
<tr>
<td><code>via</code></td>
<td><code>true</code></td>
<td>If tweets contain &#8216;(via @BackType)&#8217;</td>
</tr>
<tr>
<td><code>links</code></td>
<td><code>false</code></td>
<td>If links should be opened in new windows</td>
</tr>
<tr>
<td><code>size</code></td>
<td><code>"large"</code></td>
<td>Size of button (&#8221;large&#8221; or &#8220;small&#8221;)</td>
</tr>
<tr>
<td><code>api_key</code></td>
<td></td>
<td>Awe.sm API Key for custom URL shortener</td>
</tr>
<tr>
<td><code>short_url</code></td>
<td>Generated (bt.io)</td>
<td>Specify the pre-shortened URL that you would like to use</td>
</tr>
<tr>
<td><code>background</code></td>
<td></td>
<td>Button background color (e.g. &#8216;FFFFFF&#8217;)</td>
</tr>
<tr>
<td><code>border</code></td>
<td></td>
<td>Button border color (e.g. &#8216;CCCCCC&#8217;)</td>
</tr>
<tr>
<td><code>text</code></td>
<td></td>
<td>Button text color (e.g. &#8216;000000&#8242;)</td>
</tr>
</table>
<h3>Displaying recent comments, blogroll and search</h3>
<p>The plugin also includes three other helpers to render user comments and blogroll widgets as well as a comment search widget:</p>
<pre class="brush: plain;">
&lt;%= backtweets_comments('pengwynn') -%&gt;
&lt;%= backtweets_blogroll('pengwynn') -%&gt;
&lt;%= backtweets_search('ruby') -%&gt;
</pre>
<p><script type="text/javascript" src="http://widgets.backtype.com/pengwynn"></script><br />
<script type="text/javascript" src="http://widgets.backtype.com/pengwynn/blogs"></script><br />
<script type="text/javascript" src="http://widgets.backtype.com/comments?q=ruby"></script><br />
</p>
<p>If you would like to hit the Backtweets API for more info on your links and counts, check out the <a href='http://github.com/squeejee/twitterland'>Twitterland gem</a>.</p>


<p>Related posts:<ol><li><a href='http://wynnnetherland.com/2009/11/new-in-twitterland-tweetmeme-and-foller-me-api-support/' rel='bookmark' title='Permanent Link: New in TwitterLand: TweetMeme and Foller.me API&nbsp;support'>New in TwitterLand: TweetMeme and Foller.me API&nbsp;support</a></li><li><a href='http://wynnnetherland.com/2009/11/twitter-wish-list-background-image-alignmen/' rel='bookmark' title='Permanent Link: Twitter wish list: background image&nbsp;alignment'>Twitter wish list: background image&nbsp;alignment</a></li><li><a href='http://wynnnetherland.com/2010/02/css-metaframeworks-king-of-all-media/' rel='bookmark' title='Permanent Link: CSS Metaframeworks &#8211; King of all&nbsp;@media'>CSS Metaframeworks &#8211; King of all&nbsp;@media</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2009/12/add-a-retweet-button-to-your-rails-app-easily-with-the-backtweets-helper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Link LinkedIn into your next Ruby&#160;application</title>
		<link>http://wynnnetherland.com/2009/11/link-linkedin-into-your-next-ruby-application/</link>
		<comments>http://wynnnetherland.com/2009/11/link-linkedin-into-your-next-ruby-application/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 01:12:42 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[wrapper]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=234</guid>
		<description><![CDATA[LinkedIn launched its new API last week, allowing any developer brave enough to implement OAuth to integrate with one of the largest social networks around. Seeking an opportunity to really understand OAuth more fully and play around with the LinkedIn API at the same time, I created the LinkedIn Ruby Gem.

What&#8217;s exposed?
The LinkedIn API documentation [...]


Related posts:<ol><li><a href='http://wynnnetherland.com/2009/11/a-new-ruby-gem-for-the-readernaut-api/' rel='bookmark' title='Permanent Link: A new Ruby gem for the Readernaut&nbsp;API'>A new Ruby gem for the Readernaut&nbsp;API</a></li><li><a href='http://wynnnetherland.com/2009/11/new-in-twitterland-tweetmeme-and-foller-me-api-support/' rel='bookmark' title='Permanent Link: New in TwitterLand: TweetMeme and Foller.me API&nbsp;support'>New in TwitterLand: TweetMeme and Foller.me API&nbsp;support</a></li><li><a href='http://wynnnetherland.com/2009/11/plan-your-nextstop-from-ruby-or-twitter/' rel='bookmark' title='Permanent Link: Plan your Nextstop from Ruby &#8212; or&nbsp;Twitter!'>Plan your Nextstop from Ruby &#8212; or&nbsp;Twitter!</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>LinkedIn <a href='http://blog.programmableweb.com/2009/11/23/linkedin-api-platform-goes-live-your-resume-and-business-network-now-have-an-api/'>launched</a> its new API last week, allowing any developer brave enough to implement <a href='http://oauth.net'>OAuth</a> to integrate with one of the largest social networks around. Seeking an opportunity to really understand OAuth more fully and play around with the <a href='http://developer.linkedin.com'>LinkedIn API</a> at the same time, I created the <a href='http://gemcutter.org/gems/linkedin'>LinkedIn Ruby Gem</a>.<br />
<span id="more-234"></span></p>
<h4>What&#8217;s exposed?</h4>
<p>The LinkedIn API documentation could use some organization. To save you some digging, here are the main aspects of the REST API.</p>
<dl>
<dt><a href="http://developer.linkedin.com/docs/DOC-1002">Profile</a></dt>
<dd>View public and full information for LinkedIn members based on the authenticated user, member ID, or public profile URL. Visibility of profile information depends on the distance the target user is to the authenticated user in his LinkedIn network. </dd>
<dt><a href="http://developer.linkedin.com/docs/DOC-1004">Connections</a></dt>
<dd>Retrieve the authenticated user&#8217;s social graph</dd>
<dt><a href="http://developer.linkedin.com/docs/DOC-1007">Status</a>
<dt>
<dd>Let everyone know what you&#8217;re up to, or see what they&#8217;re working on.</dd>
<dt><a href="http://developer.linkedin.com/docs/DOC-1005">Search</a></dt>
<dd>Find LinkedIn public profiles based on several criteria.</dd>
<dt><a href="http://developer.linkedin.com/docs/DOC-1012">Invitations</a></dt>
<dd>Invite users to connect on behalf of the authenticated user.</dd>
</dl>
<h4>Getting started</h4>
<p>Before you can use the API, you&#8217;ll need to set up your <a href="https://www.linkedin.com/secure/developer">API keys</a>.</p>
<div id="__ss_2576372"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/episod/getting-started-with-the-linkedin-api" title="Getting Started with the LinkedIn API">Getting Started with the LinkedIn API</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=introdevelopernetwork-091124132311-phpapp02&#038;stripped_title=getting-started-with-the-linkedin-api" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=introdevelopernetwork-091124132311-phpapp02&#038;stripped_title=getting-started-with-the-linkedin-api" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<h4>Ruby gem installation</h4>
<pre class="brush: ruby;">
# Are you ready to Tummmmmmmmmmmmble?
sudo gem install gemcutter
gem tumble

sudo gem install linkedin
</pre>
<h4>Usage</h4>
<p>Start by authenticating via OAuth. To play around from <code>irb</code>, you&#8217;ll need to authenticate via the PIN method.</p>
<pre class="brush: ruby;">
require 'rubygems'
require 'linkedin'

# get your api keys at https://www.linkedin.com/secure/developer
client = LinkedIn::Client.new('your_consumer_key', 'your_consumer_secret')
rtoken = client.request_token.token
rsecret = client.request_token.secret

# to test from your desktop, open the following url in your browser
# and record the pin it gives you
client.request_token.authorize_url
=&gt; &quot;https://api.linkedin.com/uas/oauth/authorize?oauth_token=&lt;generated_token&gt;&quot;

# then fetch your access keys
client.authorize_from_request(rtoken, rsecret, pin)
=&gt; [&quot;OU812&quot;, &quot;8675309&quot;] # &lt;= save these for future requests

# or authorize from previously fetched access keys
client.authorize_from_access(&quot;OU812&quot;, &quot;8675309&quot;)

# you're now free to move about the cabin, call any API method
</pre>
<p>Be sure and save those access keys and just call <code>authorize_from_access</code> in subsequent <code>irb</code> sessions.</p>
<h5>Grabbing a profile</h5>
<p>Once authenticated via OAuth, you can grab the profile for the authenticated user simply by calling <code>profile</code></p>
<pre class="brush: ruby;">
# get the profile for the authenticated user
client.profile
</pre>
<p>You can also grab the profile for another user via the member id or public profile url:</p>
<pre class="brush: ruby;">

# get a profile for someone found in network via ID
client.profile(:id =&gt; 'gNma67_AdI')

# get a profile for someone via their public profile url
client.profile(:url =&gt; 'http://www.linkedin.com/in/netherland')
</pre>
<p>If you want to see more than <code>first-name</code>,<code>last-name</code>, and <code>headline</code>, you&#8217;ll need to pass in a list of fields to return:</p>
<pre class="brush: ruby;">
# get a profile for someone found in network via ID
client.profile(:id =&gt; 'gNma67_AdI', :fields =&gt; %w(first-name, last-name, headline, positions, education))
</pre>
<p>For the full list of possible fields, check the <a href='http://developer.linkedin.com/docs/DOC-1002'>docs.</a></p>
<h4>More examples</h4>
<p>For examples using the other API methods, <a href="http://github.com/pengwynn/linkedin/tree/master/examples/">check out the examples folder in the source on GitHub</a>.</p>
<h4>Summary</h4>
<p>I want to give a big hat tip to <a href="http://twitter.com/jnunemaker">John Nunemaker</a> for helping me implement OAuth in this gem and for inspiring me with his ultra-popular <a href="http://github.com/jnunemaker.com/twitter">Twitter gem</a>. </p>
<p>Once you navigate the documentation, I believe you&#8217;ll find the LinkedIn API to be a powerful platform to integrate into your Ruby applications. Install the gem and go build somethting cool.</p>


<p>Related posts:<ol><li><a href='http://wynnnetherland.com/2009/11/a-new-ruby-gem-for-the-readernaut-api/' rel='bookmark' title='Permanent Link: A new Ruby gem for the Readernaut&nbsp;API'>A new Ruby gem for the Readernaut&nbsp;API</a></li><li><a href='http://wynnnetherland.com/2009/11/new-in-twitterland-tweetmeme-and-foller-me-api-support/' rel='bookmark' title='Permanent Link: New in TwitterLand: TweetMeme and Foller.me API&nbsp;support'>New in TwitterLand: TweetMeme and Foller.me API&nbsp;support</a></li><li><a href='http://wynnnetherland.com/2009/11/plan-your-nextstop-from-ruby-or-twitter/' rel='bookmark' title='Permanent Link: Plan your Nextstop from Ruby &#8212; or&nbsp;Twitter!'>Plan your Nextstop from Ruby &#8212; or&nbsp;Twitter!</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2009/11/link-linkedin-into-your-next-ruby-application/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Rubyists I&#8217;m thankful for this&#160;year</title>
		<link>http://wynnnetherland.com/2009/11/rubyists-im-thankful-for-this-year/</link>
		<comments>http://wynnnetherland.com/2009/11/rubyists-im-thankful-for-this-year/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 02:14:13 +0000</pubDate>
		<dc:creator>Wynn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[thanksgiving]]></category>

		<guid isPermaLink="false">http://wynnnetherland.com/?p=228</guid>
		<description><![CDATA[Thanksgiving is one of my favorite holidays. I also like what&#8217;s become a blogging trend of stopping and giving thanks for a few things. This year, I focus on some Rubyists that I feel don&#8217;t get enough praise for the great work they do.

John Nunemaker. I&#8217;ve learned a ton just by looking through John&#8217;s code. [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Thanksgiving is one of my favorite holidays. I also like what&#8217;s become a blogging trend of stopping and giving thanks for a few things. This year, I focus on some Rubyists that I feel don&#8217;t get enough praise for the great work they do.<br />
<span id="more-228"></span></p>
<p><a href="http://twitter.com/jnunemaker">John Nunemaker</a>. I&#8217;ve learned a ton just by looking through John&#8217;s code. He not only churns out <a href="http://github.com/jnunemaker/twitter">great</a> <a href="http://github.com/jnunemaker/mongomapper">projects</a>, he&#8217;s active in the discussion groups to answer questions and fix issues. I can&#8217;t wait to see <a href="http://get.harmonyapp.com/">some cool things from John in 2010</a>.</p>
<p><a href="http://twitter.com/edavis10">Eric Davis</a>. Let&#8217;s face it, issue management isn&#8217;t sexy, but Eric has done a fantastic job on the <a href="http://redmine.org">Redmine</a> team to keep improving the open source issue tracker. He&#8217;s contributed a number of plugins and is always around in the forums to listen and help the n00bs. Need help deploying or maintaining Redmine in your shop? <a href="http://theadmin.org/">Hire Eric</a>.</p>
<p><a href="http://twitter.com/mikeg1">Mike Gunderloy.</a> I can&#8217;t start my day without a <a href="http://afreshcup.com">double shot</a> of Ruby links. Mike is also a community leader, <a href="http://railsbridge.org/">working to grow the Rails tent and bring folks in</a>. </p>
<h4>Who are you thankful for?</h4>
<p>Who in the Ruby community are you thankful for this year? Why not drop a comment here or send a tweet to let them know?</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://wynnnetherland.com/2009/11/rubyists-im-thankful-for-this-year/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
