<?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>Navarr&#039;s Tech Side &#187; TwCLI</title>
	<atom:link href="http://tech.navarr.me/topics/code/php-code/twcli/feed" rel="self" type="application/rss+xml" />
	<link>http://tech.navarr.me</link>
	<description>The Technical Side of my Life</description>
	<lastBuildDate>Tue, 07 Feb 2012 22:32:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<cloud domain='tech.navarr.me' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>TwCLI</title>
		<link>http://tech.navarr.me/2010/03/twcli.html</link>
		<comments>http://tech.navarr.me/2010/03/twcli.html#comments</comments>
		<pubDate>Mon, 01 Mar 2010 10:48:09 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[TwCLI]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2010/03/twcli.html</guid>
		<description><![CDATA[So, you think you’ve had a lot of fun with twitter on the web and all those twitter clients you’ve played around with?&#160; What if I told you that you haven’t seen anything yet?&#160; What if I told you that you could use Twitter in a TRUE Command Line Interface with specific commands for interacting [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twcli.koneko-chan.net/"><img style="display: inline; margin-left: 0px; margin-right: 0px" align="right" src="http://twcli.koneko-chan.net/img/logo.png" /></a>So, you think you’ve had a lot of fun with twitter on the web and all those twitter clients you’ve played around with?&#160; What if I told you that you haven’t seen anything yet?&#160; What if I told you that you could use Twitter in a TRUE Command Line Interface with specific commands for interacting with twitter.</p>
<p>Welcome to one of my latest and greatest creations, <a href="http://twcli.koneko-chan.net/"><abbr title="Twitter Command Line Interface">TwCLI</abbr></a>.</p>
<p>TwCLI supports almost everything twitter has to offer, and will soon be expanding to support even more!&#160; <a href="http://tech.gtaero.net/wp-content/uploads/2010/03/image3.png" rel="lightbox[392]"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="TwCLI (Click to Enlarge)" alt="TwCLI (Click to Enlarge)" src="http://tech.gtaero.net/wp-content/uploads/2010/03/image_thumb3.png" width="500" height="404" /></a> TwCLI includes a long list of commands, help information for each command, a theme-able interface (Specify a Pre-Determined theme, import from your twitter profile, or even specify an external CSS file!), Geo-Location, Retweets, and even Contributor Support!</p>
<p>Go ahead, <a href="http://twcli.koneko-chan.net/">give it a try</a> and tell me what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2010/03/twcli.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hunting Down the Bugs &#8211; TwCLI on Chrome for Linux Beta</title>
		<link>http://tech.navarr.me/2009/12/hunting-down-the-bugs-twcli-on-chrome-for-linux-beta.html</link>
		<comments>http://tech.navarr.me/2009/12/hunting-down-the-bugs-twcli-on-chrome-for-linux-beta.html#comments</comments>
		<pubDate>Tue, 15 Dec 2009 18:51:17 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Hunting Down the Bugs]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[TwCLI]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2009/12/hunting-down-the-bugs-twcli-on-chrome-for-linux-beta.html</guid>
		<description><![CDATA[This is the first post of a new series, looking at some of the odder bugs encountered while developing for the expanding Web, no matter how basic a bug it may be. Thanks to twitter user @paperfairy, a bug was discovered on my Command Line Twitter Client, TwCLI. For some reason, when submitting a command [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the first post of a new series, looking at some of the odder bugs encountered while developing for the expanding Web, no matter how basic a bug it may be.</em></p>
<p>Thanks to twitter user @<a href="http://twitter.com/paperfairy" rel="nofollow">paperfairy</a>, a bug was discovered on my Command Line Twitter Client, <a title="Twitter Command Line Interface" href="http://twcli.koneko-chan.net/" rel="me">TwCLI</a>.</p>
<p>For some reason, when submitting a command in Chrome for Linux, the page would simply refresh, and the command would never be sent.&#160; At first, I had no possible way to track down this bug.&#160; I didn’t have a linux box (with a GUI, anyway) so I simply told him that it was unfortunate, but it’d have to stay a bug.&#160; Until a <a href="http://lifehacker.com/5426007/most-popular-free-windows-downloads-of-2009" rel="nofollow">recent post on lifehacker</a> brought my attention to <a href="http://lifehacker.com/5195999/portable-ubuntu-runs-ubuntu-inside-windows">Portable Ubuntu</a>. I immediately installed it, opened up the Chrome website in Firiefox, installed Chrome Beta, and headed over to TwCLI to see what was amiss.</p>
<p>Of course, it was a single line in a detection script to send Geo-Data to Twitter (as long as the user approved it, of course):</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">else</span> <span style="color: #0000ff">if</span>(google.gears) {</pre>
<p><!--CRLF--></div>
</div>
<p>This single line was throwing an exception I hadn’t encountered in other browsers – Google wasn’t defined.&#160; Oddly, I thought it would handle that properly, since google wasn’t defined, it would just skip over it, but instead it threw an error and halted all further javascript code.</p>
<p>The fix was simpler than tracking down the bug, I simply had to add this to the start of the javascript code:</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">try</span>{ <span style="color: #0000ff">if</span>(!google) { google = 0; } } <span style="color: #0000ff">catch</span>(err) { google = 0; }</pre>
<p><!--CRLF--></div>
</div>
<p>And voila, I had both a check for google, and a catch if it decided to throw errors while checking for it.</p>
<p>Whether this is a Chrome bug or not, I don’t know – I simply don’t know enough about JavaScript in order to say so either way.&#160; But, are undefined variables supposed to throw errors, or are they simply supposed to return false?</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2009/12/hunting-down-the-bugs-twcli-on-chrome-for-linux-beta.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

