<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.3" -->
<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/"
	>

<channel>
	<title>alexking.org &#187; Software | alexking.org</title>
	<link>http://alexking.org</link>
	<description>Alex King's blog - software, photography, sports, etc.</description>
	<pubDate>Wed, 02 Jul 2008 19:51:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>
	<language>en</language>
			<item>
		<title>Air Install List</title>
		<link>http://alexking.org/blog/2008/06/20/air-install-list</link>
		<comments>http://alexking.org/blog/2008/06/20/air-install-list#comments</comments>
		<pubDate>Sat, 21 Jun 2008 00:08:23 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2008/06/20/air-install-list</guid>
		<description><![CDATA[Since the Air is a little light on hard drive space I&#8217;ve been a little bit picky about what I install on it. It&#8217;s a good way to figure out what your &#8220;must have&#8221; apps are - this is what made the cut for me:

LaunchBar - this is the very first thing I installed. I&#8217;m [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Air Install List", url: "http://alexking.org/blog/2008/06/20/air-install-list" });</script>]]></description>
			<content:encoded><![CDATA[<p>Since the Air is a little light on hard drive space I&#8217;ve been a little bit picky about what I install on it. It&#8217;s a good way to figure out what your &#8220;must have&#8221; apps are - this is what made the cut for me:</p>
<ul>
<li><a href="http://obdev.at/products/launchbar/" rel="external">LaunchBar</a> - this is the very first thing I installed. I&#8217;m hopelessly dependent on it.</li>
<li><a href="http://getfirefox.com" rel="external">Firefox</a> - I&#8217;d like to give Safari <a href="http://alexking.org/blog/2007/01/05/on-safari">another try</a>, but I need someone to build a <a href="http://pwdhash.com" rel="external">PwdHash</a> extension for it before I can really use it. Besides, I still believe Gecko is the best engine to develop on.</li>
<li><a href="http://barebones.com" rel="external">BBEdit</a> - still my #1 text editor.</li>
<li><a href="http://macromates.com" rel="external">TextMate</a> - I&#8217;m now <a href="http://alexking.org/blog/2008/02/23/codeigniter-textmate-bundle-additions">using this</a> for CodeIgniter development.</li>
<li><a href="http://yousoftware.com" rel="external">YouControl Desktops</a> - If I could turn off transitions altogether in Spaces, I might not need this.</li>
<li><a href="http://cocoatech.com" rel="external">Path Finder</a> - a much better Finder.</li>
<li><a href="http://mailtemplate.mactank.com/" rel="external">MailTemplateEditor</a> - I use this 3-5 times a day on average.</li>
<li><a href="http://iconfactory.com/software/twitterrific/" rel="external">Twitteriffic</a> - gotta get <a href="http://alexking.org/blog/2008/01/31/twitter-addiction">my fix</a>.</li>
<li><a href="http://ranchero.com/netnewswire" rel="external">NetNewsWire</a> - an app that deserves more run time than I&#8217;ve been giving it</li>
<li><a href="http://skype.com" rel="external">Skype</a> - for the times when I need it</li>
<li><a href="http://skitch.com" rel="external">Skitch</a> - haven&#8217;t used it much lately but it&#8217;s great for marking up design comps</li>
<li><a href="http://codesorcery.net/pukka" rel="external">Pukka</a> - I blame <a href="http://blackrimglasses.com/" rel="external">Ethan</a> for this one, he got me hooked on Pukka a while back. It&#8217;s a nice lean del.icio.us posting client.</li>
<li><a href="http://www.entropy.ch/software/macosx/welcome.html#leancalc" rel="external">LeanCalc</a> - I use this <em>all</em> the time for quick calculations</li>
<li>iWork (copied over, it wasn&#8217;t too happy about that and complains every time I launch it, but still works)</li>
<li><a href="http://www.codingmonkeys.de/subethaedit/" rel="external">SubEthaEdit</a> - often used to take notes as a team on conf. calls</li>
<li><a href="https://www.pwdhash.com/" rel="external">PwdHash</a> - I&#8217;ve talked about this <a href="http://alexking.org/blog/2007/02/02/passwords">at</a> <a href="http://alexking.org/blog/2007/02/05/more-on-passwords">length</a></li>
<li><a href="http://adiumx.com">Adium</a> - the best IM client out there</li>
<li><a href="http://www.tow.com/msgfiler/" rel="external">MsgFiler</a> - I can&#8217;t use Mail.app without it</li>
<li><a href="http://www.adobe.com/products/creativesuite/" rel="external">Adobe CS3</a> - runs surprisingly well</li>
<li><a href="http://www.islayer.com/index.php?op=item&#038;id=28" rel="external">iStat Menus</a> - the calendar widget is awesome</li>
<li><a href="http://www.stupidfish23.com/shadowclipboard/" rel="external">shadowClipboard</a> - totally reliant on this as well</li>
<li><a href="http://www.vienna-rss.org/" rel="external">Vienna</a> - for private feeds</li>
</ul>
<p>It&#8217;s interesting trying to wittle things down to the essentials. I keep letting little things leak in, but in general I&#8217;ve tried to keep it fairly tight.</p>
<p>What makes your &#8220;must-have&#8221; list?</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=Air+Install+List&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2008%2F06%2F20%2Fair-install-list">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2008/06/20/air-install-list/feed</wfw:commentRss>
		</item>
		<item>
		<title>BusySync, So Far (Mostly) So Good</title>
		<link>http://alexking.org/blog/2008/03/26/busysync-so-far-mostly-so-good</link>
		<comments>http://alexking.org/blog/2008/03/26/busysync-so-far-mostly-so-good#comments</comments>
		<pubDate>Thu, 27 Mar 2008 04:29:03 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2008/03/26/busysync-so-far-mostly-so-good</guid>
		<description><![CDATA[I&#8217;ve had a rather bumpy relationship with SpanningSync, and as a result several friends have recommended I try BusySync 2.0 beta. I&#8217;m very glad they did.
BusySync works differently than SpanningSync. Instead of a service, it works directly with Google Calendar with no intermediary service. It does not suffer from any of the issues I had [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "BusySync, So Far (Mostly) So Good", url: "http://alexking.org/blog/2008/03/26/busysync-so-far-mostly-so-good" });</script>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a rather bumpy relationship with SpanningSync, and as a result several friends have recommended I try <a href="http://busymac.com/" rel="external">BusySync</a> 2.0 beta. I&#8217;m very glad they did.</p>
<p><a href="http://busymac.com/busysync/userguide.html#google" rel="external">BusySync works differently</a> than SpanningSync. Instead of a service, it works directly with Google Calendar with no intermediary service. It does not suffer from any of the <a href="http://alexking.org/blog/2007/12/19/goodbye-spanning-sync">issues I had with SpanningSync</a> (forgetting to sync, forgetting which calendars to sync after an upgrade, stopping working when an upgrade was required - BusySync has Sparkle built-in, and alarms sync).</p>
<p>I&#8217;ve had two issues with BusySync so far:</p>
<ol>
<li>A &#8220;BusySync Conflicts&#8221; calendar has been created a few times on my Tiger desktop; this contains events that BusySync apparently isn&#8217;t sure what to do with. I haven&#8217;t seen this with either of my Leopard machines, so it may be a bug/issue with Tiger.</li>
<li>One of my Leopard machines stopped syncing for a time entirely. I tried the &#8220;Reset Sync History&#8221; options, tried unchecking and rechecking the calendars to sync. It stayed broken for about a week. Finally I deleted all of the calendars locally, reset everything, and re-added them from Google. Since then, smooth sailing.</li>
</ol>
<p>If you need to sync iCal and Google Calendar, I recommend using BusySync based on my experience so far.</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=BusySync%2C+So+Far+%28Mostly%29+So+Good&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2008%2F03%2F26%2Fbusysync-so-far-mostly-so-good">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2008/03/26/busysync-so-far-mostly-so-good/feed</wfw:commentRss>
		</item>
		<item>
		<title>JS Quicktags 1.3.1</title>
		<link>http://alexking.org/blog/2008/03/16/js-quicktags-131</link>
		<comments>http://alexking.org/blog/2008/03/16/js-quicktags-131#comments</comments>
		<pubDate>Mon, 17 Mar 2008 04:14:51 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2008/03/16/js-quicktags-131</guid>
		<description><![CDATA[I&#8217;ve pushed a new version of my JS Quicktags out. This is a bug fix release the catches two spots I missed that needed to be tweaked to support multiple textareas.
<script type="text/javascript">SHARETHIS.addEntry({ title: "JS Quicktags 1.3.1", url: "http://alexking.org/blog/2008/03/16/js-quicktags-131" });</script>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve pushed a new version of my <a href="http://alexking.org/projects/js-quicktags">JS Quicktags</a> out. This is a bug fix release the catches two spots I missed that needed to be tweaked to support multiple <code>textarea</code>s.</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=JS+Quicktags+1.3.1&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2008%2F03%2F16%2Fjs-quicktags-131">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2008/03/16/js-quicktags-131/feed</wfw:commentRss>
		</item>
		<item>
		<title>JS Quicktags 1.3</title>
		<link>http://alexking.org/blog/2008/03/02/js-quicktags-13</link>
		<comments>http://alexking.org/blog/2008/03/02/js-quicktags-13#comments</comments>
		<pubDate>Sun, 02 Mar 2008 23:52:12 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2008/03/02/js-quicktags-13</guid>
		<description><![CDATA[A new version of my JS Quicktags is now available. This release adds a very nice feature, the ability to attach the Quicktags to multiple textarea elements on a page.
This is something I&#8217;d planned to add for ages, but never got around to doing so. Many thanks to Greg Heo for sending me his modifications [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "JS Quicktags 1.3", url: "http://alexking.org/blog/2008/03/02/js-quicktags-13" });</script>]]></description>
			<content:encoded><![CDATA[<p>A new version of my <a href="http://alexking.org/projects/js-quicktags">JS Quicktags</a> is now available. This release adds a very nice feature, the ability to attach the Quicktags to multiple <code>textarea</code> elements on a page.</p>
<p>This is something I&#8217;d planned to add for ages, but never got around to doing so. Many thanks to Greg Heo for sending me his modifications for inclusion in this release. I love it when Open Source works.</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=JS+Quicktags+1.3&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2008%2F03%2F02%2Fjs-quicktags-13">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2008/03/02/js-quicktags-13/feed</wfw:commentRss>
		</item>
		<item>
		<title>CodeIgniter TextMate Bundle Additions</title>
		<link>http://alexking.org/blog/2008/02/23/codeigniter-textmate-bundle-additions</link>
		<comments>http://alexking.org/blog/2008/02/23/codeigniter-textmate-bundle-additions#comments</comments>
		<pubDate>Sun, 24 Feb 2008 00:22:52 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2008/02/23/codeigniter-textmate-bundle-additions</guid>
		<description><![CDATA[After finding the excellent CodeIgniter TextMate Bundle, I&#8217;ve switched to TextMate as my editor of choice for my CodeIgniter development. I&#8217;ve tried switching to TextMate in the past and there is a lot I like about it, however I always end up back with BBEdit for find/replace and other text manipulation tools.
This time though. I [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "CodeIgniter TextMate Bundle Additions", url: "http://alexking.org/blog/2008/02/23/codeigniter-textmate-bundle-additions" });</script>]]></description>
			<content:encoded><![CDATA[<p>After finding the excellent <a href="http://www.sellersrank.com/codeigniter-textmate-bundle-download/" rel="external">CodeIgniter TextMate Bundle</a>, I&#8217;ve switched to <a href="http://macromates.com/" rel="external">TextMate</a> as my editor of choice for my <a href="http://codeigniter.com" rel="external">CodeIgniter</a> development. I&#8217;ve tried switching to TextMate <a href="http://alexking.org/blog/2006/02/22/textmate-has-improved" rel="external">in the past</a> and there is a lot I like about it, however I always end up back with BBEdit for find/replace and other text manipulation tools.</p>
<p>This time though. I think I may be switching to TextMate permanently for CI development. My main annoyance with CI is how verbose some of the syntax is. Shortcutting that is worth quite a lot to me.</p>
<p>I&#8217;ve added a couple of snippets to the CI bundle. Here they are in case anyone else finds them useful.</p>
<p>This gives you a model property - named &#8216;model->property&#8217; with Tab Trigger + cimod assigned:</p>
<div class="code"><code>\$this->${1:Model_name}_model->${2:property}$0</code></div>
<p>This gives you a model method - named &#8216;model->method&#8217; with Tab Trigger + cimod assigned:</p>
<div class="code"><code>\$this->${1:Model_name}_model->${2:method}(${3:args})$0</code></div>
<p>It&#8217;s a little thing, but I&#8217;m quite excited about this and I&#8217;m really looking forward to seeing if I can incorporate these time savers as habits as I&#8217;m doing a little CI work this weekend.</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=CodeIgniter+TextMate+Bundle+Additions&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2008%2F02%2F23%2Fcodeigniter-textmate-bundle-additions">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2008/02/23/codeigniter-textmate-bundle-additions/feed</wfw:commentRss>
		</item>
		<item>
		<title>Surrendering To Google Calendar</title>
		<link>http://alexking.org/blog/2008/01/31/surrendering-to-google-calendar</link>
		<comments>http://alexking.org/blog/2008/01/31/surrendering-to-google-calendar#comments</comments>
		<pubDate>Fri, 01 Feb 2008 02:17:10 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2008/01/31/surrendering-to-google-calendar</guid>
		<description><![CDATA[I surrender!
I tried to make Google Calendar work the way I want to work, but it just won&#8217;t. Instead of fighting against it, I&#8217;m reversing course and doing my best to work with it.
What I Wanted
A little while back, I decided that I needed to start archiving data by year1. I still want it searchable, [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Surrendering To Google Calendar", url: "http://alexking.org/blog/2008/01/31/surrendering-to-google-calendar" });</script>]]></description>
			<content:encoded><![CDATA[<p><em>I surrender!</em></p>
<p>I tried to make Google Calendar work the way I want to work, but it just won&#8217;t. Instead of fighting against it, I&#8217;m reversing course and doing my best to work with it.</p>
<h3>What I Wanted</h3>
<p>A <a href="http://alexking.org/blog/2006/12/20/gcal-notifications">little while back</a>, I decided that I needed to start archiving data by year<sup><a href="#fn1201149363185n" id="fn1201149363185" class="footnote">1</a></sup>. I still want it searchable, etc. but I don&#8217;t need live sync of my 2004 calendar data to my BlackBerry. As such, I made the choice to create a couple different calendars, and create a new one of each every year.</p>
<p>This is what I wanted. Nice annually archived calendars of home, work, etc. Google Calendar does not agree with me.</p>
<h3>Giving in to the Default Calendars</h3>
<p>I&#8217;ve still got my annual calendars for years prior to 2008, but in 2008 I gave in and started using the Default calendar as my personal calendar for 2008 data. Google wants to do everything in the default calendar and using a different calendar as the primary is death by 1000 paper cuts.</p>
<p>My plan is to export this data at the end of the year and import it into a 2008 archival calendar. I&#8217;ve got some basic scripts for this and nearly a year to fix up any minor issues that still remain in them if I need to.</p>
<h3>Personal and Google Apps Calendars</h3>
<p>At <a href="http://crowdfavorite.com">Crowd Favorite</a> we are using Google Apps for our calendaring system. This means I&#8217;ve got two different <nobr> <img src='http://alexking.org/images/smilies/ak_scare1.gif' alt=':scare:' class='wp-smiley' /> Default <img src='http://alexking.org/images/smilies/ak_scare2.gif' alt=':/scare:' class='wp-smiley' /> </nobr> calendars; one in each system (personal and business). While this works well for the most part, it also introduces some limitations around mobile (SMS) integration.</p>
<h3>Sync, Alarms and Notifications</h3>
<p>With the arrival of Google Sync, my BlackBerry calendar and my Google calendars are wonderfully up-to date with over the air sync. You can even <a href="http://alexking.org/blog/2007/12/18/google-calendar-blackberry-sync-disappointment">choose which calendars you want to sync</a>. There are, of course, some limitations.</p>
<p>The main limitation is the attaching of alarms to events in the BlackBerry calendar. This happens for the Default calendar in the account you are syncing<sup><a href="#fn1201831576208n" id="fn1201831576208" class="footnote">2</a></sup>, but it does not attach alarms to events in other calendars you are syncing.</p>
<p>The mobile/SMS integration is another issue. Since you can only register your mobile with one of your calendars (regular Google Calendar or Google Apps Calendar), you can only receive SMS notifications and create events via SMS for one calendar or the other.</p>
<p>Here&#8217;s my workaround:</p>
<p>I&#8217;ve decided to keep my personal Google account as the primary sync account, so I get BlackBerry alarms on my personal appointments and can create personal appointments directly on the BlackBerry.</p>
<p>I then disassociated my mobile from my personal Google account and attached it to my Google Apps account instead. Now I get SMS notifications for my business appointments and I can create business appointments via SMS. These appointments then appear in my BlackBerry calendar with the next OTA sync.</p>
<p>This all works, but I really wish I&#8217;d set it up in reverse. Kind of a hassle to change it now, but I probably will at some point.</p>
<h3>Desktop Integration</h3>
<p>I do enjoy sync vs. subscription, however I&#8217;m giving Spanning Sync a little while longer to get the kinks out before <a href="http://alexking.org/blog/2007/12/19/goodbye-spanning-sync">I give them another shot</a>. For now, my method of subscribing to my Google Calendars in iCal through my <a href="http://alexking.org/projects/calendar-tools">Alarm-It script</a> is working well enough.</p>
<h3>Suggestions?</h3>
<p>Anyone else have any good tips and tricks I should be considering? The comments are open.</p>
<ol class="footnotes">
<li id="fn1201149363185n">I also do this with my e-mail now. [<a href="#fn1201149363185">back</a>]</li>
<li id="fn1201831576208n">My personal calendar in my case. [<a href="#fn1201831576208">back</a>]</li>
</ol>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=Surrendering+To+Google+Calendar&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2008%2F01%2F31%2Fsurrendering-to-google-calendar">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2008/01/31/surrendering-to-google-calendar/feed</wfw:commentRss>
		</item>
		<item>
		<title>SVN Scripts and Tools</title>
		<link>http://alexking.org/blog/2008/01/12/svn-scripts-and-tools</link>
		<comments>http://alexking.org/blog/2008/01/12/svn-scripts-and-tools#comments</comments>
		<pubDate>Sun, 13 Jan 2008 02:08:01 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2008/01/12/svn-scripts-and-tools</guid>
		<description><![CDATA[At Crowd Favorite we use Subversion for source control and document distribution and management. Last week, we were reminded just how much we rely on it.
We made the move from an outdated server to a more properly equipped one, and also used a more suitable domain and set up SSL and all the stuff we [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "SVN Scripts and Tools", url: "http://alexking.org/blog/2008/01/12/svn-scripts-and-tools" });</script>]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://crowdfavorite.com">Crowd Favorite</a> we use Subversion for source control and document distribution and management. Last week, we were reminded just how much we rely on it.</p>
<p>We made the move from an outdated server to a more properly equipped one, and also used a more suitable domain and set up SSL and all the stuff we should have had months ago. We also set up <a href="http://warehouseapp.com" rel="external">Warehouse</a>, which is a nice Rails web front-end for SVN. It also has a very poorly documented installation process and we spent about 12 man hours getting it set up. We still don&#8217;t have the permissions working right, but the web interface is very handy and there is more there than you realize at first glance.</p>
<p>In the server move we also lost our SVN commit e-mails for several days, and were having more trouble than we expected getting them set up again (the 4 different server documentation pages we found were wrong or outdated). In the end we just used the mail notifications from Warehouse instead.</p>
<p>SVN is <a href="http://alexking.org/blog/2007/12/20/iwork-bundles-broken">not without its flaws</a>, and I&#8217;ve been reading great things about <a href="http://git.or.cz/" rel="external">Git</a> and <a href="http://www.selenic.com/mercurial/wiki/" rel="external">Mercurial</a> recently, and the benefits these systems offer over SVN are compelling. However, SVN has one big benefit over these up and coming systems: existing tools and integrations.</p>
<p>I&#8217;ve come to use the SVN integration in <a href="http://cocoatech.com/pf4/" rel="external">Path Finder</a> about half the time now. I also use the SVN integration in <a href="http://barebones.com/products/bbedit/" rel="external">BBEdit</a>. Other folks on the team use the integration in <a href="http://macromates.com/" rel="external">TextMate</a> or a standalone tool like <a href="http://www.lachoseinteractive.net/en/community/subversion/svnx/" rel="external">SVN X</a>. Still others are waiting for <a href="http://versionsapp.com/" rel="external">enticing varporware</a> to materialize. The point is, the tools around a system are also important.</p>
<p>I use a desktop computer at home and a laptop at the office and on the road, so SVN is invaluable to me as a synchronization tool as well. Since we have several different SVN repositories, I&#8217;ve created some simple scripts to make it easy for me to update all of the repositories and check them all for uncommitted changes. Disclaimer: there&#8217;s nothing fancy here, and I&#8217;m not a bash guru, so suggestions and improvements are welcome.</p>
<h3>Updating</h3>
<p>First create a simple script to update all of the repositories (svn-st-all.sh):</p>
<div class="code"><code>#!/bin/sh</p>
<p>svn up ~/src/repo-1<br />
svn up ~/src/repo-2<br />
svn up ~/src/repo-3</code></div>
<p>Make sure the .sh file has executable file permissions.</p>
<p>Then set up an alias in your .profile so you can call the script with an easy command:</p>
<div class="code"><code>alias svnstall=/path/to/svn-up-all.sh</code></div>
<h3>Checking for Uncommitted Changes</h3>
<p>First create a another simple script (svn-st-all.sh):</p>
<div class="code"><code>#!/bin/sh</p>
<p>svn st ~/src/repo-1 > ~/Desktop/svn-status.txt<br />
svn st ~/src/repo-2 >> ~/Desktop/svn-status.txt<br />
svn st ~/src/repo-3 >> ~/Desktop/svn-status.txt</p>
<p>open -a TextMate ~/Desktop/svn-status.txt</code></div>
<p>This one checks the status of each repository and puts the result in a file, then opens that file in TextMate. Again, make sure the .sh file has executable file permissions.</p>
<p>Now create an alias for this one too:</p>
<div class="code"><code>alias svnupall=/path/to/svn-up-all.sh</code></div>
<p>Now in your terminal you can type &#8217;svnupall&#8217; to update all of your repositories, or &#8217;svnstall&#8217; to check all of your repositories for uncommitted changes.</p>
<p>Hopefully this will help someone else avoid the old &#8220;crap, I must have forgotten to check that in from my other machine&#8221; situation. <img src='http://alexking.org/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=SVN+Scripts+and+Tools&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2008%2F01%2F12%2Fsvn-scripts-and-tools">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2008/01/12/svn-scripts-and-tools/feed</wfw:commentRss>
		</item>
		<item>
		<title>Goodbye Spanning Sync</title>
		<link>http://alexking.org/blog/2007/12/19/goodbye-spanning-sync</link>
		<comments>http://alexking.org/blog/2007/12/19/goodbye-spanning-sync#comments</comments>
		<pubDate>Wed, 19 Dec 2007 23:43:55 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2007/12/19/goodbye-spanning-sync</guid>
		<description><![CDATA[I really wanted to like Spanning Sync, I bought a lifetime copy and tried it for over a month. However, I&#8217;d had to give it up and go back to my old solution: subscribing to my Google Calendars in iCal.
Here are the reasons I&#8217;m turning Spanning Sync off (for now):

It would somehow decide not to [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Goodbye Spanning Sync", url: "http://alexking.org/blog/2007/12/19/goodbye-spanning-sync" });</script>]]></description>
			<content:encoded><![CDATA[<p>I really wanted to like <a href="http://spanningsync.com/" rel="external">Spanning Sync</a>, I bought a lifetime copy and <a href="http://alexking.org/blog/2007/10/31/spanning-sync-impressions">tried it for over a month</a>. However, I&#8217;d had to give it up and go back to my <a href="http://alexking.org/blog/2006/12/20/gcal-notifications">old solution</a>: subscribing to my Google Calendars in iCal.</p>
<p>Here are the reasons I&#8217;m turning Spanning Sync off (for now):</p>
<ul>
<li>It would somehow decide not to do scheduled syncs for long periods of time (8+ hours, sometimes days) with no notification to me. I&#8217;d have to go look for issues when I realized things were out of sync.</li>
<li>Every time I upgraded it would forget which calendars to sync. This meant I&#8217;d have to reselect all of the calendars on every machine and it would take a <em>very long time</em> to do the first sync again.</li>
<li>When an upgrade was required, the app would just stop working. It wouldn&#8217;t tell you this - you had to open the preference pane to discover the reason why.</li>
<li>Event alarms did not sync, and there was no setting (that I could find) to set default alarms for items being synced in to iCal. This resulted in me being late for things because I rely on those reminders.</li>
</ul>
<p>I&#8217;m hopeful that this will be a temporary departure from Spanning Sync, and that in a couple of months when I try it again I&#8217;ll be able to rely on it. It was a very handy service when it was working and now that we have over-the-air sync between Google Calendar and the BlackBerry, this would really make a nice solution.</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=Goodbye+Spanning+Sync&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2007%2F12%2F19%2Fgoodbye-spanning-sync">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2007/12/19/goodbye-spanning-sync/feed</wfw:commentRss>
		</item>
		<item>
		<title>Starting to &#8220;get&#8221; Skitch</title>
		<link>http://alexking.org/blog/2007/12/06/starting-to-get-skitch</link>
		<comments>http://alexking.org/blog/2007/12/06/starting-to-get-skitch#comments</comments>
		<pubDate>Thu, 06 Dec 2007 19:09:14 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2007/12/06/starting-to-get-skitch</guid>
		<description><![CDATA[When I first saw Skitch, I have to admit I really didn&#8217;t get it. For some reason, it just didn&#8217;t resonate with me and I didn&#8217;t see a real need/use for it. I think part of the reason is the consumer oriented web site, packaging, etc. - marking up photos and sending them to friends [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Starting to \"get\" Skitch", url: "http://alexking.org/blog/2007/12/06/starting-to-get-skitch" });</script>]]></description>
			<content:encoded><![CDATA[<p>When I first saw <a href="http://plasq.com/skitch" rel="external">Skitch</a>, I have to admit I really didn&#8217;t get it. For some reason, it just didn&#8217;t resonate with me and I didn&#8217;t see a real need/use for it. I think part of the reason is the consumer oriented web site, packaging, etc. - <a href="http://myskitch.com/" rel="external">marking up photos and sending them to friends</a> isn&#8217;t really something I do.</p>
<p>However, over the last couple of months I&#8217;ve started using it as a business tool, and it&#8217;s been incredibly useful.</p>
<ol>
<li>Take a screen grab.</li>
<li>Scribble all over it - arrows, comments, boxes, etc.</li>
<li>Paste it into an e-mail and send.</li>
</ol>
<p>It&#8217;s filling a very nice niche for me.</p>
<p>I see they&#8217;ve started noting this use case on their site as well, though the styling and focus of the site remain on the consumer.</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=Starting+to+%22get%22+Skitch&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2007%2F12%2F06%2Fstarting-to-get-skitch">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2007/12/06/starting-to-get-skitch/feed</wfw:commentRss>
		</item>
		<item>
		<title>Opera Mini 4 beta 2</title>
		<link>http://alexking.org/blog/2007/10/14/opera-mini-4-beta-2</link>
		<comments>http://alexking.org/blog/2007/10/14/opera-mini-4-beta-2#comments</comments>
		<pubDate>Sun, 14 Oct 2007 22:03:19 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2007/10/14/opera-mini-4-beta-2</guid>
		<description><![CDATA[When people ask me about the iPhone vs. the BlackBerry, I tell them that for my usage I prefer the BlackBerry - except for the browser. The MobiSafari browser in the iPhone is the biggest game changer on the device.
The newest beta of Opera Mini 4 is nowhere near as elegant a browsing experience as [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Opera Mini 4 beta 2", url: "http://alexking.org/blog/2007/10/14/opera-mini-4-beta-2" });</script>]]></description>
			<content:encoded><![CDATA[<p>When people ask me about the iPhone vs. the BlackBerry, I tell them that for my usage I prefer the BlackBerry - except for the browser. The MobiSafari browser in the iPhone is the biggest game changer on the device.</p>
<p>The newest <a href="http://www.operamini.com/beta/" rel="external">beta of Opera Mini</a> 4 is nowhere near as elegant a browsing experience as the iPhone browser, but it&#8217;s a night and day difference from the standard BlackBerry browser and it&#8217;s great to see the pan and zoom <img src='http://alexking.org/images/smilies/ak_scare1.gif' alt=':scare:' class='wp-smiley' /> full browser <img src='http://alexking.org/images/smilies/ak_scare2.gif' alt=':/scare:' class='wp-smiley' /> interface coming to other mobile browsers.</p>
<p>A couple of weeks ago I needed to forward an e-mail while I was out with only my BlackBerry. Since the BlackBerry&#8217;s IMAP implementation generally sucks, I had to use the browser and webmail in order to find the e-mail and forward it.</p>
<p>This process would have been a <em>whole</em> lot easier<sup><a href="#fn1192398817922n" id="fn1192398817922" class="footnote">1</a></sup> with Opera Mini than it was with the built-in BlackBerry browser.</p>
<ol class="footnotes">
<li id="fn1192398817922n">Yes, it also would have been easier with real IMAP, which the iPhone has. [<a href="#fn1192398817922">back</a>]</li>
</ol>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=Opera+Mini+4+beta+2&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2007%2F10%2F14%2Fopera-mini-4-beta-2">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2007/10/14/opera-mini-4-beta-2/feed</wfw:commentRss>
		</item>
		<item>
		<title>HelpSpot</title>
		<link>http://alexking.org/blog/2007/05/15/helpspot</link>
		<comments>http://alexking.org/blog/2007/05/15/helpspot#comments</comments>
		<pubDate>Tue, 15 May 2007 19:47:54 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2007/05/15/helpspot</guid>
		<description><![CDATA[A couple of months ago, we moved from Mailroom to HelpSpot to manage e-mail support for the Use Tasks service. We liked the concept of Mailroom, but the execution left a little to be desired.
I&#8217;d been aware of Ian Landsman and his work on HelpSpot for a while, but hadn&#8217;t really investigated it thoroughly because [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "HelpSpot", url: "http://alexking.org/blog/2007/05/15/helpspot" });</script>]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago, we moved from <a href="http://alexking.org/blog/2006/05/22/mailroom">Mailroom</a> to <a href="http://www.userscape.com/products/helpspot/" rel="external">HelpSpot</a> to manage e-mail support for the <a href="http://usetasks.com">Use Tasks</a> service. We liked the concept of Mailroom, but the execution left a little to be desired.</p>
<p>I&#8217;d been aware of <a href="http://www.userscape.com/blog/" rel="external">Ian Landsman</a> and his work on HelpSpot for a while, but hadn&#8217;t really investigated it thoroughly because I didn&#8217;t have a need for it at the time. Luckily, he saw my post on Mailroom and got in touch. After months of things not quite working as we wanted them to in Mailroom, we finally made the move to HelpSpot.</p>
<p>Naturally, a day or so before we cut over, Mailroom rolled out a big upgrade. However, we had already decided to make the move, so we never really even experimented with the new Mailroom features (a quick glance showed them looking better, but not everything we wanted). This should be a cautionary tale for web application service providers: lots of little upgrades are much better than an occasional mammoth upgrade. Showing your users that your product is alive and well and growing is important.</p>
<p>One of the main deficiencies with Mailroom from our perspective was the ability to set up reply templates and choose them when replying to an e-mail. Mailroom claimed to have an algorithm for choosing the right template, but it seemed to just suggest previous replies in reverse chronological order. Trying to get to a reply from a few months back was a tortuous &#8220;click through every single reply&#8221; process.</p>
<p>HelpSpot really excels at this. We&#8217;ve set up a few basic templates, organized them into folders, and it is <em>extremely</em> efficient.</p>
<p>The auto-assignment settings and reminders work very well too. A little &#8220;nag&#8221; e-mail if something hasn&#8217;t been taken care of is a great thing. HelpSpot also gives you nice admin reports showing the time to resolution on new requests and a bunch of other stuff that we really don&#8217;t use at this point.</p>
<p>If you&#8217;re looking for a web-based product to help your team deal with support e-mail, I recommend taking a look at HelpSpot and seeing if it will fit your needs.</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=HelpSpot&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2007%2F05%2F15%2Fhelpspot">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2007/05/15/helpspot/feed</wfw:commentRss>
		</item>
		<item>
		<title>Coda</title>
		<link>http://alexking.org/blog/2007/04/25/coda</link>
		<comments>http://alexking.org/blog/2007/04/25/coda#comments</comments>
		<pubDate>Wed, 25 Apr 2007 22:47:29 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2007/04/25/coda</guid>
		<description><![CDATA[There have been lots of hubbub going on around Panic&#8217;s new web development tool, Coda, and with good reason.
Coda&#8217;s approach to web development quickly divides folks into two camps: those that love it and those that don&#8217;t.
Of course, now that I&#8217;ve said that I&#8217;m going to try to place myself in the middle.  
I [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Coda", url: "http://alexking.org/blog/2007/04/25/coda" });</script>]]></description>
			<content:encoded><![CDATA[<p>There have been lots of hubbub going on around <a href="http://panic.com" rel="external">Panic</a>&#8217;s new web development tool, <a href="http://panic.com/coda" rel="external">Coda</a>, and with good reason.</p>
<p>Coda&#8217;s <a href="http://daringfireball.net/2007/04/coda" rel="external">approach to web development</a> quickly divides folks into two camps: those <a href="http://echeng.com/journal/2007/04/24/coda-by-panic-software/" rel="external">that</a> <a href="http://feeds.feedburner.com/~r/hicksdesign/~3/111358514/coda" rel="external">love it</a> and those <a href="http://nslog.com/2007/04/23/panics_coda_is_not_my_style" rel="external">that</a> <a href="http://mjtsai.com/blog/2007/04/23/coda-10/" rel="external">don&#8217;t</a>.</p>
<p>Of course, now that I&#8217;ve said that I&#8217;m going to try to place myself in the middle. <img src='http://alexking.org/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I like Panic, and though I&#8217;ve only <img src='http://alexking.org/images/smilies/ak_scare1.gif' alt=':scare:' class='wp-smiley' /> met <img src='http://alexking.org/images/smilies/ak_scare2.gif' alt=':/scare:' class='wp-smiley' /> them through e-mail and blog posts I like <a href="http://www.cabel.name/2007/04/coda-10.html" rel="external">Cabel</a> and <a href="http://stevenf.com/2007/04/announcing_coda_10.php" rel="external">Steven</a> as well. I love polished and well-executed applications, and I also love it when people are willing to take a risk and try to do something in a new and different way. And I was one of the initial testers of Coda. All of this makes me want to like Coda, and on many levels I do like Coda.</p>
<p>But I don&#8217;t find myself using Coda for all of my web development.</p>
<p>I do use it, but mostly for little tweaks to my web sites - not for development projects. I think there are a couple of reasons for this:</p>
<h3>File Management</h3>
<p>As noted in Gruber&#8217;s fireball, full file management isn&#8217;t even attempted in Coda. I live exclusively in the column view in Path Finder and Transmit, and I don&#8217;t like the file manager tree control in Coda. I&#8217;ve actually gotten rather negative about tree controls for file management over the last few years - they feel like old, bad, outdated tools to me now.</p>
<p>There is definitely a potential solution to this issue, at least in my opinion. Why not allow the file management to go into a tab? Example mock-ups using Path Finder and Transmit as local/remote file browser examples:</p>
<p class="center"><a href="http://www.flickr.com/photos/alexkingorg/472894437/"><img src="http://farm1.static.flickr.com/220/472894437_a36ccc0cc6_m.jpg" width="240" height="180" alt="Coda Mockup with embedded Path Finder" /></a></p>
<p class="center"><a href="http://www.flickr.com/photos/alexkingorg/472894439/"><img src="http://farm1.static.flickr.com/191/472894439_82d692886c_m.jpg" width="240" height="180" alt="Coda Mockup with embedded Transmit" /></a></p>
<p>As an added bonus, you get that horizontal space back that the file browser is currently occupying.</p>
<p>Also, the built-in FTP functionality is tricky to use in &#8220;one-window&#8221; mode - Coda badly needs a drop stack (like Path Finder) to avoid the need for a separate local file browser.</p>
<h3>Local Development</h3>
<p>All of my large-scale projects are built locally, without any need for an FTP client, terminal (except for SVN commits), etc. I used straight text editors for a long time (with BBEdit being my favorite), but I&#8217;ve started using the Zend IDE more in the last year or so. Little things like code hinting, variable completion, PHP Doc support and being able to jump around to other files (for function definition, etc.) have become more valuable to me. Coda does a little of this, but not enough that it feels like it can replace ZDE. Nor does it have the advanced text management functionality of BBEdit.</p>
<p>I guess what I&#8217;m saying is that the toolset I use is different for different things. For building and maintaining a project or web application or the initial build of a web site, the toolset I use doesn&#8217;t really feel like Coda. On the other hand, Coda feels great for maintaining a web site after it&#8217;s built and deployed.</p>
<h3>Safari (WebKit) for Preview is a Bad Starting Place</h3>
<p>My main issue with the built-in browser is that it uses Web Kit (the Safari engine). I find it much easier to develop in Gecko (Firefox) and then customize as needed for IE and Safari than from Safari to Firefox and IE.</p>
<p>Plus, I don&#8217;t think I know any web developers willing to give up <a href="http://www.getfirebug.com/" rel="external">Firebug</a>. </p>
<p>I&#8217;ve never used or liked built-in browser preview in any development tool I&#8217;ve ever used. Changing tabs is just as time consuming as changing applications to me, and I rarely have access the same debugging toolset I use in my development/testing browser in a &#8220;preview browser&#8221;.</p>
<hr />
<p>So for now I&#8217;m using Coda mainly for direct edits of my web sites. It&#8217;s great for that, and I look forward to watching it evolve. Maybe in time it will move in the direction I think I want, or maybe I&#8217;ll change my paradigm to be more compatible with the way Coda works.</p>
<p>Either way, many kudos to Panic for getting such an ambitious project out the door. And I&#8217;m very glad to see the tips coming out as <a href="http://stevenf.com/2007/04/coda_a_site_for_sore_eyes.php" rel="external">blog</a> <a href="http://stevenf.com/2007/04/coda_quick_tip_1_toolbar_resize.php" rel="external">posts</a> already.</p>
<p>One more side note: big kudos to Panic for making it dead easy to import your Transmit data into Coda. For a Transmit user, the barrier to entry for testing Coda is ridiculously low.</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=Coda&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2007%2F04%2F25%2Fcoda">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2007/04/25/coda/feed</wfw:commentRss>
		</item>
		<item>
		<title>Twitterrific 2</title>
		<link>http://alexking.org/blog/2007/03/27/twitterrific-2</link>
		<comments>http://alexking.org/blog/2007/03/27/twitterrific-2#comments</comments>
		<pubDate>Tue, 27 Mar 2007 22:55:41 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2007/03/27/twitterrific-2</guid>
		<description><![CDATA[Twitterrific 2 is a fantastic upgrade to Twitterrific. If you haven&#8217;t already, grab the public beta (I&#8217;m alexkingorg on Twitter).
Here are the settings I use1:

And here is the result:

The &#8220;expand when focused&#8221; list is a  brilliant  interface for Twitter updates, I&#8217;m encouraging Kevin to adopt it for Tiny Twitter.

Make sure to review the [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Twitterrific 2", url: "http://alexking.org/blog/2007/03/27/twitterrific-2" });</script>]]></description>
			<content:encoded><![CDATA[<p>Twitterrific 2 is a fantastic upgrade to <a href="http://iconfactory.com/software/twitterrific" rel="external">Twitterrific</a>. If you haven&#8217;t already, <a href="http://www.macupdate.com/info.php/id/23736/twitterrific" rel="external">grab the public beta</a> (I&#8217;m <a href="http://twitter.com/alexkingorg" rel="external">alexkingorg on Twitter</a>).</p>
<p>Here are the settings I use<sup><a href="#fn1175036115446n" id="fn1175036115446" class="footnote">1</a></sup>:</p>
<p class="center"><a href="http://www.flickr.com/photos/alexkingorg/436905354/"><img src="http://farm1.static.flickr.com/157/436905354_9e366d1264_m.jpg" width="161" height="240" alt="Twitterrific 2 Preferences" /></a></p>
<p>And here is the result:</p>
<p class="center"><a href="http://www.flickr.com/photos/alexkingorg/436905352/"><img src="http://farm1.static.flickr.com/156/436905352_dd9beb7ee1_m.jpg" width="139" height="240" alt="Twitterrific 2 (beta)" /></a></p>
<p>The &#8220;expand when focused&#8221; list is a <img src='http://alexking.org/images/smilies/ak_guinness1.gif' alt=':beer:' class='wp-smiley' /> brilliant <img src='http://alexking.org/images/smilies/ak_guinness2.gif' alt=':/beer:' class='wp-smiley' /> interface for Twitter updates, I&#8217;m encouraging <a href="http://standingmobile.com" rel="external">Kevin</a> to adopt it for <a href="http://tinytwitter.com" rel="external">Tiny Twitter</a>.</p>
<ol class="footnotes">
<li id="fn1175036115446n">Make sure to review the list of keyboard shortcuts in the README too. [<a href="#fn1175036115446">back</a>]</li>
</ol>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=Twitterrific+2&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2007%2F03%2F27%2Ftwitterrific-2">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2007/03/27/twitterrific-2/feed</wfw:commentRss>
		</item>
		<item>
		<title>Browser Tabs</title>
		<link>http://alexking.org/blog/2007/02/21/browser-tabs</link>
		<comments>http://alexking.org/blog/2007/02/21/browser-tabs#comments</comments>
		<pubDate>Wed, 21 Feb 2007 17:05:51 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2007/02/21/browser-tabs</guid>
		<description><![CDATA[At the Denver Tech Meetup a while back, I discovered I was in the extreme minority in my browser usage style.
My browser tabs are almost completely transient to me. I don&#8217;t keep pages open to read for longer than an hour or so, or keep a tab open to a webmail client or feed reader. [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Browser Tabs", url: "http://alexking.org/blog/2007/02/21/browser-tabs" });</script>]]></description>
			<content:encoded><![CDATA[<p>At the <a href="http://alexking.org/blog/2006/11/09/denver-tech-meetup">Denver Tech Meetup a while back</a>, I discovered I was in the extreme minority in my browser usage style.</p>
<p>My browser tabs are almost completely transient to me. I don&#8217;t keep pages open to read for longer than an hour or so, or keep a tab open to a webmail client or feed reader. I even quit my browser and close all the windows on a regular basis.</p>
<p><em>None</em> of the other guys in the conversation followed this usage pattern. They had 20-200+ tabs open at a time, with session saver and sync extensions. Their browser tabs have a lot of valuable information for them.</p>
<p>How do you use your browser tabs?</p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=Browser+Tabs&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2007%2F02%2F21%2Fbrowser-tabs">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2007/02/21/browser-tabs/feed</wfw:commentRss>
		</item>
		<item>
		<title>Switching to Firefox</title>
		<link>http://alexking.org/blog/2007/02/12/switching-to-firefox</link>
		<comments>http://alexking.org/blog/2007/02/12/switching-to-firefox#comments</comments>
		<pubDate>Mon, 12 Feb 2007 18:16:35 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2007/02/12/switching-to-firefox</guid>
		<description><![CDATA[Even though Camino is doing very well, I finally decided to switch to Firefox in order to use the PwdHash extension (as previously discussed).
I'm not loading up on too many plugins though, just PwdHash and Translator which tempted me before (I use Firebug and Web Developer in my development profile).
I've created a main profile and [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Switching to Firefox", url: "http://alexking.org/blog/2007/02/12/switching-to-firefox" });</script>]]></description>
			<content:encoded><![CDATA[<p>Even though <a href="http://feeds.feedburner.com/~r/OmMalik/~3/85352445/" rel="external">Camino is doing very well</a>, I finally decided to switch to Firefox in order to use the <a href="https://addons.mozilla.org/firefox/1033/" rel="external">PwdHash extension</a> (as <a href="http://alexking.org/blog/2007/02/02/passwords">previously</a> <a href="http://alexking.org/blog/2007/02/05/more-on-passwords">discussed</a>).</p>
<p>I'm not loading up on too many plugins though, just PwdHash and <a href="https://addons.mozilla.org/firefox/3361/" rel="external">Translator</a> which <a href="http://alexking.org/blog/2006/12/24/around-the-web">tempted me before</a> (I <a href="http://alexking.org/blog/2007/01/30/scott-and-alex-on-firebug">use</a> <a href="http://www.getfirebug.com/" rel="external">Firebug</a> and <a href="http://chrispederick.com/work/webdeveloper/" rel="external">Web Developer</a> in my development profile).</p>
<p>I've created a main profile and a development profile for Firefox, and I can run both at once as separate Firefox instances. This is pretty nice. The "how to" for this has been covered by others, but I'll touch on the basics here as well:</p>
<p>Step 1. Create an additional profile. Launch Firefox from the command line (Terminal.app or <a href="http://www.google.com/url?sa=t&#038;ct=res&#038;cd=1&#038;url=http%3A%2F%2Fiterm.sourceforge.net%2F&#038;ei=ca7QRZSoEqf6wQK5pcDBAw&#038;usg=__BDPr8xwEZVraKGRX9mFdbbhEb3Y=&#038;sig2=tcHLsFOiyXzqiD5-wGfwIA" rel="external">iTerm</a>) by typing in the following:</p>
<div class="code"><code>/Applications/Firefox.app/Contents/MacOS/firefox --profilemanager</code></div>
<p>This will give you the profile manager where you can create another profile.</p>
<p>Step 2. Click to launch Firefox and you'll be prompted to choose a profile to use. However to launch another instance with a different profile, you'll need to use the command line again:</p>
<div class="code"><code>/Applications/Firefox.app/Contents/MacOS/firefox -P your-profile-name</code></div>
<p>Step 3. Optional - set up command line aliases for launching Firefox with a specific profile. You do this by editing the <code>.profile</code> file in your user directory. Mine is at: <code>/Users/aking/.profile</code>.</p>
<div class="code"><code>alias ffm="/Applications/Firefox.app/Contents/MacOS/firefox -P main"<br />
alias ffd="/Applications/Firefox.app/Contents/MacOS/firefox -P dev"</code></div>
<p>Now I just type 'ffm' or 'ffd' in iTerm and Firefox launches with the profile I want.</p>
<p>I'm using the <a href="http://www.takebacktheweb.org/" rel="external">GrApple (Eos)</a> theme for my "browsing" profile. I like the tab treatment, but I miss the favicons in the bookmarks toolbar. Using different themes for the different profiles helps avoid visual confusion.</p>
<p>I do miss a couple of things about Camino. Camino was smart enough to know if the current tab was empty or not and either use it or create a new one when I opened a bookmark using <a href="http://www.obdev.at/products/launchbar/" rel="external">LaunchBar</a>.</p>
<ol>
<li>Create tab.</li>
<li>Open bookmark via LaunchBar.</li>
</ol>
<p>Camino would load the bookmarked URL in the tab I'd just created while Firefox opens another. This behavior isn't really wrong, just one of those little things to get used to with a different tool.</p>
<p>I also miss the standard "up arrow" to go to the beginning of a line in a text field and "down arrow" to go to the end of the line. It's stuff like this that keeps Firefox from <em>really</em> feeling like a native Mac OS X application (though it is steadily improving).</p>
<p>Another little thing I discovered in Firefox - by default the Backspace key acts as a back button. This is just horrible default behavior and I'd love to get my hands on whoever added this to IE in the first place. Luckily, you can turn this off in Firefox. Go to about:config, and set browser.backspace_action to 1. At least, that worked for me - I didn't actually take the time to see what the values meant for it. <img src='http://alexking.org/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<p><a href="http://sharethis.com/item?&wp=2.2.3&amp;publisher=06654962-d77d-102a-861d-00161729a8a2&amp;title=Switching+to+Firefox&amp;url=http%3A%2F%2Falexking.org%2Fblog%2F2007%2F02%2F12%2Fswitching-to-firefox">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2007/02/12/switching-to-firefox/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
