<?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>worrbase &#187; perl</title>
	<atom:link href="http://www.worrbase.com/tag/perl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.worrbase.com</link>
	<description>Highlighting the thrilling adventures of William Orr</description>
	<lastBuildDate>Tue, 06 Jul 2010 08:04:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Formspring API Issues</title>
		<link>http://www.worrbase.com/2010/07/06/formspring-api-issues/</link>
		<comments>http://www.worrbase.com/2010/07/06/formspring-api-issues/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 08:04:16 +0000</pubDate>
		<dc:creator>worr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[formspring]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.worrbase.com/2010/07/06/formspring-api-issues/</guid>
		<description><![CDATA[I&#8217;ve been working on my Perl library for Formspring.me, and I&#8217;ve run into a pretty egregious issue. Apparently they aren&#8217;t following the OAuth spec correctly, and aren&#8217;t returning  a oauth_callback_confirmed parameter. The problem for me lies in that the wonderful Perl OAuth library, Net::OAuth requires that the OAuth response return this parameter, and errors [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on my Perl library for Formspring.me, and I&#8217;ve run into a pretty egregious issue. Apparently they aren&#8217;t following the OAuth spec correctly, and aren&#8217;t returning  a oauth_callback_confirmed parameter. The problem for me lies in that the wonderful Perl OAuth library, Net::OAuth requires that the OAuth response return this parameter, and errors if it&#8217;s not present. I&#8217;ve emailed api@formspring.me about it, but they have yet to answer my email.</p>
<p>[1] http://tools.ietf.org/html/rfc5849#section-2.1</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this post:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F&amp;title=Formspring%20API%20Issues&amp;bodytext=I%27ve%20been%20working%20on%20my%20Perl%20library%20for%20Formspring.me%2C%20and%20I%27ve%20run%20into%20a%20pretty%20egregious%20issue.%20Apparently%20they%20aren%27t%20following%20the%20OAuth%20spec%20correctly%2C%20and%20aren%27t%20returning%20%20a%20oauth_callback_confirmed%20parameter.%20The%20problem%20for%20me%20lies%20in%20that" title="Digg" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F_amp_title=Formspring_20API_20Issues_amp_bodytext=I_27ve_20been_20working_20on_20my_20Perl_20library_20for_20Formspring.me_2C_20and_20I_27ve_20run_20into_20a_20pretty_20egregious_20issue._20Apparently_20they_20aren_27t_20following_20the_20OAuth_20spec_20correctly_2C_20and_20aren_27t_20returning_20_20a_20oauth_callback_confirmed_20parameter._20The_20problem_20for_20me_20lies_20in_20that&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F&amp;title=Formspring%20API%20Issues&amp;notes=I%27ve%20been%20working%20on%20my%20Perl%20library%20for%20Formspring.me%2C%20and%20I%27ve%20run%20into%20a%20pretty%20egregious%20issue.%20Apparently%20they%20aren%27t%20following%20the%20OAuth%20spec%20correctly%2C%20and%20aren%27t%20returning%20%20a%20oauth_callback_confirmed%20parameter.%20The%20problem%20for%20me%20lies%20in%20that" title="del.icio.us" onclick="pageTracker._trackPageview('/outgoing/delicious.com/post?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F_amp_title=Formspring_20API_20Issues_amp_notes=I_27ve_20been_20working_20on_20my_20Perl_20library_20for_20Formspring.me_2C_20and_20I_27ve_20run_20into_20a_20pretty_20egregious_20issue._20Apparently_20they_20aren_27t_20following_20the_20OAuth_20spec_20correctly_2C_20and_20aren_27t_20returning_20_20a_20oauth_callback_confirmed_20parameter._20The_20problem_20for_20me_20lies_20in_20that&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F&amp;t=Formspring%20API%20Issues" title="Facebook" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/share.php?u=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F_amp_t=Formspring_20API_20Issues&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F&amp;title=Formspring%20API%20Issues&amp;annotation=I%27ve%20been%20working%20on%20my%20Perl%20library%20for%20Formspring.me%2C%20and%20I%27ve%20run%20into%20a%20pretty%20egregious%20issue.%20Apparently%20they%20aren%27t%20following%20the%20OAuth%20spec%20correctly%2C%20and%20aren%27t%20returning%20%20a%20oauth_callback_confirmed%20parameter.%20The%20problem%20for%20me%20lies%20in%20that" title="Google Bookmarks" onclick="pageTracker._trackPageview('/outgoing/www.google.com/bookmarks/mark?op=edit_amp_bkmk=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F_amp_title=Formspring_20API_20Issues_amp_annotation=I_27ve_20been_20working_20on_20my_20Perl_20library_20for_20Formspring.me_2C_20and_20I_27ve_20run_20into_20a_20pretty_20egregious_20issue._20Apparently_20they_20aren_27t_20following_20the_20OAuth_20spec_20correctly_2C_20and_20aren_27t_20returning_20_20a_20oauth_callback_confirmed_20parameter._20The_20problem_20for_20me_20lies_20in_20that&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.friendfeed.com/share?title=Formspring%20API%20Issues&amp;link=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F" title="FriendFeed" onclick="pageTracker._trackPageview('/outgoing/www.friendfeed.com/share?title=Formspring_20API_20Issues_amp_link=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F" title="Identi.ca" onclick="pageTracker._trackPageview('/outgoing/identi.ca/notice/new?status_textarea=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F&amp;title=Formspring%20API%20Issues&amp;source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr&amp;summary=I%27ve%20been%20working%20on%20my%20Perl%20library%20for%20Formspring.me%2C%20and%20I%27ve%20run%20into%20a%20pretty%20egregious%20issue.%20Apparently%20they%20aren%27t%20following%20the%20OAuth%20spec%20correctly%2C%20and%20aren%27t%20returning%20%20a%20oauth_callback_confirmed%20parameter.%20The%20problem%20for%20me%20lies%20in%20that" title="LinkedIn" onclick="pageTracker._trackPageview('/outgoing/www.linkedin.com/shareArticle?mini=true_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F_amp_title=Formspring_20API_20Issues_amp_source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr_amp_summary=I_27ve_20been_20working_20on_20my_20Perl_20library_20for_20Formspring.me_2C_20and_20I_27ve_20run_20into_20a_20pretty_20egregious_20issue._20Apparently_20they_20aren_27t_20following_20the_20OAuth_20spec_20correctly_2C_20and_20aren_27t_20returning_20_20a_20oauth_callback_confirmed_20parameter._20The_20problem_20for_20me_20lies_20in_20that&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F&amp;title=Formspring%20API%20Issues" title="Live" onclick="pageTracker._trackPageview('/outgoing/favorites.live.com/quickadd.aspx?marklet=1_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F_amp_title=Formspring_20API_20Issues&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F&amp;title=Formspring%20API%20Issues" title="Reddit" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F_amp_title=Formspring_20API_20Issues&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=Formspring%20API%20Issues&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F" title="Slashdot" onclick="pageTracker._trackPageview('/outgoing/slashdot.org/bookmark.pl?title=Formspring_20API_20Issues_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F&amp;title=Formspring%20API%20Issues" title="StumbleUpon" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F_amp_title=Formspring_20API_20Issues&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F&amp;t=Formspring%20API%20Issues&amp;s=I%27ve%20been%20working%20on%20my%20Perl%20library%20for%20Formspring.me%2C%20and%20I%27ve%20run%20into%20a%20pretty%20egregious%20issue.%20Apparently%20they%20aren%27t%20following%20the%20OAuth%20spec%20correctly%2C%20and%20aren%27t%20returning%20%20a%20oauth_callback_confirmed%20parameter.%20The%20problem%20for%20me%20lies%20in%20that" title="Tumblr" onclick="pageTracker._trackPageview('/outgoing/www.tumblr.com/share?v=3_amp_u=http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F_amp_t=Formspring_20API_20Issues_amp_s=I_27ve_20been_20working_20on_20my_20Perl_20library_20for_20Formspring.me_2C_20and_20I_27ve_20run_20into_20a_20pretty_20egregious_20issue._20Apparently_20they_20aren_27t_20following_20the_20OAuth_20spec_20correctly_2C_20and_20aren_27t_20returning_20_20a_20oauth_callback_confirmed_20parameter._20The_20problem_20for_20me_20lies_20in_20that&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://twitter.com/home?status=Formspring%20API%20Issues%20-%20http%3A%2F%2Fwww.worrbase.com%2F2010%2F07%2F06%2Fformspring-api-issues%2F" title="Twitter" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Formspring_20API_20Issues_20-_20http_3A_2F_2Fwww.worrbase.com_2F2010_2F07_2F06_2Fformspring-api-issues_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.worrbase.com/2010/07/06/formspring-api-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formspring.me API beta</title>
		<link>http://www.worrbase.com/2010/06/03/formspring-me-api-beta/</link>
		<comments>http://www.worrbase.com/2010/06/03/formspring-me-api-beta/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 07:19:11 +0000</pubDate>
		<dc:creator>worr</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[formspring]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.worrbase.com/?p=40</guid>
		<description><![CDATA[formspring.me released a beta version of their API today. For those of you who don&#8217;t know, formspring.me is the popular social networking site that allows people to ask and answer anonymous questions. It uses Facebook Connect for user auth, as well as letting users sign up on the site if they don&#8217;t have a Facebook [...]]]></description>
			<content:encoded><![CDATA[<p>formspring.me released a beta version of their API today. For those of you who don&#8217;t know, formspring.me is the popular social networking site that allows people to ask and answer anonymous questions. It uses Facebook Connect for user auth, as well as letting users sign up on the site if they don&#8217;t have a Facebook account.</p>
<p>Apparently, as a joke some time ago, I signed up for the beta API. So I decided to develop a Perl module allowing easy use of the Formspring.me API. You can follow the development of it on my <a href="http://github.com/worr/WWW--Formspring" onclick="pageTracker._trackPageview('/outgoing/github.com/worr/WWW--Formspring?referer=');">github</a>. I plan to release this code to CPAN when I&#8217;m done so that other people can use it.</p>
<p>Since I&#8217;m new to the CPAN world, if one of you astute readers notices something blatantly wrong about my code, I&#8217;d appreciate it if you&#8217;d point it out.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this post:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F&amp;title=Formspring.me%20API%20beta&amp;bodytext=formspring.me%20released%20a%20beta%20version%20of%20their%20API%20today.%20For%20those%20of%20you%20who%20don%27t%20know%2C%20formspring.me%20is%20the%20popular%20social%20networking%20site%20that%20allows%20people%20to%20ask%20and%20answer%20anonymous%20questions.%20It%20uses%20Facebook%20Connect%20for%20user%20auth%2C%20as%20well%20a" title="Digg" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F_amp_title=Formspring.me_20API_20beta_amp_bodytext=formspring.me_20released_20a_20beta_20version_20of_20their_20API_20today._20For_20those_20of_20you_20who_20don_27t_20know_2C_20formspring.me_20is_20the_20popular_20social_20networking_20site_20that_20allows_20people_20to_20ask_20and_20answer_20anonymous_20questions._20It_20uses_20Facebook_20Connect_20for_20user_20auth_2C_20as_20well_20a&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F&amp;title=Formspring.me%20API%20beta&amp;notes=formspring.me%20released%20a%20beta%20version%20of%20their%20API%20today.%20For%20those%20of%20you%20who%20don%27t%20know%2C%20formspring.me%20is%20the%20popular%20social%20networking%20site%20that%20allows%20people%20to%20ask%20and%20answer%20anonymous%20questions.%20It%20uses%20Facebook%20Connect%20for%20user%20auth%2C%20as%20well%20a" title="del.icio.us" onclick="pageTracker._trackPageview('/outgoing/delicious.com/post?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F_amp_title=Formspring.me_20API_20beta_amp_notes=formspring.me_20released_20a_20beta_20version_20of_20their_20API_20today._20For_20those_20of_20you_20who_20don_27t_20know_2C_20formspring.me_20is_20the_20popular_20social_20networking_20site_20that_20allows_20people_20to_20ask_20and_20answer_20anonymous_20questions._20It_20uses_20Facebook_20Connect_20for_20user_20auth_2C_20as_20well_20a&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F&amp;t=Formspring.me%20API%20beta" title="Facebook" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/share.php?u=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F_amp_t=Formspring.me_20API_20beta&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F&amp;title=Formspring.me%20API%20beta&amp;annotation=formspring.me%20released%20a%20beta%20version%20of%20their%20API%20today.%20For%20those%20of%20you%20who%20don%27t%20know%2C%20formspring.me%20is%20the%20popular%20social%20networking%20site%20that%20allows%20people%20to%20ask%20and%20answer%20anonymous%20questions.%20It%20uses%20Facebook%20Connect%20for%20user%20auth%2C%20as%20well%20a" title="Google Bookmarks" onclick="pageTracker._trackPageview('/outgoing/www.google.com/bookmarks/mark?op=edit_amp_bkmk=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F_amp_title=Formspring.me_20API_20beta_amp_annotation=formspring.me_20released_20a_20beta_20version_20of_20their_20API_20today._20For_20those_20of_20you_20who_20don_27t_20know_2C_20formspring.me_20is_20the_20popular_20social_20networking_20site_20that_20allows_20people_20to_20ask_20and_20answer_20anonymous_20questions._20It_20uses_20Facebook_20Connect_20for_20user_20auth_2C_20as_20well_20a&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.friendfeed.com/share?title=Formspring.me%20API%20beta&amp;link=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F" title="FriendFeed" onclick="pageTracker._trackPageview('/outgoing/www.friendfeed.com/share?title=Formspring.me_20API_20beta_amp_link=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F" title="Identi.ca" onclick="pageTracker._trackPageview('/outgoing/identi.ca/notice/new?status_textarea=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F&amp;title=Formspring.me%20API%20beta&amp;source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr&amp;summary=formspring.me%20released%20a%20beta%20version%20of%20their%20API%20today.%20For%20those%20of%20you%20who%20don%27t%20know%2C%20formspring.me%20is%20the%20popular%20social%20networking%20site%20that%20allows%20people%20to%20ask%20and%20answer%20anonymous%20questions.%20It%20uses%20Facebook%20Connect%20for%20user%20auth%2C%20as%20well%20a" title="LinkedIn" onclick="pageTracker._trackPageview('/outgoing/www.linkedin.com/shareArticle?mini=true_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F_amp_title=Formspring.me_20API_20beta_amp_source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr_amp_summary=formspring.me_20released_20a_20beta_20version_20of_20their_20API_20today._20For_20those_20of_20you_20who_20don_27t_20know_2C_20formspring.me_20is_20the_20popular_20social_20networking_20site_20that_20allows_20people_20to_20ask_20and_20answer_20anonymous_20questions._20It_20uses_20Facebook_20Connect_20for_20user_20auth_2C_20as_20well_20a&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F&amp;title=Formspring.me%20API%20beta" title="Live" onclick="pageTracker._trackPageview('/outgoing/favorites.live.com/quickadd.aspx?marklet=1_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F_amp_title=Formspring.me_20API_20beta&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F&amp;title=Formspring.me%20API%20beta" title="Reddit" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F_amp_title=Formspring.me_20API_20beta&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=Formspring.me%20API%20beta&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F" title="Slashdot" onclick="pageTracker._trackPageview('/outgoing/slashdot.org/bookmark.pl?title=Formspring.me_20API_20beta_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F&amp;title=Formspring.me%20API%20beta" title="StumbleUpon" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F_amp_title=Formspring.me_20API_20beta&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F&amp;t=Formspring.me%20API%20beta&amp;s=formspring.me%20released%20a%20beta%20version%20of%20their%20API%20today.%20For%20those%20of%20you%20who%20don%27t%20know%2C%20formspring.me%20is%20the%20popular%20social%20networking%20site%20that%20allows%20people%20to%20ask%20and%20answer%20anonymous%20questions.%20It%20uses%20Facebook%20Connect%20for%20user%20auth%2C%20as%20well%20a" title="Tumblr" onclick="pageTracker._trackPageview('/outgoing/www.tumblr.com/share?v=3_amp_u=http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F_amp_t=Formspring.me_20API_20beta_amp_s=formspring.me_20released_20a_20beta_20version_20of_20their_20API_20today._20For_20those_20of_20you_20who_20don_27t_20know_2C_20formspring.me_20is_20the_20popular_20social_20networking_20site_20that_20allows_20people_20to_20ask_20and_20answer_20anonymous_20questions._20It_20uses_20Facebook_20Connect_20for_20user_20auth_2C_20as_20well_20a&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://twitter.com/home?status=Formspring.me%20API%20beta%20-%20http%3A%2F%2Fwww.worrbase.com%2F2010%2F06%2F03%2Fformspring-me-api-beta%2F" title="Twitter" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Formspring.me_20API_20beta_20-_20http_3A_2F_2Fwww.worrbase.com_2F2010_2F06_2F03_2Fformspring-me-api-beta_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.worrbase.com/2010/06/03/formspring-me-api-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Useless programs are the best programs</title>
		<link>http://www.worrbase.com/2010/01/31/useless-programs-are-the-best-programs/</link>
		<comments>http://www.worrbase.com/2010/01/31/useless-programs-are-the-best-programs/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 10:02:31 +0000</pubDate>
		<dc:creator>worr</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[apt-echo]]></category>
		<category><![CDATA[boredom]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[jokes]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[useless]]></category>
		<category><![CDATA[waste of time]]></category>

		<guid isPermaLink="false">http://www.worrbase.com/?p=17</guid>
		<description><![CDATA[A couple of weekends ago, a couple of friends and I were joking about making a useless Debian utility called apt-echo. So that weekend, I sat down and wrote it in Perl. I also went and made a Debian package, complete with relevant documentation. I never really put it anywhere.
So I got bored and decided [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weekends ago, a couple of friends and I were joking about making a useless Debian utility called apt-echo. So that weekend, I sat down and wrote it in Perl. I also went and made a Debian package, complete with relevant documentation. I never really put it anywhere.</p>
<p>So I got bored and decided to make a really an awesome web 1.0 page for apt-echo, as well as off it for download. I even set up a github repo for it. If you want to see the site, it&#8217;s <a href="http://apt-echo.worrbase.com" onclick="pageTracker._trackPageview('/outgoing/apt-echo.worrbase.com?referer=');">right here</a>.</p>
<p>So go ahead, install it. Maybe someone will find it useful one day. It&#8217;s slightly faster than aptitude search, and it has few dependencies. Send me an e-mail if there are bugs. Or if you like it. Or if you found a way for it to be useful.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this post:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F&amp;title=Useless%20programs%20are%20the%20best%20programs&amp;bodytext=A%20couple%20of%20weekends%20ago%2C%20a%20couple%20of%20friends%20and%20I%20were%20joking%20about%20making%20a%20useless%20Debian%20utility%20called%20apt-echo.%20So%20that%20weekend%2C%20I%20sat%20down%20and%20wrote%20it%20in%20Perl.%20I%20also%20went%20and%20made%20a%20Debian%20package%2C%20complete%20with%20relevant%20documentation.%20I%20ne" title="Digg" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F_amp_title=Useless_20programs_20are_20the_20best_20programs_amp_bodytext=A_20couple_20of_20weekends_20ago_2C_20a_20couple_20of_20friends_20and_20I_20were_20joking_20about_20making_20a_20useless_20Debian_20utility_20called_20apt-echo._20So_20that_20weekend_2C_20I_20sat_20down_20and_20wrote_20it_20in_20Perl._20I_20also_20went_20and_20made_20a_20Debian_20package_2C_20complete_20with_20relevant_20documentation._20I_20ne&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F&amp;title=Useless%20programs%20are%20the%20best%20programs&amp;notes=A%20couple%20of%20weekends%20ago%2C%20a%20couple%20of%20friends%20and%20I%20were%20joking%20about%20making%20a%20useless%20Debian%20utility%20called%20apt-echo.%20So%20that%20weekend%2C%20I%20sat%20down%20and%20wrote%20it%20in%20Perl.%20I%20also%20went%20and%20made%20a%20Debian%20package%2C%20complete%20with%20relevant%20documentation.%20I%20ne" title="del.icio.us" onclick="pageTracker._trackPageview('/outgoing/delicious.com/post?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F_amp_title=Useless_20programs_20are_20the_20best_20programs_amp_notes=A_20couple_20of_20weekends_20ago_2C_20a_20couple_20of_20friends_20and_20I_20were_20joking_20about_20making_20a_20useless_20Debian_20utility_20called_20apt-echo._20So_20that_20weekend_2C_20I_20sat_20down_20and_20wrote_20it_20in_20Perl._20I_20also_20went_20and_20made_20a_20Debian_20package_2C_20complete_20with_20relevant_20documentation._20I_20ne&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F&amp;t=Useless%20programs%20are%20the%20best%20programs" title="Facebook" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/share.php?u=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F_amp_t=Useless_20programs_20are_20the_20best_20programs&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F&amp;title=Useless%20programs%20are%20the%20best%20programs&amp;annotation=A%20couple%20of%20weekends%20ago%2C%20a%20couple%20of%20friends%20and%20I%20were%20joking%20about%20making%20a%20useless%20Debian%20utility%20called%20apt-echo.%20So%20that%20weekend%2C%20I%20sat%20down%20and%20wrote%20it%20in%20Perl.%20I%20also%20went%20and%20made%20a%20Debian%20package%2C%20complete%20with%20relevant%20documentation.%20I%20ne" title="Google Bookmarks" onclick="pageTracker._trackPageview('/outgoing/www.google.com/bookmarks/mark?op=edit_amp_bkmk=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F_amp_title=Useless_20programs_20are_20the_20best_20programs_amp_annotation=A_20couple_20of_20weekends_20ago_2C_20a_20couple_20of_20friends_20and_20I_20were_20joking_20about_20making_20a_20useless_20Debian_20utility_20called_20apt-echo._20So_20that_20weekend_2C_20I_20sat_20down_20and_20wrote_20it_20in_20Perl._20I_20also_20went_20and_20made_20a_20Debian_20package_2C_20complete_20with_20relevant_20documentation._20I_20ne&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.friendfeed.com/share?title=Useless%20programs%20are%20the%20best%20programs&amp;link=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F" title="FriendFeed" onclick="pageTracker._trackPageview('/outgoing/www.friendfeed.com/share?title=Useless_20programs_20are_20the_20best_20programs_amp_link=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F" title="Identi.ca" onclick="pageTracker._trackPageview('/outgoing/identi.ca/notice/new?status_textarea=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F&amp;title=Useless%20programs%20are%20the%20best%20programs&amp;source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr&amp;summary=A%20couple%20of%20weekends%20ago%2C%20a%20couple%20of%20friends%20and%20I%20were%20joking%20about%20making%20a%20useless%20Debian%20utility%20called%20apt-echo.%20So%20that%20weekend%2C%20I%20sat%20down%20and%20wrote%20it%20in%20Perl.%20I%20also%20went%20and%20made%20a%20Debian%20package%2C%20complete%20with%20relevant%20documentation.%20I%20ne" title="LinkedIn" onclick="pageTracker._trackPageview('/outgoing/www.linkedin.com/shareArticle?mini=true_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F_amp_title=Useless_20programs_20are_20the_20best_20programs_amp_source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr_amp_summary=A_20couple_20of_20weekends_20ago_2C_20a_20couple_20of_20friends_20and_20I_20were_20joking_20about_20making_20a_20useless_20Debian_20utility_20called_20apt-echo._20So_20that_20weekend_2C_20I_20sat_20down_20and_20wrote_20it_20in_20Perl._20I_20also_20went_20and_20made_20a_20Debian_20package_2C_20complete_20with_20relevant_20documentation._20I_20ne&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F&amp;title=Useless%20programs%20are%20the%20best%20programs" title="Live" onclick="pageTracker._trackPageview('/outgoing/favorites.live.com/quickadd.aspx?marklet=1_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F_amp_title=Useless_20programs_20are_20the_20best_20programs&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F&amp;title=Useless%20programs%20are%20the%20best%20programs" title="Reddit" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F_amp_title=Useless_20programs_20are_20the_20best_20programs&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=Useless%20programs%20are%20the%20best%20programs&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F" title="Slashdot" onclick="pageTracker._trackPageview('/outgoing/slashdot.org/bookmark.pl?title=Useless_20programs_20are_20the_20best_20programs_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F&amp;title=Useless%20programs%20are%20the%20best%20programs" title="StumbleUpon" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F_amp_title=Useless_20programs_20are_20the_20best_20programs&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F&amp;t=Useless%20programs%20are%20the%20best%20programs&amp;s=A%20couple%20of%20weekends%20ago%2C%20a%20couple%20of%20friends%20and%20I%20were%20joking%20about%20making%20a%20useless%20Debian%20utility%20called%20apt-echo.%20So%20that%20weekend%2C%20I%20sat%20down%20and%20wrote%20it%20in%20Perl.%20I%20also%20went%20and%20made%20a%20Debian%20package%2C%20complete%20with%20relevant%20documentation.%20I%20ne" title="Tumblr" onclick="pageTracker._trackPageview('/outgoing/www.tumblr.com/share?v=3_amp_u=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F_amp_t=Useless_20programs_20are_20the_20best_20programs_amp_s=A_20couple_20of_20weekends_20ago_2C_20a_20couple_20of_20friends_20and_20I_20were_20joking_20about_20making_20a_20useless_20Debian_20utility_20called_20apt-echo._20So_20that_20weekend_2C_20I_20sat_20down_20and_20wrote_20it_20in_20Perl._20I_20also_20went_20and_20made_20a_20Debian_20package_2C_20complete_20with_20relevant_20documentation._20I_20ne&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://twitter.com/home?status=Useless%20programs%20are%20the%20best%20programs%20-%20http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F31%2Fuseless-programs-are-the-best-programs%2F" title="Twitter" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Useless_20programs_20are_20the_20best_20programs_20-_20http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F31_2Fuseless-programs-are-the-best-programs_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.worrbase.com/2010/01/31/useless-programs-are-the-best-programs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My major is too easy&#8230;</title>
		<link>http://www.worrbase.com/2010/01/18/my-major-is-too-easy/</link>
		<comments>http://www.worrbase.com/2010/01/18/my-major-is-too-easy/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 08:10:24 +0000</pubDate>
		<dc:creator>worr</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[boredom]]></category>
		<category><![CDATA[brainfuck]]></category>
		<category><![CDATA[code generation]]></category>
		<category><![CDATA[csh]]></category>
		<category><![CDATA[hello world]]></category>
		<category><![CDATA[interpreter]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[useless]]></category>

		<guid isPermaLink="false">http://www.worrbase.com/?p=16</guid>
		<description><![CDATA[This weekend, I had absolutely nothing to do. I didn&#8217;t have any homework, studying, projects or the like because my major is far too easy. So I got bored and wrote a complete Brainfuck interpreter in Perl.
The interpreter was the easiest; it took me a morning to get that working albeit without support for nested [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend, I had absolutely nothing to do. I didn&#8217;t have any homework, studying, projects or the like because my major is far too easy. So I got bored and wrote a complete <a href="http://en.wikipedia.org/wiki/Brainfuck" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Brainfuck?referer=');">Brainfuck</a> interpreter in Perl.</p>
<p>The interpreter was the easiest; it took me a morning to get that working albeit without support for nested parens. After that, I decided to write a text to Brainfuck converter, which (not surprisingly) turns text into executable Brainfuck code. Maybe if I get bored again, I could write a module to output the equivalent Perl or C code given some Brainfuck code.</p>
<p>This was my first real project using object oriented Perl. In all honesty, I like that Perl&#8217;s object system allows for many different types of objects (objects can be scalars, arrays, or hashes) and how flexible that is. Unfortunately, I didn&#8217;t get to exploit that flexibility in my code. It&#8217;s still cool though.</p>
<p>What I wrote is 2 Perl modules that make up the linked list that store data generated by Brainfuck code, a Perl module that interprets and runs the code, and a Perl module that translates text to executable Brainfuck code. I know I could have used a pre-built linked list, but I thought it was more fun to write my own.</p>
<p>The biggest challenge was definitely writing the translation code. I could&#8217;ve done it the easy way, and just output x amount of pluses for the character code of each letter, but I decided that was the lamest way to write Brainfuck. Instead, I looped through each character in the phrase, and added some nodes in my Brainfuck code that corresponded to the tens place of each character code. Then, when outputting a character, my Brainfuck code would change the data pointer to the node that was set to the tens place of the character code of the desired character, and increment or decrement it to the proper value.</p>
<p>A more ideal way to do it (to generate cleaner Brainfuck, at least) is to set each of those prep nodes to the nearest multiple of 20 for each character code, and then use whichever node is closest to the desired value. Maybe if I feel like doing more with this, then I&#8217;ll add that feature (probably not).</p>
<p>In addition to writing all this, I also made a <a href="http://github.com/worr" onclick="pageTracker._trackPageview('/outgoing/github.com/worr?referer=');">GitHub</a> account. My GitHub has all the above code, so you can clone the repo if you want to see what the code looks like (it&#8217;s actually really easy to read Perl).</p>
<p>This whole idea came from an idea on CSH. A guy here decided to publish a &#8220;Hello World of the Week&#8221; article in our newsletter, and to combat him I wrote a Brainfuck version of Hello World. This contest grew, and other people joined (albeit humorously) with such contributions as a boot loader that printed out Hello World, Hello World in White Space, and Hello World in Microsoft Word. My contribution (also in my git repo) generated valid Brainfuck code for the phrase Hello World, and then ran it through my interpreter (aka Hello World in 425ish lines).</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this post:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F&amp;title=My%20major%20is%20too%20easy...&amp;bodytext=This%20weekend%2C%20I%20had%20absolutely%20nothing%20to%20do.%20I%20didn%27t%20have%20any%20homework%2C%20studying%2C%20projects%20or%20the%20like%20because%20my%20major%20is%20far%20too%20easy.%20So%20I%20got%20bored%20and%20wrote%20a%20complete%20Brainfuck%20interpreter%20in%20Perl.%0D%0A%0D%0AThe%20interpreter%20was%20the%20easiest%3B%20it%20took%20" title="Digg" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F_amp_title=My_20major_20is_20too_20easy..._amp_bodytext=This_20weekend_2C_20I_20had_20absolutely_20nothing_20to_20do._20I_20didn_27t_20have_20any_20homework_2C_20studying_2C_20projects_20or_20the_20like_20because_20my_20major_20is_20far_20too_20easy._20So_20I_20got_20bored_20and_20wrote_20a_20complete_20Brainfuck_20interpreter_20in_20Perl._0D_0A_0D_0AThe_20interpreter_20was_20the_20easiest_3B_20it_20took_20&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F&amp;title=My%20major%20is%20too%20easy...&amp;notes=This%20weekend%2C%20I%20had%20absolutely%20nothing%20to%20do.%20I%20didn%27t%20have%20any%20homework%2C%20studying%2C%20projects%20or%20the%20like%20because%20my%20major%20is%20far%20too%20easy.%20So%20I%20got%20bored%20and%20wrote%20a%20complete%20Brainfuck%20interpreter%20in%20Perl.%0D%0A%0D%0AThe%20interpreter%20was%20the%20easiest%3B%20it%20took%20" title="del.icio.us" onclick="pageTracker._trackPageview('/outgoing/delicious.com/post?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F_amp_title=My_20major_20is_20too_20easy..._amp_notes=This_20weekend_2C_20I_20had_20absolutely_20nothing_20to_20do._20I_20didn_27t_20have_20any_20homework_2C_20studying_2C_20projects_20or_20the_20like_20because_20my_20major_20is_20far_20too_20easy._20So_20I_20got_20bored_20and_20wrote_20a_20complete_20Brainfuck_20interpreter_20in_20Perl._0D_0A_0D_0AThe_20interpreter_20was_20the_20easiest_3B_20it_20took_20&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F&amp;t=My%20major%20is%20too%20easy..." title="Facebook" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/share.php?u=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F_amp_t=My_20major_20is_20too_20easy...&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F&amp;title=My%20major%20is%20too%20easy...&amp;annotation=This%20weekend%2C%20I%20had%20absolutely%20nothing%20to%20do.%20I%20didn%27t%20have%20any%20homework%2C%20studying%2C%20projects%20or%20the%20like%20because%20my%20major%20is%20far%20too%20easy.%20So%20I%20got%20bored%20and%20wrote%20a%20complete%20Brainfuck%20interpreter%20in%20Perl.%0D%0A%0D%0AThe%20interpreter%20was%20the%20easiest%3B%20it%20took%20" title="Google Bookmarks" onclick="pageTracker._trackPageview('/outgoing/www.google.com/bookmarks/mark?op=edit_amp_bkmk=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F_amp_title=My_20major_20is_20too_20easy..._amp_annotation=This_20weekend_2C_20I_20had_20absolutely_20nothing_20to_20do._20I_20didn_27t_20have_20any_20homework_2C_20studying_2C_20projects_20or_20the_20like_20because_20my_20major_20is_20far_20too_20easy._20So_20I_20got_20bored_20and_20wrote_20a_20complete_20Brainfuck_20interpreter_20in_20Perl._0D_0A_0D_0AThe_20interpreter_20was_20the_20easiest_3B_20it_20took_20&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.friendfeed.com/share?title=My%20major%20is%20too%20easy...&amp;link=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F" title="FriendFeed" onclick="pageTracker._trackPageview('/outgoing/www.friendfeed.com/share?title=My_20major_20is_20too_20easy..._amp_link=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F" title="Identi.ca" onclick="pageTracker._trackPageview('/outgoing/identi.ca/notice/new?status_textarea=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F&amp;title=My%20major%20is%20too%20easy...&amp;source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr&amp;summary=This%20weekend%2C%20I%20had%20absolutely%20nothing%20to%20do.%20I%20didn%27t%20have%20any%20homework%2C%20studying%2C%20projects%20or%20the%20like%20because%20my%20major%20is%20far%20too%20easy.%20So%20I%20got%20bored%20and%20wrote%20a%20complete%20Brainfuck%20interpreter%20in%20Perl.%0D%0A%0D%0AThe%20interpreter%20was%20the%20easiest%3B%20it%20took%20" title="LinkedIn" onclick="pageTracker._trackPageview('/outgoing/www.linkedin.com/shareArticle?mini=true_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F_amp_title=My_20major_20is_20too_20easy..._amp_source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr_amp_summary=This_20weekend_2C_20I_20had_20absolutely_20nothing_20to_20do._20I_20didn_27t_20have_20any_20homework_2C_20studying_2C_20projects_20or_20the_20like_20because_20my_20major_20is_20far_20too_20easy._20So_20I_20got_20bored_20and_20wrote_20a_20complete_20Brainfuck_20interpreter_20in_20Perl._0D_0A_0D_0AThe_20interpreter_20was_20the_20easiest_3B_20it_20took_20&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F&amp;title=My%20major%20is%20too%20easy..." title="Live" onclick="pageTracker._trackPageview('/outgoing/favorites.live.com/quickadd.aspx?marklet=1_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F_amp_title=My_20major_20is_20too_20easy...&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F&amp;title=My%20major%20is%20too%20easy..." title="Reddit" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F_amp_title=My_20major_20is_20too_20easy...&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=My%20major%20is%20too%20easy...&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F" title="Slashdot" onclick="pageTracker._trackPageview('/outgoing/slashdot.org/bookmark.pl?title=My_20major_20is_20too_20easy..._amp_url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F&amp;title=My%20major%20is%20too%20easy..." title="StumbleUpon" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F_amp_title=My_20major_20is_20too_20easy...&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F&amp;t=My%20major%20is%20too%20easy...&amp;s=This%20weekend%2C%20I%20had%20absolutely%20nothing%20to%20do.%20I%20didn%27t%20have%20any%20homework%2C%20studying%2C%20projects%20or%20the%20like%20because%20my%20major%20is%20far%20too%20easy.%20So%20I%20got%20bored%20and%20wrote%20a%20complete%20Brainfuck%20interpreter%20in%20Perl.%0D%0A%0D%0AThe%20interpreter%20was%20the%20easiest%3B%20it%20took%20" title="Tumblr" onclick="pageTracker._trackPageview('/outgoing/www.tumblr.com/share?v=3_amp_u=http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F_amp_t=My_20major_20is_20too_20easy..._amp_s=This_20weekend_2C_20I_20had_20absolutely_20nothing_20to_20do._20I_20didn_27t_20have_20any_20homework_2C_20studying_2C_20projects_20or_20the_20like_20because_20my_20major_20is_20far_20too_20easy._20So_20I_20got_20bored_20and_20wrote_20a_20complete_20Brainfuck_20interpreter_20in_20Perl._0D_0A_0D_0AThe_20interpreter_20was_20the_20easiest_3B_20it_20took_20&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://twitter.com/home?status=My%20major%20is%20too%20easy...%20-%20http%3A%2F%2Fwww.worrbase.com%2F2010%2F01%2F18%2Fmy-major-is-too-easy%2F" title="Twitter" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=My_20major_20is_20too_20easy..._20-_20http_3A_2F_2Fwww.worrbase.com_2F2010_2F01_2F18_2Fmy-major-is-too-easy_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.worrbase.com/2010/01/18/my-major-is-too-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>omirssi: An Omegle irssi plugin</title>
		<link>http://www.worrbase.com/2009/12/25/omirssi-an-omegle-irssi-plugin/</link>
		<comments>http://www.worrbase.com/2009/12/25/omirssi-an-omegle-irssi-plugin/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 20:57:24 +0000</pubDate>
		<dc:creator>worr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[boredom]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[irssi]]></category>
		<category><![CDATA[omegle]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://www.worrbase.com/?p=15</guid>
		<description><![CDATA[Sometimes I really hate going home. I&#8217;m on Christmas break, and I&#8217;ve spent the majority of my time just watching movies in my basement. I got really bored, so yesterday morning while I was watching &#8220;Juno&#8221; (love that movie), I wrote an Omegle script for irssi. I just made up a google code page for [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I really hate going home. I&#8217;m on Christmas break, and I&#8217;ve spent the majority of my time just watching movies in my basement. I got really bored, so yesterday morning while I was watching &#8220;Juno&#8221; (love that movie), I wrote an <a href="http://omegle.com" target="_self" onclick="pageTracker._trackPageview('/outgoing/omegle.com?referer=');">Omegle</a> script for irssi. I just made up a <a href="http://code.google.com/p/omirssi" target="_self" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/omirssi?referer=');">google code</a> page for download, so have at it irssi users. Maybe I&#8217;ll get around to adding it to the big list of irssi scripts sometime soon.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this post:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F&amp;title=omirssi%3A%20An%20Omegle%20irssi%20plugin&amp;bodytext=Sometimes%20I%20really%20hate%20going%20home.%20I%27m%20on%20Christmas%20break%2C%20and%20I%27ve%20spent%20the%20majority%20of%20my%20time%20just%20watching%20movies%20in%20my%20basement.%20I%20got%20really%20bored%2C%20so%20yesterday%20morning%20while%20I%20was%20watching%20%22Juno%22%20%28love%20that%20movie%29%2C%20I%20wrote%20an%20Omegle%20script%20f" title="Digg" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F_amp_title=omirssi_3A_20An_20Omegle_20irssi_20plugin_amp_bodytext=Sometimes_20I_20really_20hate_20going_20home._20I_27m_20on_20Christmas_20break_2C_20and_20I_27ve_20spent_20the_20majority_20of_20my_20time_20just_20watching_20movies_20in_20my_20basement._20I_20got_20really_20bored_2C_20so_20yesterday_20morning_20while_20I_20was_20watching_20_22Juno_22_20_28love_20that_20movie_29_2C_20I_20wrote_20an_20Omegle_20script_20f&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F&amp;title=omirssi%3A%20An%20Omegle%20irssi%20plugin&amp;notes=Sometimes%20I%20really%20hate%20going%20home.%20I%27m%20on%20Christmas%20break%2C%20and%20I%27ve%20spent%20the%20majority%20of%20my%20time%20just%20watching%20movies%20in%20my%20basement.%20I%20got%20really%20bored%2C%20so%20yesterday%20morning%20while%20I%20was%20watching%20%22Juno%22%20%28love%20that%20movie%29%2C%20I%20wrote%20an%20Omegle%20script%20f" title="del.icio.us" onclick="pageTracker._trackPageview('/outgoing/delicious.com/post?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F_amp_title=omirssi_3A_20An_20Omegle_20irssi_20plugin_amp_notes=Sometimes_20I_20really_20hate_20going_20home._20I_27m_20on_20Christmas_20break_2C_20and_20I_27ve_20spent_20the_20majority_20of_20my_20time_20just_20watching_20movies_20in_20my_20basement._20I_20got_20really_20bored_2C_20so_20yesterday_20morning_20while_20I_20was_20watching_20_22Juno_22_20_28love_20that_20movie_29_2C_20I_20wrote_20an_20Omegle_20script_20f&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F&amp;t=omirssi%3A%20An%20Omegle%20irssi%20plugin" title="Facebook" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/share.php?u=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F_amp_t=omirssi_3A_20An_20Omegle_20irssi_20plugin&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F&amp;title=omirssi%3A%20An%20Omegle%20irssi%20plugin&amp;annotation=Sometimes%20I%20really%20hate%20going%20home.%20I%27m%20on%20Christmas%20break%2C%20and%20I%27ve%20spent%20the%20majority%20of%20my%20time%20just%20watching%20movies%20in%20my%20basement.%20I%20got%20really%20bored%2C%20so%20yesterday%20morning%20while%20I%20was%20watching%20%22Juno%22%20%28love%20that%20movie%29%2C%20I%20wrote%20an%20Omegle%20script%20f" title="Google Bookmarks" onclick="pageTracker._trackPageview('/outgoing/www.google.com/bookmarks/mark?op=edit_amp_bkmk=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F_amp_title=omirssi_3A_20An_20Omegle_20irssi_20plugin_amp_annotation=Sometimes_20I_20really_20hate_20going_20home._20I_27m_20on_20Christmas_20break_2C_20and_20I_27ve_20spent_20the_20majority_20of_20my_20time_20just_20watching_20movies_20in_20my_20basement._20I_20got_20really_20bored_2C_20so_20yesterday_20morning_20while_20I_20was_20watching_20_22Juno_22_20_28love_20that_20movie_29_2C_20I_20wrote_20an_20Omegle_20script_20f&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.friendfeed.com/share?title=omirssi%3A%20An%20Omegle%20irssi%20plugin&amp;link=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F" title="FriendFeed" onclick="pageTracker._trackPageview('/outgoing/www.friendfeed.com/share?title=omirssi_3A_20An_20Omegle_20irssi_20plugin_amp_link=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F" title="Identi.ca" onclick="pageTracker._trackPageview('/outgoing/identi.ca/notice/new?status_textarea=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F&amp;title=omirssi%3A%20An%20Omegle%20irssi%20plugin&amp;source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr&amp;summary=Sometimes%20I%20really%20hate%20going%20home.%20I%27m%20on%20Christmas%20break%2C%20and%20I%27ve%20spent%20the%20majority%20of%20my%20time%20just%20watching%20movies%20in%20my%20basement.%20I%20got%20really%20bored%2C%20so%20yesterday%20morning%20while%20I%20was%20watching%20%22Juno%22%20%28love%20that%20movie%29%2C%20I%20wrote%20an%20Omegle%20script%20f" title="LinkedIn" onclick="pageTracker._trackPageview('/outgoing/www.linkedin.com/shareArticle?mini=true_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F_amp_title=omirssi_3A_20An_20Omegle_20irssi_20plugin_amp_source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr_amp_summary=Sometimes_20I_20really_20hate_20going_20home._20I_27m_20on_20Christmas_20break_2C_20and_20I_27ve_20spent_20the_20majority_20of_20my_20time_20just_20watching_20movies_20in_20my_20basement._20I_20got_20really_20bored_2C_20so_20yesterday_20morning_20while_20I_20was_20watching_20_22Juno_22_20_28love_20that_20movie_29_2C_20I_20wrote_20an_20Omegle_20script_20f&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F&amp;title=omirssi%3A%20An%20Omegle%20irssi%20plugin" title="Live" onclick="pageTracker._trackPageview('/outgoing/favorites.live.com/quickadd.aspx?marklet=1_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F_amp_title=omirssi_3A_20An_20Omegle_20irssi_20plugin&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F&amp;title=omirssi%3A%20An%20Omegle%20irssi%20plugin" title="Reddit" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F_amp_title=omirssi_3A_20An_20Omegle_20irssi_20plugin&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=omirssi%3A%20An%20Omegle%20irssi%20plugin&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F" title="Slashdot" onclick="pageTracker._trackPageview('/outgoing/slashdot.org/bookmark.pl?title=omirssi_3A_20An_20Omegle_20irssi_20plugin_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F&amp;title=omirssi%3A%20An%20Omegle%20irssi%20plugin" title="StumbleUpon" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F_amp_title=omirssi_3A_20An_20Omegle_20irssi_20plugin&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F&amp;t=omirssi%3A%20An%20Omegle%20irssi%20plugin&amp;s=Sometimes%20I%20really%20hate%20going%20home.%20I%27m%20on%20Christmas%20break%2C%20and%20I%27ve%20spent%20the%20majority%20of%20my%20time%20just%20watching%20movies%20in%20my%20basement.%20I%20got%20really%20bored%2C%20so%20yesterday%20morning%20while%20I%20was%20watching%20%22Juno%22%20%28love%20that%20movie%29%2C%20I%20wrote%20an%20Omegle%20script%20f" title="Tumblr" onclick="pageTracker._trackPageview('/outgoing/www.tumblr.com/share?v=3_amp_u=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F_amp_t=omirssi_3A_20An_20Omegle_20irssi_20plugin_amp_s=Sometimes_20I_20really_20hate_20going_20home._20I_27m_20on_20Christmas_20break_2C_20and_20I_27ve_20spent_20the_20majority_20of_20my_20time_20just_20watching_20movies_20in_20my_20basement._20I_20got_20really_20bored_2C_20so_20yesterday_20morning_20while_20I_20was_20watching_20_22Juno_22_20_28love_20that_20movie_29_2C_20I_20wrote_20an_20Omegle_20script_20f&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://twitter.com/home?status=omirssi%3A%20An%20Omegle%20irssi%20plugin%20-%20http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F25%2Fomirssi-an-omegle-irssi-plugin%2F" title="Twitter" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=omirssi_3A_20An_20Omegle_20irssi_20plugin_20-_20http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F25_2Fomirssi-an-omegle-irssi-plugin_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.worrbase.com/2009/12/25/omirssi-an-omegle-irssi-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl, Apache2::Request, and uploading files</title>
		<link>http://www.worrbase.com/2009/12/07/perl-apache2request-and-uploading-files/</link>
		<comments>http://www.worrbase.com/2009/12/07/perl-apache2request-and-uploading-files/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 10:09:14 +0000</pubDate>
		<dc:creator>worr</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Systems Administration]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[csh]]></category>
		<category><![CDATA[file uploads]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[mason]]></category>
		<category><![CDATA[netboot]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.worrbase.com/?p=13</guid>
		<description><![CDATA[So I started writing a netboot server for floor. I decided to start writing the web interface first, and learn myself some mason, web perl, and database-y things. Also found some things out about the process that were a little undocumented/misdocumented (now a word).
The biggest issue (so far) was file uploads. So here&#8217;s a quick [...]]]></description>
			<content:encoded><![CDATA[<p>So I started writing a netboot server for floor. I decided to start writing the web interface first, and learn myself some mason, web perl, and database-y things. Also found some things out about the process that were a little undocumented/misdocumented (now a word).</p>
<p>The biggest issue (so far) was file uploads. So here&#8217;s a quick tutorial on how to do file uploads with perl, with mason.</p>
<p>In index.html (or wherever your form HTML code lives):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form method=&quot;post&quot; action=&quot;upload.mas&quot; enctype=&quot;multipart/form-data&quot;&gt;
  &lt;input type=&quot;file&quot; name=&quot;file_name&quot; /&gt;&lt;br /&gt;
  &lt;input type=&quot;submit&quot; value=&quot;Submit&quot; /&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p>In upload.mas:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #339933;">&lt;</span><span style="color: #0000ff;">%init</span><span style="color: #339933;">&gt;</span>
    <span style="color: #000000; font-weight: bold;">use</span> Apache2<span style="color: #339933;">::</span><span style="color: #006600;">Upload</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;"># $r is an Apache2::RequestRec, not an Apache2::Request like some places say it is</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$req</span> <span style="color: #339933;">=</span> Apache2<span style="color: #339933;">::</span><span style="color: #006600;">Request</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$r</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;"># file_name refers to the form name you had in your HTML</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$upload</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$req</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">upload</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'file_name'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$fh</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$upload</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">fh</span><span style="color: #339933;">;</span>
    <span style="color: #000066;">open</span> OUTFILE<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;&gt;$where_ever_you_wanna_save_the)file&quot;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066;">binmode</span> <span style="color: #0000ff;">$fh</span><span style="color: #339933;">;</span>
    <span style="color: #000066;">binmode</span> OUTFILE<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066;">print</span> OUTFILE <span style="color: #0000ff;">$line</span> <span style="color: #b1b100;">foreach</span> <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$line</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">&lt;</span><span style="color: #0000ff;">$fh</span><span style="color: #339933;">&gt;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066;">close</span> OUTFILE<span style="color: #339933;">;</span>
    <span style="color: #000066;">close</span> <span style="color: #0000ff;">$fh</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span><span style="color: #0000ff;">%init</span><span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>In your httpd.conf:</p>
<pre>APREQ2_READLIMIT 2G # Sets the max size of your user's uploads to 2GB</pre>
<p>I intentionally skipped over error handling code and all of the httpd.conf config for the sake of brevity (I did say brief tutorial). Since I need to allow for larger file sizes than Apache does by default (64MB), I spent quite some time looking for that Apache directive.</p>
<p>Hopefully this saves someone some time.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this post:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F&amp;title=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files&amp;bodytext=So%20I%20started%20writing%20a%20netboot%20server%20for%20floor.%20I%20decided%20to%20start%20writing%20the%20web%20interface%20first%2C%20and%20learn%20myself%20some%20mason%2C%20web%20perl%2C%20and%20database-y%20things.%20Also%20found%20some%20things%20out%20about%20the%20process%20that%20were%20a%20little%20undocumented%2Fmisdocumen" title="Digg" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F_amp_title=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files_amp_bodytext=So_20I_20started_20writing_20a_20netboot_20server_20for_20floor._20I_20decided_20to_20start_20writing_20the_20web_20interface_20first_2C_20and_20learn_20myself_20some_20mason_2C_20web_20perl_2C_20and_20database-y_20things._20Also_20found_20some_20things_20out_20about_20the_20process_20that_20were_20a_20little_20undocumented_2Fmisdocumen&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F&amp;title=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files&amp;notes=So%20I%20started%20writing%20a%20netboot%20server%20for%20floor.%20I%20decided%20to%20start%20writing%20the%20web%20interface%20first%2C%20and%20learn%20myself%20some%20mason%2C%20web%20perl%2C%20and%20database-y%20things.%20Also%20found%20some%20things%20out%20about%20the%20process%20that%20were%20a%20little%20undocumented%2Fmisdocumen" title="del.icio.us" onclick="pageTracker._trackPageview('/outgoing/delicious.com/post?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F_amp_title=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files_amp_notes=So_20I_20started_20writing_20a_20netboot_20server_20for_20floor._20I_20decided_20to_20start_20writing_20the_20web_20interface_20first_2C_20and_20learn_20myself_20some_20mason_2C_20web_20perl_2C_20and_20database-y_20things._20Also_20found_20some_20things_20out_20about_20the_20process_20that_20were_20a_20little_20undocumented_2Fmisdocumen&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F&amp;t=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files" title="Facebook" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/share.php?u=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F_amp_t=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F&amp;title=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files&amp;annotation=So%20I%20started%20writing%20a%20netboot%20server%20for%20floor.%20I%20decided%20to%20start%20writing%20the%20web%20interface%20first%2C%20and%20learn%20myself%20some%20mason%2C%20web%20perl%2C%20and%20database-y%20things.%20Also%20found%20some%20things%20out%20about%20the%20process%20that%20were%20a%20little%20undocumented%2Fmisdocumen" title="Google Bookmarks" onclick="pageTracker._trackPageview('/outgoing/www.google.com/bookmarks/mark?op=edit_amp_bkmk=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F_amp_title=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files_amp_annotation=So_20I_20started_20writing_20a_20netboot_20server_20for_20floor._20I_20decided_20to_20start_20writing_20the_20web_20interface_20first_2C_20and_20learn_20myself_20some_20mason_2C_20web_20perl_2C_20and_20database-y_20things._20Also_20found_20some_20things_20out_20about_20the_20process_20that_20were_20a_20little_20undocumented_2Fmisdocumen&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.friendfeed.com/share?title=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files&amp;link=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F" title="FriendFeed" onclick="pageTracker._trackPageview('/outgoing/www.friendfeed.com/share?title=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files_amp_link=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F" title="Identi.ca" onclick="pageTracker._trackPageview('/outgoing/identi.ca/notice/new?status_textarea=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F&amp;title=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files&amp;source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr&amp;summary=So%20I%20started%20writing%20a%20netboot%20server%20for%20floor.%20I%20decided%20to%20start%20writing%20the%20web%20interface%20first%2C%20and%20learn%20myself%20some%20mason%2C%20web%20perl%2C%20and%20database-y%20things.%20Also%20found%20some%20things%20out%20about%20the%20process%20that%20were%20a%20little%20undocumented%2Fmisdocumen" title="LinkedIn" onclick="pageTracker._trackPageview('/outgoing/www.linkedin.com/shareArticle?mini=true_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F_amp_title=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files_amp_source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr_amp_summary=So_20I_20started_20writing_20a_20netboot_20server_20for_20floor._20I_20decided_20to_20start_20writing_20the_20web_20interface_20first_2C_20and_20learn_20myself_20some_20mason_2C_20web_20perl_2C_20and_20database-y_20things._20Also_20found_20some_20things_20out_20about_20the_20process_20that_20were_20a_20little_20undocumented_2Fmisdocumen&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F&amp;title=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files" title="Live" onclick="pageTracker._trackPageview('/outgoing/favorites.live.com/quickadd.aspx?marklet=1_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F_amp_title=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F&amp;title=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files" title="Reddit" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F_amp_title=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F" title="Slashdot" onclick="pageTracker._trackPageview('/outgoing/slashdot.org/bookmark.pl?title=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F&amp;title=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files" title="StumbleUpon" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F_amp_title=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F&amp;t=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files&amp;s=So%20I%20started%20writing%20a%20netboot%20server%20for%20floor.%20I%20decided%20to%20start%20writing%20the%20web%20interface%20first%2C%20and%20learn%20myself%20some%20mason%2C%20web%20perl%2C%20and%20database-y%20things.%20Also%20found%20some%20things%20out%20about%20the%20process%20that%20were%20a%20little%20undocumented%2Fmisdocumen" title="Tumblr" onclick="pageTracker._trackPageview('/outgoing/www.tumblr.com/share?v=3_amp_u=http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F_amp_t=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files_amp_s=So_20I_20started_20writing_20a_20netboot_20server_20for_20floor._20I_20decided_20to_20start_20writing_20the_20web_20interface_20first_2C_20and_20learn_20myself_20some_20mason_2C_20web_20perl_2C_20and_20database-y_20things._20Also_20found_20some_20things_20out_20about_20the_20process_20that_20were_20a_20little_20undocumented_2Fmisdocumen&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://twitter.com/home?status=Perl%2C%20Apache2%3A%3ARequest%2C%20and%20uploading%20files%20-%20http%3A%2F%2Fwww.worrbase.com%2F2009%2F12%2F07%2Fperl-apache2request-and-uploading-files%2F" title="Twitter" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Perl_2C_20Apache2_3A_3ARequest_2C_20and_20uploading_20files_20-_20http_3A_2F_2Fwww.worrbase.com_2F2009_2F12_2F07_2Fperl-apache2request-and-uploading-files_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.worrbase.com/2009/12/07/perl-apache2request-and-uploading-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Work Weekend Part II</title>
		<link>http://www.worrbase.com/2009/10/19/project-work-weekend-part-ii/</link>
		<comments>http://www.worrbase.com/2009/10/19/project-work-weekend-part-ii/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 07:37:15 +0000</pubDate>
		<dc:creator>worr</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Systems Administration]]></category>
		<category><![CDATA[cs]]></category>
		<category><![CDATA[csh]]></category>
		<category><![CDATA[omegle]]></category>
		<category><![CDATA[opcomm]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://www.worrbase.com/?p=8</guid>
		<description><![CDATA[Yesterday ended up being extraordinarily productive for me. I learned GTK+ in perl, and wrote the GUI for my Omegle app. It&#8217;s looking decent, although there is this annoying issue with the menu bar that&#8217;s bothering me a bit. It&#8217;s very simple, but I can&#8217;t really think of any other features to put in the [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday ended up being extraordinarily productive for me. I learned GTK+ in perl, and wrote the GUI for my Omegle app. It&#8217;s looking decent, although there is this annoying issue with the menu bar that&#8217;s bothering me a bit. It&#8217;s very simple, but I can&#8217;t really think of any other features to put in the GUI.</p>
<p>I also got a bunch of the abstraction for my CS project done today. But that wasn&#8217;t that much code. Oh well.</p>
<p>Also, in the middle of this post, got roped into helping fix our Xen management interface. And by help, I meant I installed Ubuntu server (ugh) on a machine and installed openssh. Woo.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this post:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F&amp;title=Project%20Work%20Weekend%20Part%20II&amp;bodytext=Yesterday%20ended%20up%20being%20extraordinarily%20productive%20for%20me.%20I%20learned%20GTK%2B%20in%20perl%2C%20and%20wrote%20the%20GUI%20for%20my%20Omegle%20app.%20It%27s%20looking%20decent%2C%20although%20there%20is%20this%20annoying%20issue%20with%20the%20menu%20bar%20that%27s%20bothering%20me%20a%20bit.%20It%27s%20very%20simple%2C%20but%20I%20c" title="Digg" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F_amp_title=Project_20Work_20Weekend_20Part_20II_amp_bodytext=Yesterday_20ended_20up_20being_20extraordinarily_20productive_20for_20me._20I_20learned_20GTK_2B_20in_20perl_2C_20and_20wrote_20the_20GUI_20for_20my_20Omegle_20app._20It_27s_20looking_20decent_2C_20although_20there_20is_20this_20annoying_20issue_20with_20the_20menu_20bar_20that_27s_20bothering_20me_20a_20bit._20It_27s_20very_20simple_2C_20but_20I_20c&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F&amp;title=Project%20Work%20Weekend%20Part%20II&amp;notes=Yesterday%20ended%20up%20being%20extraordinarily%20productive%20for%20me.%20I%20learned%20GTK%2B%20in%20perl%2C%20and%20wrote%20the%20GUI%20for%20my%20Omegle%20app.%20It%27s%20looking%20decent%2C%20although%20there%20is%20this%20annoying%20issue%20with%20the%20menu%20bar%20that%27s%20bothering%20me%20a%20bit.%20It%27s%20very%20simple%2C%20but%20I%20c" title="del.icio.us" onclick="pageTracker._trackPageview('/outgoing/delicious.com/post?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F_amp_title=Project_20Work_20Weekend_20Part_20II_amp_notes=Yesterday_20ended_20up_20being_20extraordinarily_20productive_20for_20me._20I_20learned_20GTK_2B_20in_20perl_2C_20and_20wrote_20the_20GUI_20for_20my_20Omegle_20app._20It_27s_20looking_20decent_2C_20although_20there_20is_20this_20annoying_20issue_20with_20the_20menu_20bar_20that_27s_20bothering_20me_20a_20bit._20It_27s_20very_20simple_2C_20but_20I_20c&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F&amp;t=Project%20Work%20Weekend%20Part%20II" title="Facebook" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/share.php?u=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F_amp_t=Project_20Work_20Weekend_20Part_20II&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F&amp;title=Project%20Work%20Weekend%20Part%20II&amp;annotation=Yesterday%20ended%20up%20being%20extraordinarily%20productive%20for%20me.%20I%20learned%20GTK%2B%20in%20perl%2C%20and%20wrote%20the%20GUI%20for%20my%20Omegle%20app.%20It%27s%20looking%20decent%2C%20although%20there%20is%20this%20annoying%20issue%20with%20the%20menu%20bar%20that%27s%20bothering%20me%20a%20bit.%20It%27s%20very%20simple%2C%20but%20I%20c" title="Google Bookmarks" onclick="pageTracker._trackPageview('/outgoing/www.google.com/bookmarks/mark?op=edit_amp_bkmk=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F_amp_title=Project_20Work_20Weekend_20Part_20II_amp_annotation=Yesterday_20ended_20up_20being_20extraordinarily_20productive_20for_20me._20I_20learned_20GTK_2B_20in_20perl_2C_20and_20wrote_20the_20GUI_20for_20my_20Omegle_20app._20It_27s_20looking_20decent_2C_20although_20there_20is_20this_20annoying_20issue_20with_20the_20menu_20bar_20that_27s_20bothering_20me_20a_20bit._20It_27s_20very_20simple_2C_20but_20I_20c&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.friendfeed.com/share?title=Project%20Work%20Weekend%20Part%20II&amp;link=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F" title="FriendFeed" onclick="pageTracker._trackPageview('/outgoing/www.friendfeed.com/share?title=Project_20Work_20Weekend_20Part_20II_amp_link=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F" title="Identi.ca" onclick="pageTracker._trackPageview('/outgoing/identi.ca/notice/new?status_textarea=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F&amp;title=Project%20Work%20Weekend%20Part%20II&amp;source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr&amp;summary=Yesterday%20ended%20up%20being%20extraordinarily%20productive%20for%20me.%20I%20learned%20GTK%2B%20in%20perl%2C%20and%20wrote%20the%20GUI%20for%20my%20Omegle%20app.%20It%27s%20looking%20decent%2C%20although%20there%20is%20this%20annoying%20issue%20with%20the%20menu%20bar%20that%27s%20bothering%20me%20a%20bit.%20It%27s%20very%20simple%2C%20but%20I%20c" title="LinkedIn" onclick="pageTracker._trackPageview('/outgoing/www.linkedin.com/shareArticle?mini=true_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F_amp_title=Project_20Work_20Weekend_20Part_20II_amp_source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr_amp_summary=Yesterday_20ended_20up_20being_20extraordinarily_20productive_20for_20me._20I_20learned_20GTK_2B_20in_20perl_2C_20and_20wrote_20the_20GUI_20for_20my_20Omegle_20app._20It_27s_20looking_20decent_2C_20although_20there_20is_20this_20annoying_20issue_20with_20the_20menu_20bar_20that_27s_20bothering_20me_20a_20bit._20It_27s_20very_20simple_2C_20but_20I_20c&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F&amp;title=Project%20Work%20Weekend%20Part%20II" title="Live" onclick="pageTracker._trackPageview('/outgoing/favorites.live.com/quickadd.aspx?marklet=1_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F_amp_title=Project_20Work_20Weekend_20Part_20II&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F&amp;title=Project%20Work%20Weekend%20Part%20II" title="Reddit" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F_amp_title=Project_20Work_20Weekend_20Part_20II&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=Project%20Work%20Weekend%20Part%20II&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F" title="Slashdot" onclick="pageTracker._trackPageview('/outgoing/slashdot.org/bookmark.pl?title=Project_20Work_20Weekend_20Part_20II_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F&amp;title=Project%20Work%20Weekend%20Part%20II" title="StumbleUpon" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F_amp_title=Project_20Work_20Weekend_20Part_20II&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F&amp;t=Project%20Work%20Weekend%20Part%20II&amp;s=Yesterday%20ended%20up%20being%20extraordinarily%20productive%20for%20me.%20I%20learned%20GTK%2B%20in%20perl%2C%20and%20wrote%20the%20GUI%20for%20my%20Omegle%20app.%20It%27s%20looking%20decent%2C%20although%20there%20is%20this%20annoying%20issue%20with%20the%20menu%20bar%20that%27s%20bothering%20me%20a%20bit.%20It%27s%20very%20simple%2C%20but%20I%20c" title="Tumblr" onclick="pageTracker._trackPageview('/outgoing/www.tumblr.com/share?v=3_amp_u=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F_amp_t=Project_20Work_20Weekend_20Part_20II_amp_s=Yesterday_20ended_20up_20being_20extraordinarily_20productive_20for_20me._20I_20learned_20GTK_2B_20in_20perl_2C_20and_20wrote_20the_20GUI_20for_20my_20Omegle_20app._20It_27s_20looking_20decent_2C_20although_20there_20is_20this_20annoying_20issue_20with_20the_20menu_20bar_20that_27s_20bothering_20me_20a_20bit._20It_27s_20very_20simple_2C_20but_20I_20c&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://twitter.com/home?status=Project%20Work%20Weekend%20Part%20II%20-%20http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F19%2Fproject-work-weekend-part-ii%2F" title="Twitter" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Project_20Work_20Weekend_20Part_20II_20-_20http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F19_2Fproject-work-weekend-part-ii_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.worrbase.com/2009/10/19/project-work-weekend-part-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Project Work Weekend Part I</title>
		<link>http://www.worrbase.com/2009/10/17/project-work-weekend-part-i/</link>
		<comments>http://www.worrbase.com/2009/10/17/project-work-weekend-part-i/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 21:51:49 +0000</pubDate>
		<dc:creator>worr</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[cs]]></category>
		<category><![CDATA[csh]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[omegle]]></category>
		<category><![CDATA[oo]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.worrbase.com/?p=7</guid>
		<description><![CDATA[So CSH is holding its first &#8220;Project Work Weekend&#8221; of the year, and so far, it&#8217;s kinda been productive. Personally, I got a lot of work done. I&#8217;ve been kinda productive. I worked a little bit on my Omegle application that I&#8217;ve been playing with in my head, and I definitely got some of my [...]]]></description>
			<content:encoded><![CDATA[<p>So CSH is holding its first &#8220;Project Work Weekend&#8221; of the year, and so far, it&#8217;s kinda been productive. Personally, I got a lot of work done. I&#8217;ve been kinda productive. I worked a little bit on my Omegle application that I&#8217;ve been playing with in my head, and I definitely got some of my CS project done.</p>
<p>For my CS project, me and a partner have to write a game playing framework, and then a bunch of pluggable games for the framework. It&#8217;s a lot easier than it sounds, as they&#8217;re all little command line games like take away, kayles, or connect 3. It&#8217;s still pretty cool though. It&#8217;s weird to be working with objects again after mostly programming in C this summer. But yeah, so the project is coming along. It&#8217;s nice, because right now I only really have to write the abstract framework while my partner writes the game parts that inherit from my framework. Also I have to fix the old game. But whatever, that should be easy.</p>
<p>My Omegle app is coming along slowly. Trying to figure out perl GTK+ while figuring out perl OO while figuring out the ill-documented WWW::Omegle perl module. Fun times. Actually, typing this made me realize I should OO it up a little more. Gonna go back to work after this post.</p>
<p>I definitely need to finish up the slides for the presentations I&#8217;m gonna give CSH. I&#8217;m gonna publish them on here too, under a new &#8220;Presentations&#8221; section. It should look pretty hot.</p>
<p>Anyway, I should go back to being productive, cause I haven&#8217;t done as much as I wanted.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this post:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F&amp;title=Project%20Work%20Weekend%20Part%20I&amp;bodytext=So%20CSH%20is%20holding%20its%20first%20%22Project%20Work%20Weekend%22%20of%20the%20year%2C%20and%20so%20far%2C%20it%27s%20kinda%20been%20productive.%20Personally%2C%20I%20got%20a%20lot%20of%20work%20done.%20I%27ve%20been%20kinda%20productive.%20I%20worked%20a%20little%20bit%20on%20my%20Omegle%20application%20that%20I%27ve%20been%20playing%20with%20in%20my" title="Digg" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F_amp_title=Project_20Work_20Weekend_20Part_20I_amp_bodytext=So_20CSH_20is_20holding_20its_20first_20_22Project_20Work_20Weekend_22_20of_20the_20year_2C_20and_20so_20far_2C_20it_27s_20kinda_20been_20productive._20Personally_2C_20I_20got_20a_20lot_20of_20work_20done._20I_27ve_20been_20kinda_20productive._20I_20worked_20a_20little_20bit_20on_20my_20Omegle_20application_20that_20I_27ve_20been_20playing_20with_20in_20my&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F&amp;title=Project%20Work%20Weekend%20Part%20I&amp;notes=So%20CSH%20is%20holding%20its%20first%20%22Project%20Work%20Weekend%22%20of%20the%20year%2C%20and%20so%20far%2C%20it%27s%20kinda%20been%20productive.%20Personally%2C%20I%20got%20a%20lot%20of%20work%20done.%20I%27ve%20been%20kinda%20productive.%20I%20worked%20a%20little%20bit%20on%20my%20Omegle%20application%20that%20I%27ve%20been%20playing%20with%20in%20my" title="del.icio.us" onclick="pageTracker._trackPageview('/outgoing/delicious.com/post?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F_amp_title=Project_20Work_20Weekend_20Part_20I_amp_notes=So_20CSH_20is_20holding_20its_20first_20_22Project_20Work_20Weekend_22_20of_20the_20year_2C_20and_20so_20far_2C_20it_27s_20kinda_20been_20productive._20Personally_2C_20I_20got_20a_20lot_20of_20work_20done._20I_27ve_20been_20kinda_20productive._20I_20worked_20a_20little_20bit_20on_20my_20Omegle_20application_20that_20I_27ve_20been_20playing_20with_20in_20my&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F&amp;t=Project%20Work%20Weekend%20Part%20I" title="Facebook" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/share.php?u=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F_amp_t=Project_20Work_20Weekend_20Part_20I&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F&amp;title=Project%20Work%20Weekend%20Part%20I&amp;annotation=So%20CSH%20is%20holding%20its%20first%20%22Project%20Work%20Weekend%22%20of%20the%20year%2C%20and%20so%20far%2C%20it%27s%20kinda%20been%20productive.%20Personally%2C%20I%20got%20a%20lot%20of%20work%20done.%20I%27ve%20been%20kinda%20productive.%20I%20worked%20a%20little%20bit%20on%20my%20Omegle%20application%20that%20I%27ve%20been%20playing%20with%20in%20my" title="Google Bookmarks" onclick="pageTracker._trackPageview('/outgoing/www.google.com/bookmarks/mark?op=edit_amp_bkmk=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F_amp_title=Project_20Work_20Weekend_20Part_20I_amp_annotation=So_20CSH_20is_20holding_20its_20first_20_22Project_20Work_20Weekend_22_20of_20the_20year_2C_20and_20so_20far_2C_20it_27s_20kinda_20been_20productive._20Personally_2C_20I_20got_20a_20lot_20of_20work_20done._20I_27ve_20been_20kinda_20productive._20I_20worked_20a_20little_20bit_20on_20my_20Omegle_20application_20that_20I_27ve_20been_20playing_20with_20in_20my&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.friendfeed.com/share?title=Project%20Work%20Weekend%20Part%20I&amp;link=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F" title="FriendFeed" onclick="pageTracker._trackPageview('/outgoing/www.friendfeed.com/share?title=Project_20Work_20Weekend_20Part_20I_amp_link=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F" title="Identi.ca" onclick="pageTracker._trackPageview('/outgoing/identi.ca/notice/new?status_textarea=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F&amp;title=Project%20Work%20Weekend%20Part%20I&amp;source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr&amp;summary=So%20CSH%20is%20holding%20its%20first%20%22Project%20Work%20Weekend%22%20of%20the%20year%2C%20and%20so%20far%2C%20it%27s%20kinda%20been%20productive.%20Personally%2C%20I%20got%20a%20lot%20of%20work%20done.%20I%27ve%20been%20kinda%20productive.%20I%20worked%20a%20little%20bit%20on%20my%20Omegle%20application%20that%20I%27ve%20been%20playing%20with%20in%20my" title="LinkedIn" onclick="pageTracker._trackPageview('/outgoing/www.linkedin.com/shareArticle?mini=true_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F_amp_title=Project_20Work_20Weekend_20Part_20I_amp_source=worrbase+Highlighting+the+thrilling+adventures+of+William+Orr_amp_summary=So_20CSH_20is_20holding_20its_20first_20_22Project_20Work_20Weekend_22_20of_20the_20year_2C_20and_20so_20far_2C_20it_27s_20kinda_20been_20productive._20Personally_2C_20I_20got_20a_20lot_20of_20work_20done._20I_27ve_20been_20kinda_20productive._20I_20worked_20a_20little_20bit_20on_20my_20Omegle_20application_20that_20I_27ve_20been_20playing_20with_20in_20my&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F&amp;title=Project%20Work%20Weekend%20Part%20I" title="Live" onclick="pageTracker._trackPageview('/outgoing/favorites.live.com/quickadd.aspx?marklet=1_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F_amp_title=Project_20Work_20Weekend_20Part_20I&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F&amp;title=Project%20Work%20Weekend%20Part%20I" title="Reddit" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F_amp_title=Project_20Work_20Weekend_20Part_20I&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=Project%20Work%20Weekend%20Part%20I&amp;url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F" title="Slashdot" onclick="pageTracker._trackPageview('/outgoing/slashdot.org/bookmark.pl?title=Project_20Work_20Weekend_20Part_20I_amp_url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F&amp;title=Project%20Work%20Weekend%20Part%20I" title="StumbleUpon" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F_amp_title=Project_20Work_20Weekend_20Part_20I&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F&amp;t=Project%20Work%20Weekend%20Part%20I&amp;s=So%20CSH%20is%20holding%20its%20first%20%22Project%20Work%20Weekend%22%20of%20the%20year%2C%20and%20so%20far%2C%20it%27s%20kinda%20been%20productive.%20Personally%2C%20I%20got%20a%20lot%20of%20work%20done.%20I%27ve%20been%20kinda%20productive.%20I%20worked%20a%20little%20bit%20on%20my%20Omegle%20application%20that%20I%27ve%20been%20playing%20with%20in%20my" title="Tumblr" onclick="pageTracker._trackPageview('/outgoing/www.tumblr.com/share?v=3_amp_u=http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F_amp_t=Project_20Work_20Weekend_20Part_20I_amp_s=So_20CSH_20is_20holding_20its_20first_20_22Project_20Work_20Weekend_22_20of_20the_20year_2C_20and_20so_20far_2C_20it_27s_20kinda_20been_20productive._20Personally_2C_20I_20got_20a_20lot_20of_20work_20done._20I_27ve_20been_20kinda_20productive._20I_20worked_20a_20little_20bit_20on_20my_20Omegle_20application_20that_20I_27ve_20been_20playing_20with_20in_20my&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://twitter.com/home?status=Project%20Work%20Weekend%20Part%20I%20-%20http%3A%2F%2Fwww.worrbase.com%2F2009%2F10%2F17%2Fproject-work-weekend-part-i%2F" title="Twitter" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Project_20Work_20Weekend_20Part_20I_20-_20http_3A_2F_2Fwww.worrbase.com_2F2009_2F10_2F17_2Fproject-work-weekend-part-i_2F&amp;referer=');"><img src="http://www.worrbase.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.worrbase.com/2009/10/17/project-work-weekend-part-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
