<?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>The Two Alexs</title>
	<atom:link href="http://blog.twoalex.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.twoalex.com</link>
	<description>Alexes?  Alex&#039;s?  Alexi?  Alexim?  Alexen?</description>
	<lastBuildDate>Thu, 12 Jan 2012 08:06:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Koala 1.3 is out!</title>
		<link>http://blog.twoalex.com/2012/01/12/koala-1-3-is-out/</link>
		<comments>http://blog.twoalex.com/2012/01/12/koala-1-3-is-out/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 08:06:47 +0000</pubDate>
		<dc:creator>k</dc:creator>
				<category><![CDATA[facebook]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1365</guid>
		<description><![CDATA[Hey everyone, Happy new year!  I hope you&#8217;ve all had a great start to 2012 &#8212; and what better way to kick the year off than with a new version of Koala? Goodbye, REST API, someday Facebook has finally ported over the last of the REST API functions to the Graph API, meaning that anything [...]]]></description>
			<content:encoded><![CDATA[<p>Hey everyone,</p>
<p>Happy new year!  I hope you&#8217;ve all had a great start to 2012 &#8212; and what better way to kick the year off than with a new version of Koala?</p>
<h2>Goodbye, REST API, someday</h2>
<p>Facebook has finally ported over the last of the REST API functions to the Graph API, meaning that anything you can do with Facebook you can do through the newer interface&#8230;and that it&#8217;s <a href="https://developers.facebook.com/blog/post/616/">time for them to deprecate the REST API</a>.  No need to rush &#8212; the older interface will still be around for a while and Koala of course will support it till the end &#8212; but you should start migrating over if you&#8217;re still using any REST API calls.</p>
<h2>Documentation!</h2>
<p>Koala is now completely documented; information on every public method and class is available on rubydoc.info.  I know everyone <em>loves</em> rummaging around in source code, but if ever you feel like you just want a concise, useful writeup of the methods available to you, check it out <a href="http://rubydoc.info/github/arsduo/koala/master/Koala">here</a>.</p>
<h2>Other improvements</h2>
<p>Here are the biggest changes since the last release:</p>
<ul>
<li>New OAuth#url_for_dialog method creates URLs for Facebook dialog pages</li>
<li>New API#set_app_restrictions handles JSON-encoding app restrictions</li>
<li>New GraphCollection.parse_page_url now exposes useful functionality for non-Rails apps (see <a href="https://github.com/arsduo/koala/issues/128">this issue</a>)</li>
<li>Utils.deprecate only prints each message once (no more spamming!)</li>
<li>OAuth#url_for_access_token and #url_for_oauth_code now include any provided options as URL parameters</li>
<li>OAuth#get_user_info_from_cookies returns nil rather than an error if the cookies are expired (thanks, herzio!)</li>
<li>TestUsers#delete_all now uses the Batch API and is much faster</li>
<li>Fixed bugs, reorganized file and class structure non-destructively, expanded/improved test coverage</li>
</ul>
<p>The complete changelog is <a href="https://github.com/arsduo/koala/blob/master/CHANGELOG">here</a>, and the diff since 1.2.1 is <a href="https://github.com/arsduo/koala/compare/v1.2.1...v1.3.0">here</a>.</p>
<h2>What&#8217;s next</h2>
<p>Nothing much, actually.  Koala is stable and recent Facebook changes haven&#8217;t required any new code on our end (which we&#8217;re very excited about).  We&#8217;ll keep an eye on the FB developer blog and update Koala as the API changes; in the meanwhile, feel free to submit any pull requests if there&#8217;s code you want to add or improve.</p>
<p>Have a great 2012!</p>
<p>Alex<br/><a href="http://github.com/arsduo/koala">http://github.com/arsduo/koala</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2012/01/12/koala-1-3-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Koala 1.3rc2 released!</title>
		<link>http://blog.twoalex.com/2011/12/05/koala-1-3rc2-released/</link>
		<comments>http://blog.twoalex.com/2011/12/05/koala-1-3rc2-released/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 21:12:53 +0000</pubDate>
		<dc:creator>k</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1351</guid>
		<description><![CDATA[Hey everyone, Fresh like a crepe off the pan comes Koala 1.3rc2 to fill your stomach and brighten your day. (The holidays really seem to bring out the food imagery, don&#8217;t they?) Documentation! Koala has always had a thorough wiki, but until now you&#8217;ve had to look at the source code to see what methods [...]]]></description>
			<content:encoded><![CDATA[<p>Hey everyone,</p>
<p>Fresh like a crepe off the pan comes Koala 1.3rc2 to fill your stomach and brighten your day. (The holidays really seem to bring out the food imagery, don&#8217;t they?)</p>
<h2>Documentation!</h2>
<p>Koala has always had a thorough wiki, but until now you&#8217;ve had to look at the source code to see what methods are available and what they do.  No more!  The library is now completely documented; information on every public method and class is available on <a href="http://rubydoc.info/github/arsduo/koala/master/Koala">rubydoc.info</a>.  If you don&#8217;t feel like rummaging through the source code for the method signature of a particular method, you no longer have to.  (Not that there&#8217;s anyone here who doesn&#8217;t like digging through the code of their libraries, I&#8217;m sure.)</p>
<p><span class="Apple-style-span" style="font-size: 20px; font-weight: bold;">Winter cleaning</span></p>
<p>With the holidays approaching and the relatives coming over, it was to give Koala a long overdue housecleaning.  The <a href="https://github.com/arsduo/koala/tree/master/lib/koala">lib/koala/</a> directory was getting a bit crowded, so I&#8217;ve reorganized, moving a number of files into the new the api/ and http_service/ subdirectories.  I&#8217;ve also updated the class structure largely to match, putting classes and modules in more logical places.</p>
<p>Don&#8217;t worry, though &#8212; for each move there&#8217;s an alias to ensure your existing code doesn&#8217;t break, and there&#8217;s even a legacy spec to really ensure all the old references work.  (If you&#8217;re directly referencing any of Koala&#8217;s more internal classes in your code &#8212; MultipartRequest,  Response, UploadableIO, BatchOperation, or GraphCollection &#8212; check out the <a href="https://github.com/arsduo/koala/blob/master/spec/cases/legacy_spec.rb#L86">legacy spec</a> for more details.)</p>
<h2>Other updates since 1.3rc1</h2>
<ul>
<li>RealtimeUpdates#subscription_path and TestUsers#test_user_accounts_path are now public methods</li>
<li>TestUsers and RealtimeUpdates methods now take http_options arguments</li>
<li>All methods with http_options can now take :http_component =&gt; :response for the complete response object</li>
<li>Fixed bugs in RealtimeUpdates and TestUsers</li>
</ul>
<h2>Installation</h2>
<p>As always:</p>
<pre title="">[sudo|rvm] gem install koala --pre</pre>
<p>Or with Bundler:</p>
<pre title="">gem "koala", "~&gt; 1.3.0rc2"</pre>
<h2>What&#8217;s next</h2>
<p>Assuming I don&#8217;t come up with any other projects like documentation and cleanup, I&#8217;ll release 1.3 soon.  After that, we&#8217;ll just kick back, enjoy the holidays, and update as needed to stay current with the Facebook API.</p>
<p>Have a great week,</p>
<p>Alex<br />
<a href="http://github.com/arsduo/koala"> http://github.com/arsduo/koala</a></p>
<div id="attachment_1046" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.twoalex.com/wp-content/uploads/2011/04/koala-party.png"><img class="size-thumbnail wp-image-1046 " title="Koala Party" src="http://blog.twoalex.com/wp-content/uploads/2011/04/koala-party-150x150.png" alt="" width="150" height="150" /></a><p class="wp-caption-text">wooo</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2011/12/05/koala-1-3rc2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Koala 1.3.0rc1 released!</title>
		<link>http://blog.twoalex.com/2011/11/14/koala-1-3-0rc1-released/</link>
		<comments>http://blog.twoalex.com/2011/11/14/koala-1-3-0rc1-released/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 14:19:08 +0000</pubDate>
		<dc:creator>k</dc:creator>
				<category><![CDATA[facebook]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1338</guid>
		<description><![CDATA[Hey all, I&#8217;m happy to announce the release of Koala 1.3.0rc1! New Features 1.3.0rc1 provides support for several new Facebook features, a number of bug fixes, and other improvements: API#set_app_restrictions uses the new Graph API to set Facebook app restrictions OAuth#url_for_dialog builds the URLs for the various Facebook dialogs GraphCollection.parse_page_url now exposes useful functionality for [...]]]></description>
			<content:encoded><![CDATA[<p>Hey all,</p>
<p>I&#8217;m happy to announce the release of Koala 1.3.0rc1!</p>
<h2>New Features</h2>
<p>1.3.0rc1 provides support for several new Facebook features, a number of bug fixes, and other improvements:</p>
<ul>
<li>API#set_app_restrictions uses the new Graph API to set Facebook app restrictions</li>
<li>OAuth#url_for_dialog builds the URLs for the <a href="http://developers.facebook.com/docs/reference/dialogs/">various Facebook dialogs</a></li>
<li>GraphCollection.parse_page_url now exposes <a href="https://github.com/arsduo/koala/issues/128#issuecomment-2515762">useful functionality for non-Rails apps</a></li>
<li>OAuth#url_for_access_token and #url_for_oauth_code now include any provided options as URL parameters, allowing you to specify display and other options</li>
<li>API#fql now uses the Graph API FQL endpoint internally</li>
<li>Utils.deprecate only prints each message once (no more spamming)</li>
<li>Expanded/improved test coverage</li>
</ul>
<p>The changelog is <a href="https://github.com/arsduo/koala/blob/master/CHANGELOG">here</a>, and the complete diff since 1.2.1 is <a href="https://github.com/arsduo/koala/compare/v1.2.1...v1.3.0rc1">here</a>.</p>
<h2>Mockfacebook</h2>
<p>If you haven&#8217;t seen Ryan Barrett&#8217;s <a href="http://code.google.com/p/mockfacebook/">mockfacebook</a>,  a standalone HTTP server that implements Facebook&#8217;s FQL and Graph API, check it out.  It&#8217;s a great tool for testing your application against a realistically-mocked subset of the Facebook API, and it&#8217;s <a href="https://github.com/arsduo/koala/wiki/Using-Koala-with-mockfacebook">really easy to use with Koala</a>.</p>
<h2>Koala&#8217;s on Facebook and Twitter!</h2>
<p>Follow Koala on <a href="http://www.facebook.com/pages/Koala/315368291823667">Facebook</a> and <a href="https://twitter.com/#!/koala_fb">Twitter</a> for SDK updates and occasional news about Facebook API changes.</p>
<h2>Installation</h2>
<p>As always:</p>
<pre class="brush: bash; title: ;">[sudo|rvm] gem install koala --pre</pre>
<p>Or with Bundler:</p>
<pre class="brush: ruby; title: ;">gem &quot;koala&quot;, &quot;~&gt; 1.3.0rc1&quot;</pre>
<h2>What&#8217;s Next</h2>
<p>We&#8217;ll be releasing 1.3 later this month, assuming no big bugs are discovered.  After that, we&#8217;ll continue updating Koala as the Facebook API continues to change and evolve.</p>
<p>As always, if you have any ideas, issues, or suggestions, feel free to let me know on Github!</p>
<p>Have a great week and happy coding!</p>
<p>Best,</p>
<p>Alex<br />
<a href="http://github.com/arsduo/koala" target="_blank">http://github.com/arsduo/koala</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2011/11/14/koala-1-3-0rc1-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Koala 1.2 released!</title>
		<link>http://blog.twoalex.com/2011/09/27/koala-1-2-released/</link>
		<comments>http://blog.twoalex.com/2011/09/27/koala-1-2-released/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 14:01:11 +0000</pubDate>
		<dc:creator>k</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1311</guid>
		<description><![CDATA[Hey everyone, I&#8217;m excited to announce the release of Koala 1.2!  This is a big update with a lot of cool features, plus support for Facebook&#8217;s upcoming authentication changes. Read through this rather long announcement at your leisure and enjoy the new version October 1st Koala 1.2 supports all of Facebook&#8217;s new authentication schemes, which [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1046" class="wp-caption alignright" style="width: 117px"><a href="http://blog.twoalex.com/wp-content/uploads/2011/04/koala-party.png"><img class="size-medium wp-image-1046  " title="Koala Party" src="http://blog.twoalex.com/wp-content/uploads/2011/04/koala-party-219x300.png" alt="" width="107" height="147" /></a><p class="wp-caption-text">wooo</p></div>
<p>Hey everyone,</p>
<p>I&#8217;m excited to announce the release of Koala 1.2!  This is a big update with a lot of cool features, plus support for Facebook&#8217;s upcoming authentication changes.</p>
<p>Read through this rather long announcement at your leisure and enjoy the new version <img src='http://blog.twoalex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>October 1st</h2>
<p><strong>Koala 1.2 supports all of Facebook&#8217;s new authentication schemes</strong>, which will be introduced on October 1, 2011; the old Javascript library and older authentication schemes will be deprecated at the same time.  If you have the appropriate calls to get_user_info_from_cookies (apps using the Javascript SDK) and/or parse_signed_params (for Canvas and tab apps), your application should work without a hitch.</p>
<p>To test your application ahead of time, upgrade to Koala 1.2 (see below) and configure your application according to Facebook&#8217;s <a href="https://developers.facebook.com/docs/oauth2-https-migration/" target="_blank">OAuth 2.0 and HTTPS Migration</a> guide.</p>
<p><em>Note</em>: in their new secure cookie format, Facebook provides an OAuth code, which Koala automatically exchanges for an access token. Because this involves a call to Facebook&#8217;s servers, you should consider storing the user&#8217;s access token in their session and only calling get_user_info_from_cookies when necessary (access_token not present, you discover it&#8217;s expired, every 30 minutes, etc.). Otherwise, you&#8217;ll be calling out to Facebook each time the user loads a page, slowing down your site.</p>
<h2>Faraday</h2>
<p>With 1.2, Koala uses the Faraday library to make HTTP requests, replacing our homebrew Typhoeus and Net::HTTP adapters. This is a big change, so let&#8217;s go over it in detail.</p>
<p><em>What&#8217;s this about?</em></p>
<p>Faraday is a modular framework, patterned on Rack, which makes it easy to control how your app makes HTTP requests.  By switching to Faraday, we get Koala out of the business of choosing which libraries and features to support, giving you more choices and letting us focus on building the best Facebook library we can.</p>
<p><em>How does this affect me?</em></p>
<p>Good news! Based on the 1.2 betas, this change should be non-breaking for almost everyone. All the old settings are still supported, though you&#8217;ll see deprecation warnings. There&#8217;s now only a single Koala::HTTPService module, which handles all communication.</p>
<p><em>Almost everyone?</em></p>
<p><em></em>Since Faraday settings are global (affecting other gems that use it, like Twitter), Koala no longer uses Typhoeus by default.  To use that or <a href="https://github.com/technoweenie/faraday/tree/master/lib/faraday/adapter" target="_blank">any other supported library</a> instead of Net::HTTP (the default), just set the default Faraday adapter:</p>
<pre class="brush: ruby; title: ;"># this could go in an initializer
Faraday.default_adapter = :typhoeus</pre>
<p>Also, if you&#8217;re hooking directly into Koala&#8217;s HTTPService framework, you&#8217;ll probably have to make some changes; check out the <a href="https://github.com/arsduo/koala/wiki/Extensions" target="_blank">Extensions wiki page</a> to learn more about the new internals.</p>
<p><em>People like options, right?</em></p>
<p><em></em>Faraday gives you a huge range of options, which you can provide either per-request or globally by setting the new Koala::HTTPService.http_options hash. The format for the hash maps directly to what Faraday expects, so if you haven&#8217;t used Faraday, check out the <a href="https://github.com/arsduo/koala/wiki/HTTP-Services" target="_blank">Koala wiki</a> for some examples.</p>
<p>We still support all the old individual options on Koala.http_service (proxy, timeout, etc.), which read from and write to the new hash.</p>
<p>Even more sweetly, with Faraday you can write your own middleware to really fine-tune how your requests are made.  (To take just one example, I recently wrote a module to log and analyze Facebook requests made through Koala &#8212; easy as pie.)  Koala provides a default middleware stack with everything you need, but you can specify your own using Koala::HTTPService.faraday_middleware.</p>
<p><em>Learn more</em></p>
<p><em></em>For more information and a complete list of how to migrate old settings, check out the <a href="https://github.com/arsduo/koala/wiki/HTTP-Services" target="_blank">HTTPService wiki page</a>. If you have any questions, feel free to write to the <a href="groups.google.com/group/koala-users" target="_blank">Koala user&#8217;s group</a>.</p>
<h2>API</h2>
<p>Koala::Facebook::API class is now the main API class, containing both Graph and REST API methods. Since the GraphAndRestAPI class showed it&#8217;s possible to offer all methods from one object, there&#8217;s no reason to force you to keep track of and instantiate three different classes to use the Facebook API. All three old classes are now aliased to API, and will remain available for the foreseeable future.</p>
<pre class="brush: ruby; title: ;">api = Koala::Facebook::API.new(my_token)
api.get_object(&quot;me&quot;)
api.fql_query(&quot;select first_name where uid = me()&quot;)
# you can even use the new Timeline API
# see https://developers.facebook.com/docs/beta/opengraph/tutorial/
@graph.put_connections(&quot;me&quot;, &quot;namespace:action&quot;, <img src='http://blog.twoalex.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> bject =&gt; object_url)</pre>
<h2>Other changes</h2>
<ul>
<li>Koala is now on Travis, passing all tests under JRuby, Rubinius, and REE, as well as Ruby 1.8.7, 1.9.2, and 1.9.3!<br />
<img class="alignnone" title="Build status" src="https://secure.travis-ci.org/arsduo/koala.png" alt="" width="95" height="13" /></li>
<li>(My favorite update:) The live test suite now runs by default against test users, so you can run it as frequently as you want without having to update facebook_data.yml.</li>
<ul>
<li>To run it against a real user, add your OAuth token/session key/OAuth code to the YAML file.</li>
</ul>
<li>TestUsers#update lets you update the name or password of an existing test user</li>
<li>API.get_page_access_token lets you easily fetch the access token for a page you manage</li>
<li>API.put_picture now accepts URLs to images in addition to files</li>
<li>GraphCollection use is smarter, fixing a problem with the Ads API</li>
</ul>
<p>Check out the <a href="https://github.com/arsduo/koala/blob/v1.2.0/CHANGELOG" target="_blank">changelog</a> for a complete list of changes. The diff since 1.1 is available <a href="https://github.com/arsduo/koala/compare/v1.1.0...v1.2.0" target="_blank">here</a>.</p>
<h2>Thanks to&#8230;</h2>
<p>Thanks to marcgg, johnbhall, and Will S. for their help with bugs and in keeping up with Facebook changes, and to Chris and everyone at Context Optional for their support, help, and feedback.</p>
<h2>Installation</h2>
<p>As always:</p>
<pre class="brush: bash; title: ;">[sudo|rvm] gem install koala</pre>
<p>Or with Bundler:</p>
<pre class="brush: ruby; title: ;">gem &quot;koala&quot;, &quot;~&gt; 1.2&quot; </pre>
<h2>What&#8217;s Next</h2>
<p>With 1.2 out we&#8217;ve completed most of the work we had planned for Koala; in the immediate future we&#8217;ll be working on a few remaining features, bug reports, and keeping up with Facebook (did we mention Koala already supports publishing to the Timeline?).</p>
<p>If you have any ideas, issues, or suggestions, feel free to let us know on Github.</p>
<p>Have a great week and happy coding!</p>
<p>Best,</p>
<p>Alex and the Koala team<br />
<a href="http://github.com/arsduo/koala" target="_blank">http://github.com/arsduo/koala</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2011/09/27/koala-1-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My CSS Wishlist #2</title>
		<link>http://blog.twoalex.com/2011/08/23/my-css-wishlist-2/</link>
		<comments>http://blog.twoalex.com/2011/08/23/my-css-wishlist-2/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 13:29:44 +0000</pubDate>
		<dc:creator>miley</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[My CSS Wishlist]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1309</guid>
		<description><![CDATA[Extreme Specificity So, another project that I am working on has some specificity issues. Take a look at this selector: .col-left div.topic-unit ol li div div.topic-unit-ol-image div The stylesheet uses these types of selectors everywhere. The problem is that if someone comes in and tries to add a &#8220;div&#8221; as a child to the last [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1306" title="css_wishlist_banner" src="http://blog.twoalex.com/wp-content/uploads/2011/08/css_wishlist_banner2.png" alt="" width="417" height="126" /></p>
<p><strong>Extreme Specificity</strong></p>
<p>So, another project that I am working on has some specificity issues. Take a look at this selector:</p>
<p><code>.col-left div.topic-unit ol li div div.topic-unit-ol-image div</code></p>
<p>The stylesheet uses these types of selectors everywhere. The problem is that if someone comes in and tries to add a &#8220;div&#8221; as a child to the last &#8220;div&#8221;, they need to reuse the entire selector and add another bit to the end or there is a chance that their styles will be overriden by one of the previous &#8220;div&#8221; selectors. </p>
<p>Using element level selectors are good for certain situations but mainly for adding just a bit more specificity. A solution would to be to just use the classes from above to specify where you are at.</p>
<p>In my humble opinion, I find this to be a little excessive. This tells me that the page has some pretty specific and complicated CSS going on. More to the point, I feel pages that contain such selectors need some massive refactoring to simplify selectors. </p>
<p><strong>Today&#8217;s wisdom: Keep it simple</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2011/08/23/my-css-wishlist-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My CSS Wishlist #1</title>
		<link>http://blog.twoalex.com/2011/08/22/my-css-wishlist-1/</link>
		<comments>http://blog.twoalex.com/2011/08/22/my-css-wishlist-1/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 09:49:31 +0000</pubDate>
		<dc:creator>miley</dc:creator>
				<category><![CDATA[My CSS Wishlist]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1305</guid>
		<description><![CDATA[Font-size and Inheritance I&#8217;ve been working on this project recently and have had some problems with font-size inheriting. After a few minutes of investigation, it turns out that the following rule was being declared (unfortunately in a place where I can not touch it): html, body, div, p, h2, h3, h4, ul, ol, span, a, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1306" title="css_wishlist_banner" src="http://blog.twoalex.com/wp-content/uploads/2011/08/css_wishlist_banner2.png" alt="" width="417" height="126" /></p>
<p><strong>Font-size and Inheritance</strong></p>
<p>I&#8217;ve been working on this project recently and have had some problems with font-size inheriting. After a few minutes of investigation, it turns out that the following rule was being declared (unfortunately in a place where I can not touch it):</p>
<p><code>html, body, div, p, h2, h3, h4, ul, ol, span, a, form, img, li { font-size: 12px; }</code></p>
<p>I believe this was a desire for a <a title="CSS Reset" href="http://meyerweb.com/eric/tools/css/reset/">CSS Reset</a>. Unfortunately, this declaration forces all those elements to have a font-size of 12px. It is easily possible to override this style with more specificity. The overall problem, however, is the amount of overrides needed to change an entire area&#8217;s font-size.</p>
<p>For example,<br />
Say you had that CSS and this HTML.<br />
<code><br />
&lt;div id="navigation_area"&gt;<br />
&lt;span class="title"&gt;Nav Title&lt;/span&gt;<br />
&lt;p class="witty_title_description"&gt;I am witty&lt;/p&gt;<br />
&lt;div id="navigation_area"&gt;<br />
&lt;a href="somepage.html" class="navigation_link"&gt;Some Nav Link&lt;/a&gt;<br />
&lt;/div&gt;</code><br />
<span class="Apple-style-span" style="font-family: monospace;">&lt;/div&gt;</span></p>
<p>My desire is to set the entire Navigation Area to have a font-size of 14px. When I apply the following style nothing happens</p>
<p><code>#navigation_area { font-size: 14px; }</code></p>
<p>Because each element has been assigned a value of 12px in that reset style, I would have to reapply a font-size specifically to each of them to override it. Like so:</p>
<p><code> #navigation_area div { font-size: 14px; }<br />
#navigation_area span { font-size: 14px; }<br />
#navigation_area p { font-size: 14px; }<br />
#navigation_area a { font-size: 14px; }<br />
</code></p>
<p>Our <a title="canon" href="http://www.w3.org/TR/CSS1/#font-size">canon </a>decrees, for good reason, that font-size should inherit.</p>
<p><strong>Today&#8217;s wisdom: Keep inheritance functioning in your stylesheet!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2011/08/22/my-css-wishlist-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My CSS Wishlist</title>
		<link>http://blog.twoalex.com/2011/08/22/my-css-wishlist/</link>
		<comments>http://blog.twoalex.com/2011/08/22/my-css-wishlist/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 09:15:05 +0000</pubDate>
		<dc:creator>miley</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[My CSS Wishlist]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1295</guid>
		<description><![CDATA[Hey all, miley here, I have been wading deep, recently, in other people&#8217;s CSS and dealing with the little peeves that I have run across. I decided to make a trial run at series of quick entries entitled &#8220;My CSS Wishlist.&#8221; They will be titled as such and have a nugget of wisdom within.]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1302" title="css_wishlist_banner" src="http://blog.twoalex.com/wp-content/uploads/2011/08/css_wishlist_banner1.png" alt="" width="417" height="126" /><br />
Hey all, miley here,</p>
<p>I have been wading deep, recently, in other people&#8217;s CSS and dealing with the little peeves that I have run across. I decided to make a trial run at series of quick entries entitled &#8220;My CSS Wishlist.&#8221; They will be titled as such and have a nugget of wisdom within.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2011/08/22/my-css-wishlist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Koala 1.2beta1 is out!</title>
		<link>http://blog.twoalex.com/2011/08/17/1270/</link>
		<comments>http://blog.twoalex.com/2011/08/17/1270/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 12:30:16 +0000</pubDate>
		<dc:creator>k</dc:creator>
				<category><![CDATA[facebook]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[koala]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1270</guid>
		<description><![CDATA[Hey everyone, I&#8217;m excited to announce the release of Koala 1.2 beta1! This has been a big, fun release, with some big internal changes. Faraday As of 1.2beta1, we use (and depend on) the Faraday library to make HTTP requests, replacing our homebrew Typhoeus and Net::HTTP adapters. This is a big change, so let&#8217;s go [...]]]></description>
			<content:encoded><![CDATA[<p>Hey everyone, I&#8217;m excited to announce the release of Koala 1.2 beta1! This has been a big, fun release, with some big internal changes.</p>
<h2>Faraday</h2>
<p>As of 1.2beta1, we use (and depend on) the Faraday library to make HTTP requests, replacing our homebrew Typhoeus and Net::HTTP adapters. This is a big change, so let&#8217;s go over it in detail.</p>
<p><em>What&#8217;s this about?</em></p>
<p>Faraday is a modular framework, patterned on Rack, which makes it easy to control and customize how Ruby makes HTTP requests; Koala allows you to take advantage of Faraday’s configuration options to tailor requests to your needs. By switching to Faraday, we get Koala out of the business of choosing which libraries and features to support, giving you more choices and letting us focus on building the best Facebook library we can.</p>
<p><em>How does this affect me?</em></p>
<p>Good news! This change should be non-breaking for almost everyone. All the old settings are still supported, though you&#8217;ll probably see a lot of deprecation warnings. There&#8217;s now only a single Koala::HTTPService module, which handles all communication.</p>
<p><em>Almost everyone?</em></p>
<p><em></em>Since Faraday settings are global (affecting other gems, like Twitter, which use it), Koala no longer tries to use Typhoeus by default.  To use that or <a href="https://github.com/technoweenie/faraday/tree/master/lib/faraday/adapter" target="_blank">any other supported library</a> instead of Net::HTTP (the default), you just need to set the default Faraday adapter, which is really easy:</p>
<pre class="brush: ruby; title: ;"># this could go in an initializer
Faraday.default_adapter = :typhoeus</pre>
<p>Also, if you&#8217;re hooking directly into Koala&#8217;s HTTPService framework, you&#8217;ll probably have to make some changes; check out the <a href="https://github.com/arsduo/koala/wiki/Extensions" target="_blank">Extensions wiki page</a> to learn more about the new internals.</p>
<p><em>People like options, right?</em></p>
<p><em></em>We&#8217;ve improved how we handled HTTP options by adding a global Koala::HTTPService.http_options hash. Any settings set here will be applied automatically to all requests (and can be overridden for individual requests).  The format for the hash maps directly to what Faraday expects, so if you haven&#8217;t used Faraday, check out the Koala wiki for some examples.</p>
<p>We still support all the old individual options on Koala.http_service (proxy, timeout, etc.), which read from and write to the new hash.</p>
<p>Also, not only does Koala provide a default middleware stack for Faraday (all you&#8217;ll need to use Koala as normal), we&#8217;ve added Koala::HTTPService.faraday_middleware, which lets you pass a block to build your own stack.</p>
<p><em>Learn more</em></p>
<p><em></em>For more information and a complete list of how to migrate old settings, check out the <a href="https://github.com/arsduo/koala/wiki/HTTP-Services" target="_blank">HTTPService wiki page</a> . If you have any questions, feel free to drop me an email.</p>
<h2>API</h2>
<p>Koala::Facebook::API class is now the main API class, containing both Graph and REST API methods. Since the GraphAndRestAPI class showed it&#8217;s possible to offer all methods from one object, there&#8217;s no reason to force you to keep track of and instantiate three different classes to use the Facebook API. All three old classes are now aliased to API, and will remain available until at least 1.3.</p>
<pre class="brush: ruby; title: ;">api = Koala::Facebook::API.new(my_token)
api.get_object(&quot;me&quot;)
api.fql_query(&quot;select first_name where uid = me()&quot;)</pre>
<h2>Other changes</h2>
<ul>
<li>Koala is now on Travis, passing all tests under JRuby, Rubinius, and REE, as well as Ruby 1.8.7, 1.9.2, and 1.9.3!<br />
<img class="alignnone" title="Test status" src="http://travis-ci.org/arsduo/koala.png" alt="Test status: passing!" width="89" height="13" /></li>
<li>The live test suite now runs by default against test users, so you can run it as frequently as you want without having to update facebook_data.yml.</li>
<ul>
<li>To run it against a real user, add your OAuth token/session key/OAuth code to the YAML file.</li>
</ul>
<li>TestUsers#update lets you update the name or password of an existing test user</li>
<li>API.get_page_access_token lets you easily fetch the access token for a page you manage</li>
<li>API.put_picture now accepts URLs to images in addition to files</li>
</ul>
<p>Check out the <a href="https://github.com/arsduo/koala/blob/master/CHANGELOG" target="_blank">changelog</a> for a complete list of changes. The diff since 1.1 is available <a href="https://github.com/arsduo/koala/compare/v1.1.0...v1.2.0beta1" target="_blank">here</a>.</p>
<h2>Thanks to&#8230;</h2>
<p>Thanks to marcgg for his help keeping up with Facebook changes, and to cbaclig, as always, for his help resolving some persistent issues with the test suite&#8217;s YAML file.  Credit also to everyone at Context Optional for their support and feedback.</p>
<h2>Next steps</h2>
<p>As you may have guessed from this being beta1, we expect to release at least one more beta to address some cookie changes Facebook has made, as well as incorporate any feedback we get from any of the changes in this release.</p>
<h2>Installation</h2>
<p>As always:</p>
<pre class="brush: bash; title: ;">[sudo|rvm] gem install koala --pre</pre>
<p>Or with Bundler:</p>
<pre class="brush: ruby; title: ;">gem &quot;koala&quot;, &quot;~&gt; 1.2.0beta1&quot; </pre>
<p>Enjoy! Looking forward to hearing your feedback.</p>
<p>Alex<br />
<a href="http://github.com/arsduo/koala" target="_blank">http://github.com/arsduo/koala</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2011/08/17/1270/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enjoying Oktoberfest</title>
		<link>http://blog.twoalex.com/2011/08/08/enjoying-oktoberfest/</link>
		<comments>http://blog.twoalex.com/2011/08/08/enjoying-oktoberfest/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 14:08:36 +0000</pubDate>
		<dc:creator>k</dc:creator>
				<category><![CDATA[Germany]]></category>
		<category><![CDATA[oktoberfest]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1203</guid>
		<description><![CDATA[Let me tell you a tale of two Sundays. Sunday morning #1!  We woke up at 6:30 AM, excited for our first day at Oktoberfest, scarfed a big breakfast, and left for the .  Our lederhosen didn&#8217;t protect us much against the morning chill waiting in line, but by 9 AM we were safely within [...]]]></description>
			<content:encoded><![CDATA[<p>Let me tell you a tale of two Sundays.</p>
<p><img class="size-medium wp-image-1232 alignright" title="In a Tent" src="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05146-225x300.jpg" alt="" width="144" height="192" /></p>
<p><strong>Sunday morning #1!</strong>  We woke up at 6:30 AM, excited for our first day at Oktoberfest, scarfed a big breakfast, and left for the <a class="wp-tooltip" href="http://blog.twoalex.com/2010/09/16/wiesnzeit-a-very-short-grammar-of-oktoberfest/" title="Wiesn, meaning field, is how locals refer to both the Oktoberfest grounds and the whole event">Wiesn</a>.  Our lederhosen didn&#8217;t protect us much against the morning chill waiting in line, but by 9 AM we were safely within the cavernous <span class="wp-tooltip" title="of Hacker-Pschorr fame">Pschorr Bräurosl</span> tent.  For the next six hours we drank, talked with our group, stood on benches, sang, drank, replaced our empty beer steins with full ones, ordered roasted chickens, took it all in, and drank some more.  Oktoberfest was amazing, full of life and noise and activity, all inside that one tent.  The afternoon rolled around many beers, chickens, and <span class="wp-tooltip" title="prosit, a variant a 'prost' (cheers), is a drinking cheer">prosits</span> later, and we left to get our visiting friend to his train.</p>
<p>We didn&#8217;t make it.  I spent the next few hours caring for a friend too sick to take a taxi, stuck in a plaza downtown until he felt well enough to rush home with me to make sure my unreachable husband hadn&#8217;t passed out face down in the <span class="wp-tooltip" title="he hadn't">bathtub</span>.  The rest of the day was spent nursing two wasted men back to a (miserable) equilibrium.  The next day was miserable.</p>
<p>Intense?  Yes.  Memorable?  <span class="wp-tooltip" title="insofar as anyone could form long-term memories">Definitely</span>.  Good?  Not really.</p>
<p>In the meantime, two weeks went by.  We got better, we went back to Oktoberfest a few times, and then suddenly it was&#8230;</p>
<p><img class="size-medium wp-image-1239 alignright" title="Good times to be had" src="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05544-300x225.jpg" alt="Good times to be had" width="144" height="108" /></p>
<p><strong>Sunday morning #2!</strong>  We woke up early, ate a quick breakfast, donned our lederhosen, and took our visiting guests to the Oktoberfestgrounds.  After waiting in line, we got into the cavernous Schottenhamel tent by 9 AM, and the beer started flowing.  We ate and drank as much and more, sang, danced, wandered outside, and came back to the tent to stay until it closed.  The day was great, and we had a blast.  The next day was a good one &#8212; we even came back for a sunny walk through the Wiesn.</p>
<p>Intense?  Yes.  Memorable?  Definitely.  Good?  Really.</p>
<p>If you&#8217;re coming to Munich this fall (and you should), this post&#8217;s for you.  I hope our experiences last year can help you have an awesome time like our second Sunday&#8217;s and avoid the mistakes we made the first time.  Oktoberfest is an amazing experience, and if done right you&#8217;ll love it.  If not&#8230;well, trust me: you don&#8217;t want to be the guy puking in the central station in front of a <span class="wp-tooltip" title="You don't really want to be the friend helping him stagger out, either.">crowd of disgusted Germans</span>.</p>
<h2>Tips</h2>
<p><strong>Stick around: </strong>the longer you stay, the more you can see.  You can&#8217;t see all of Oktoberfest in one day; if your visit lasts three days instead of two, you can party the first day, relax, recover, and explore Munich the second, and head back the third (see also <em>Get outside</em>).  Had we just been in Munich for a weekend, as our friend was, we would have left Bavaria thinking the Fest was just a big frat party.</p>
<p><strong><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05215.jpg"><img class="alignright size-medium wp-image-1236" title="Rides" src="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05215-300x225.jpg" alt="There are also water rides" width="144" height="108" /></a>Get outside: </strong>we were surprised to discover how much more there is at the Oktoberfests than the beer tents that dominate media coverage and popular imagination.   You can ride roller coasters, watch horse races, eat at restaurants, play games, pet cows, and drink at outdoor biergartens &#8212; all in the sunlight and fresh air.  (Plus there are tents dedicated to wine and dessert.)  You can also climb the nearby church for a few Euros, which yields an amazing view at night.  Don&#8217;t confine yourself to the beer tents; even if there&#8217;s a line when you leave, you&#8217;ll get back in.  Over our five or six visits, we spent all but two outdoors.  (See also <em>Pet some animals.</em>)</p>
<p><strong><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05147.jpg"><img class="alignright size-thumbnail wp-image-1233" title="A Maß" src="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05147-150x150.jpg" alt="beer" width="120" height="120" /></a>Beers are big: </strong> in everyday life we drink our beer in units &#8212; a pint glass, a bottle, a can, whatever.  Make a conscious effort to break that habit at Oktoberfest, because the beer comes in 1 liter steins (a <span class="wp-tooltip" title="pronounced mahss, or maːs if you're &lt;strike&gt;picky&lt;/strike&gt; rigorous">Maß</span>) &#8212; each unit roughly three American bottles or two pints.  Don&#8217;t try to drink it as you&#8217;d drink a beer back at home, or as fast as it seems like everyone else is.  If you&#8217;re still working on the same glass of beer an hour after you get it, congratulations!  You&#8217;re doing it the <span class="wp-tooltip" title="Based on significant on-site research at local biergartens, undertaken solely for the sake of this blog entry">local way</span>.  (See also <em>Peer pressure </em>and <em>Beer is strong</em>.)</p>
<p><strong><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05280.jpg"><img class="alignright size-thumbnail wp-image-1237" title="From on high" src="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05280-150x150.jpg" alt="I look out and see Organization" width="120" height="120" /></a>Marvel: </strong>the Wiesn is a wonder of human triumph over complexity: 6,400,000 visitors drinking 6,600,000 liters of beer, eating hundreds of thousands of chickens, using the toilet, mingling, all in safety, (relative) cleanliness, and at a pretty fair price.  It&#8217;s amazing!  Be amazed.  Those tents you&#8217;re in, that are really full-on buildings?  They were built just for this, and they disappear afterward.  Those waitresses?  They really are carrying <span class="wp-tooltip" title="They now get to/have to wear wrist braces, which makes me very happy"> 8 heavy liter-sized glasses of beer</span> at a time.  Those rides?  They won&#8217;t be there in November.  Those people?  Like you, they&#8217;re here from all over the world.  Lift your gaze up out of the beer occasionally and take it in.</p>
<p><strong><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05158.jpg"><img class="alignright size-thumbnail wp-image-1253" title="DSC05158" src="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05158-150x150.jpg" alt="could you carry that?" width="120" height="120" /></a>Beer is strong: </strong>at Oktoberfest they brew the beer a few percentage points stronger, but it still tastes like <span class="wp-tooltip" title="Unlike at Starkbierfest, when it tastes significantly stronger, though also delicious">regular beer</span>.  Combined with the size and the constant drinking, it&#8217;s really challenging to know how much you&#8217;ve drunk (see <em>Beers are big </em>and <em>Peer pressure</em>).  Keep this in the back of your mind.</p>
<p><strong>Be open:</strong> people are unusually friendly and open at Oktoberfest &#8212; take advantage of it!  We had more conversations with random Germans (and others) in those three weeks than in the months before or after, on the subway, at the Wiesn, even in the supermarket.  Be ready to make friends, and especially if you live in Munich, take a chance and ask if the people you meet want to get a beer later.</p>
<p><strong><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/IMG_00491.jpg"><img class="alignright size-thumbnail wp-image-1247" title="Beer + Horse" src="http://blog.twoalex.com/wp-content/uploads/2011/08/IMG_00491-150x150.jpg" alt="Animals go well with beer" width="120" height="120" /></a></strong></p>
<p><strong>Pet some animals: </strong>last year we celebrated the 200th anniversary of the first Oktoberfest with an area reenacting the Oktoberfests of yore.  Bier brew&#8217;d in the olde styl, much showmanship of horses, a zoological exhibition in which one maye pett the animales (reflecting the festivals&#8217; <span class="wp-tooltip" title="with both recent imports, such as goats, alongside more traditional German farm animals like guinea pigs"> agricultural origins</span>) &#8212; it was so popular that it&#8217;s back this year.  The Alte Wiesn is great complement to the more polished, commercial atmosphere elsewhere; sometimes it&#8217;s hard to get in, but the line is more than worth it &#8212; where else are you going to pet a horse and drink a beer at the same time?<em> </em>(See also<em> Get outside.</em>)</p>
<p><strong><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05154.jpg"><img class="alignright size-thumbnail wp-image-1234" title="In a Tent 2" src="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05154-150x150.jpg" alt="people x lots" width="120" height="120" /></a>Peer pressure: </strong>look, you&#8217;re going to be in a tent with a thousand other people, some seasoned vets and some on their way to an experience like our first Sunday, all crammed side-to-side in every free space.  It&#8217;s tremendously fun and energizing, but it&#8217;s also intimidating.  Everywhere you look waitresses are rushing down the aisles delivering beer, and anytime you look around some of your co-revelers are swapping out empty glasses for new liters.  There&#8217;s nothing wrong with getting into the spirit &#8212; just remember you can&#8217;t pace yourself by the activity around you.  (See also <em>Beer is strong </em>and <em>Beers are big</em>.)</p>
<p><strong>Preview tent life: </strong>despite all the pictures, my idea of what Oktoberfest is like was wide off the mark until by chance we picked up the movie <a href="http://www.amazon.de/Oktoberfest-August-Schm%C3%B6lzer/dp/B000GI3L52/ref=sr_1_1?s=dvd&amp;ie=UTF8&amp;qid=1312030072&amp;sr=1-1" target="_blank">Oktoberfest</a> (sadly not available in the US).  It&#8217;s a decent ensemble movie and an excellent primer to the festival.  If you&#8217;ve never been, dig up some video (even if just the news) about what tent life is really like.</p>
<p><strong><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/IMG_0009.jpg"><img class="alignright size-thumbnail wp-image-1254" title="Halbes Hendl" src="http://blog.twoalex.com/wp-content/uploads/2011/08/IMG_0009-150x150.jpg" alt="iiiiiit's chicken! chicken chicken chicken chicken" width="120" height="120" /></a>Eat: </strong>remember this if nothing else.  There&#8217;s some delicious food at the Oktoberfest, and at decent prices (unlike many American festivals).  Hendls (greasily delicious roasted half-chickens), crepes, currywurst, roasted almonds, kaiserschmarrn (German desert), and much, much more are all much tastier and fresher than you&#8217;d expect from such a big, packed festival.  Not only is the food worth enjoying, it&#8217;ll help you handle all the drink, so eat up!</p>
<p><strong>Stay safe: </strong>Munich is an unbelievably safe city, and Oktoberfest is well organized.  Still, it&#8217;s a huge festival with hundreds of thousands of strangers passing through all the time.  Don&#8217;t worry too much, but do be <span class="wp-tooltip" title="shop S-mart">smart</span>.  Now that you know how to enjoy Oktoberfest, you should also <a href="http://oktoberfest.democratsabroad.de/oktoberfest/oktoberfest-tips" target="_blank">read up</a> on how to avoid problems while here.</p>
<p><strong><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05228.jpg"><img class="alignright size-thumbnail wp-image-1249" title="DSC05228" src="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05228-150x150.jpg" alt="DO NOT EAT" width="90" height="90" /></a>Don&#8217;t eat Wiesn hearts: t</strong>hose famous gingerbread hearts are gifts, not food.  They&#8217;re all stale.  Always.  <span class="wp-tooltip" title="Wiesn hearts: the German Twinkie?  Discuss.">They last forever</span>.  Bring a few home and put them up on your wall.</p>
<h2>Wrapup</h2>
<p>As you can tell, we&#8217;re very excited for the Wiesn this year &#8212; just six weeks away! &#8212; and we&#8217;re really looking forward to seeing everyone heading down here to Bavaria (especially all those coming for the <a href="http://oktoberfest.democratsabroad.de/" target="_blank">Democrats Abroad weekend</a>).  If you have any additional thoughts or ideas from your experiences at Oktoberfest (or plans to come), I&#8217;d love to hear them in the comments.</p>
<div id="attachment_1241" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/IMAG1782.jpg"><img class="size-medium wp-image-1241" title="In construction" src="http://blog.twoalex.com/wp-content/uploads/2011/08/IMAG1782-300x179.jpg" alt="We're busy turning this...." width="300" height="179" /></a><p class="wp-caption-text">They&#39;re turning this....</p></div>
<div id="attachment_1238" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05416.jpg"><img class="size-medium wp-image-1238" title="At night" src="http://blog.twoalex.com/wp-content/uploads/2011/08/DSC05416-300x225.jpg" alt="...into this!" width="300" height="225" /></a><p class="wp-caption-text">...into this!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2011/08/08/enjoying-oktoberfest/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Koala 1.1 is out!</title>
		<link>http://blog.twoalex.com/2011/07/19/koala-1-1-is-out/</link>
		<comments>http://blog.twoalex.com/2011/07/19/koala-1-1-is-out/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 15:31:43 +0000</pubDate>
		<dc:creator>k</dc:creator>
				<category><![CDATA[facebook]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blog.twoalex.com/?p=1171</guid>
		<description><![CDATA[Hey everyone, I&#8217;m happy to announce the release of Koala 1.1!  Don&#8217;t crowd &#8212; there&#8217;re plenty of new features for everyone. &#160; Batch API Support Perhaps our most significant new features is support for Facebook&#8217;s Batch Requests, which lets you make multiple requests in a single request.  The Batch API is incredibly powerful, and we&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>Hey everyone,</p>
<div>I&#8217;m happy to announce the release of Koala 1.1!  Don&#8217;t crowd &#8212; there&#8217;re plenty of new features for everyone.</div>
<div>&nbsp;</div>
<h2>Batch API Support</h2>
<div>Perhaps our most significant new features is support for Facebook&#8217;s Batch Requests, which lets you make multiple requests in a single request.  The Batch API is incredibly powerful, and we&#8217;re proud to support the entire API (including file uploads, error handling, and FQL) in an easy-to-use format:</div>
<div>
<div>
<pre class="brush: ruby; title: ;">me, koppel = @graph_api.batch do |batch_api|
  batch_api.get_object('me')
  batch_api.get_object('koppel')
end</pre>
</div>
<div>
<div>Check out Facebook&#8217;s <a href="http://developers.facebook.com/docs/reference/api/batch/" target="_blank">documentation</a> and <a href="https://github.com/arsduo/koala/wiki/Batch-requests" target="_blank">example code using Koala</a> to learn more.</div>
<div>&nbsp;</div>
<h2>Other Improvements</h2>
<div>We&#8217;re also added&#8230;</div>
</div>
<ul>
<li>RestAPI#fql_multiquery, which greatly simplifies making the requests and parsing the results</li>
<li>GraphAPI#put_video to upload videos through the Graph API</li>
<li>GraphAPI#get_comments_for_urls to access Comment Box content</li>
<li>Global proxy and timeout settings and Net::HTTP-specific ca_path, ca_file, and verify_mode settings (<a href="https://github.com/arsduo/koala/wiki/HTTP-Services" target="_blank">learn more</a>)</li>
<li>Control over the filename when uploading content (for Ads API calls)</li>
<li>Support for Rubinius, JRuby, and other Ruby versions</li>
<li>Many other modernizations, bug fixes, typo corrections, and more</li>
</ul>
<div>Check out the <a href="https://github.com/arsduo/koala/blob/master/CHANGELOG" target="_blank">changelog</a> for a complete list of enhancements; the complete diff is available <a href="https://github.com/arsduo/koala/compare/v1.0.0...v1.1.0" target="_blank">here</a>.</div>
<div>&nbsp;</div>
<h2>Thanks to&#8230;</h2>
<div>As usual, we have a lot of great contributors to thank with this release: seejohnrun and spiegela for their help with the Batch API, amrnt for get_comments_for_urls and fql_multiquery, itchy and spiegela for improving HTTP options, sshilo for improving the REST API interface, chadk for refactoring the HTTP services, and romanbsd, waynn, mokevnin, and tikh catching and fixing various issues.  As always, thanks too to Chris, my codeveloper, and to the people at <a href="http://www.contextoptional.com/" target="_blank">Context Optional</a>, who have been awesome in supporting Koala&#8217;s development.</div>
<div><strong><br />
</strong></div>
<p>We also want to thank and call out the Season Labs (and victorcoder in particular) for <a href="https://github.com/seasonlabs/eukaliptus" target="_blank"><strong>Eukaliptus</strong></a>, a cool new framework built on top of Koala.  Eukaliptus makes it much easier to develop Facebook applications, taking care of a number of common needs (including those pesky iframe cookie issues).  I had the chance to use it recently and I liked what I saw &#8212; check it out.</p>
<h2>Installation</h2>
<div>Just run</div>
<div>
<pre class="brush: bash; title: ;">[sudo|rvm] gem install koala</pre>
</div>
<div>or add</div>
<div>
<pre class="brush: ruby; title: ;">gem &quot;koala&quot;</pre>
</div>
<div>to your Gemfile.</div>
<div>&nbsp;</div>
<h2>What&#8217;s Next?</h2>
<div>Koala 1.2 should be a very exciting release, with a number of internal changes planned.  The biggest change will be to replace our homegrown HTTPService system with Faraday, a modular service for making HTTP requests.  This will let us focus on the Facebook API and provide you with much greater control and flexibility in communicating with Facebook.  We also have (non-breaking) improvements planned for the test suite and the API interface, and naturally for anything Facebook releases in the meanwhile.</div>
<div>&nbsp;</div>
<div>As always, if you have ideas, thoughts, or issues, just drop us a line here in the users group or let us know on <a href="https://github.com/arsduo/koala" target="_blank">Github</a>!</div>
<p><br/>Best wishes,<br />
<br/>Alex &amp; the Koala Team<br />
<a href="https://github.com/arsduo/koala" target="_blank">https://github.com/arsduo/<wbr>koala</wbr></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.twoalex.com/2011/07/19/koala-1-1-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

