<?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"
	>

<channel>
	<title>Red Sweater Blog &#187; FastScripts</title>
	<atom:link href="http://www.red-sweater.com/blog/category/red-sweater-news/fastscripts/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.red-sweater.com/blog</link>
	<description>Mac &#38; Technology Writings by Daniel Jalkut</description>
	<pubDate>Thu, 14 Aug 2008 22:56:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Safari Link Exposer</title>
		<link>http://www.red-sweater.com/blog/498/safari-link-exposer</link>
		<comments>http://www.red-sweater.com/blog/498/safari-link-exposer#comments</comments>
		<pubDate>Tue, 13 May 2008 17:41:50 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[AppleScript]]></category>

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

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

		<guid isPermaLink="false">http://www.red-sweater.com/blog/?p=498</guid>
		<description><![CDATA[I think that for any business with an internet presence, an important part of running and growing that business is being astutely aware of your surroundings. In particular, that means recognizing when people on the internet are talking about you, and responding to or engaging them when it&#8217;s appropriate.

Typically when a person on the web [...]]]></description>
			<content:encoded><![CDATA[<p>I think that for any business with an internet presence, an important part of running and growing that business is being astutely aware of your surroundings. In particular, that means recognizing when people on the internet are talking about you, and responding to or engaging them when it&#8217;s appropriate.</p>
<p>
Typically when a person on the web is kind enough to link to one of my sites, I learn about it quickly. Those of you who are not familiar with the way the web works might be surprised to know that whenever you click a link in a browser, the browser is typically kind enough to also tell the link&#8217;s target server where the link was clicked from. This is called the &#8220;referrer&#8221; and helps a great deal in tabulating statistics about web site visitors.
</p>
<p>
What&#8217;s really interesting about this referral reporting is that statistics software such as <a href="http://www.haveamint.com/">Mint</a> can make it exceedingly easy to keep tabs on who is linking to you. Additionally, services such as <a href="http://technorati.com/">Technorati</a> and <a href="http://blogsearch.google.com/">Google Blog Search</a> attempt to keep tabs on where particular pages on the web are linking to, and offer RSS feeds so that you can keep tabs on any new links that might be pointing your way.
</p>
<p>
Suffice to say, if you are interested in doing so, it&#8217;s possible to keep a broad, open eye on what people on the internet are saying about you, provided they include a link to you among their thoughts.
</p>
<p><h3>Cutting To The Chase</h3>
</p>
<p>
I tend to skim every referral that looks like it might be from a legitimate source (not link spam). For instance, sometimes I&#8217;ll find a blog post where somebody reveals a problem they&#8217;re having with MarsEdit or another of my applications. If it&#8217;s possible for me to chime in with proactive customer support, I figure the user will be more overjoyed than creeped out by my &#8220;stalking&#8221; their blog post.
</p>
<p>
If you&#8217;re lucky enough to start getting linked a great deal, it can start to become a burden to evaluate all those links and decide whether any of them require (or would benefit from) your attention.   Typically for me this has involved opening every such link in Safari, and then proceeding to glance at it to see where they are linking to me, and what the context is. This can be difficult on a long page, or when the person has attached the link to an unlikely phrase, such as &#8220;this guy says.&#8221;
</p>
<p>
What we need here is a computer. Something that can perform the painstaking task of looking at a web page and deciding where the important parts are. Once these important parts are brought to my attention, I can quickly evaluate and decide whether to quietly take in the referral, or whether to engage in some way with the author.
</p>
<p><h3>A Scripted Solution</h3>
</p>
<p>
Safari Link Exposer is a small script I wrote to facilitate this task.  Let&#8217;s take a look at a sample web page I might encounter in my referral following. See how it&#8217;s possible to scan for the links to me, but they don&#8217;t exactly jump out from the page:
</p>
<p>
<img src="http://www.red-sweater.com/blog/images/SafariUnexposed-20080513-132615.jpg" />
</p>
<p>
Now keep in mind this is an arbitrarily simple test case. Normally the web page might be pages long or a lot more complex. Even still, a significant amount of time is spent parsing the &#8220;unimportant&#8221; information to get to the all-important references <em>to me</em>. Now let&#8217;s look what happens when I run my keyboard-activated script in Safari:
</p>
<p>
<img src="http://www.red-sweater.com/blog/images/SafariExposed-20080513-132703.jpg" />
</p>
<p>
Ouch! My eyes, they bleed! Help! But see, that&#8217;s the point. There&#8217;s no missing the links to me (in red with white text). The first-level container of said links are brightly lit in yellow to accommodate easily tracking to them, and the second-level container is lit in a more subdued yellow to broadly attract your eye&#8217;s attention.
</p>
<p>
<strong>Free Download:</strong> <a href="http://www.red-sweater.com/AppleScript/SafariLinkExposer.zip">Safari Link Exposer</a>
</p>
<p>
I used my shortcuts utility, <a href="http://www.red-sweater.com/fastscripts/">FastScripts</a>, to attach a Safari-specific keyboard shortcut of Ctrl-Cmd-F to the script. Now when I&#8217;m browsing my referrals I can zoom in on the nitty gritty with a single keystroke.
</p>
<p>
Hope this is helpful to somebody. The basic script needs to be edited to be useful to you, but it&#8217;s set up so that you can easily replace the &#8220;red-sweater&#8221; search term with a term of your choice.  You could also use this script as the basis for other types of &#8220;smart scanning&#8221; scripts that expose elements based on other criteria.
</p>
<p>
It&#8217;s also worth noting that the bulk of the script is JavaScript and should be easily adaptable to other web browsers. I use Safari and I trust its AppleScript-based &#8220;do javascript&#8221; command, so naturally that is the approach I took in writing this.
</p>
<p>
Please let me know if you have any improvements for the script or other ideas for how to streamline this process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/498/safari-link-exposer/feed</wfw:commentRss>
		</item>
		<item>
		<title>Filling The Gaps</title>
		<link>http://www.red-sweater.com/blog/441/filling-the-gaps</link>
		<comments>http://www.red-sweater.com/blog/441/filling-the-gaps#comments</comments>
		<pubDate>Mon, 10 Dec 2007 18:01:23 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[Apple]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.red-sweater.com/blog/441/filling-the-gaps</guid>
		<description><![CDATA[When Leopard was released over a month ago, I proudly announced that Red Sweater&#8217;s applications were Leopard ready. Well, it was true, but as I suspect is the case for most software developers, little wrinkles in behavior have slowly shown up as more and more users upgrade to the latest cat.

Today I released two updates [...]]]></description>
			<content:encoded><![CDATA[<p>When Leopard was released over a month ago, I proudly announced that Red Sweater&#8217;s applications were <a href="http://www.red-sweater.com/blog/423/red-sweater-is-leopard-ready">Leopard ready</a>. Well, it was true, but as I suspect is the case for most software developers, little wrinkles in behavior have slowly shown up as more and more users upgrade to the latest cat.</p>
<p>
Today I released two updates to applications that get a bit less attention, but which nonetheless have passionate fans: <a href="http://www.red-sweater.com/fastscripts/">FastScripts</a> and <a href="http://www.red-sweater.com/clarion/">Clarion</a>. It was thanks to these fans that I discovered and was able to fix a few Leopard-specific issues that they noticed.
</p>
<p>
FastScripts had a problem with running automator routines. Like, at all. I guess that shows how often I run automator routines myself!  From a developer perspective, running Automator Workflows in Leopard is a lot easier than it was in Tiger, and is officially supported by a new AMWorkflow class for Cocoa programmers. Unfortunately, while providing a new and sanctioned method for running these workflows, they simultaneously broke the old technique that I was using for Tiger. Fixed in FastScripts 2.3.6!
</p>
<p>
Another issue with FastScripts had to do with the order of presentation for the user&#8217;s &#8220;personal scripts&#8221; compared with Apple&#8217;s standard scripts (from /Library/Scripts). It&#8217;s only natural that users would prefer to see their own scripts appear higher in the menu, since those are probably the ones they&#8217;re accessing more frequently. Well, it turns out the placement of these items has just sort of magically fallen the &#8220;desired&#8221; way for the past 3 major operating system releases. In Leopard, the order of the randomness flip-flopped, and I needed to explicitly ensure that the user&#8217;s scripts take priority. Also fixed in FastScripts 2.3.6!
</p>
<p>
Clarion is an application for studying and drilling yourself on musical interval recognition. It&#8217;s a pretty niche market, but it has a pretty nifty live piano keyboard view that I&#8217;m pretty proud of. While you&#8217;re contemplating the sounds of the pitches you are being quizzed on, you can tinker around on the piano keyboard to give yourself visual and audio clues as to what the interval might be. Unfortunately, some changes in CoreAudio on Leopard revealed a bug in my code for playing these notes. The end result? On Leopard any key you pressed would keep playing the sound even after you release the key. Nightmare! Fixed in Clarion 2.0.1.
</p>
<p>
If you&#8217;re running Leopard and noticing any glitches in my products, please let me know so I can get to the bottom of them. Right now I have only one outstanding issue, which is a text-rendering problem in MarsEdit, when opening existing posts for editing. Unfortunately I can&#8217;t find anything wrong with my behavior, so I&#8217;m also sort of quietly hoping for a fix from Apple in 10.5.2.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/441/filling-the-gaps/feed</wfw:commentRss>
		</item>
		<item>
		<title>FastScripts Keyboard Shortcuts On Leopard</title>
		<link>http://www.red-sweater.com/blog/437/fastscripts-keyboard-shortcuts-on-leopard</link>
		<comments>http://www.red-sweater.com/blog/437/fastscripts-keyboard-shortcuts-on-leopard#comments</comments>
		<pubDate>Wed, 28 Nov 2007 21:31:38 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[FastScripts]]></category>

		<guid isPermaLink="false">http://www.red-sweater.com/blog/437/fastscripts-keyboard-shortcuts-on-leopard</guid>
		<description><![CDATA[It has been brought to my attention that some users are experiencing a bug with FastScripts on Leopard, where keyboard shortcuts just seem to &#8220;stop working.&#8221;  Unfortunately when this happens, there are no helpful clues in the console, and the application seems to need to be quit and relaunched for shortcuts to start firing [...]]]></description>
			<content:encoded><![CDATA[<p>It has been <a href="http://www.red-sweater.com/forums/viewtopic.php?pid=2395#p2395">brought to my attention</a> that some users are experiencing a bug with FastScripts on Leopard, where keyboard shortcuts just seem to &#8220;stop working.&#8221;  Unfortunately when this happens, there are no helpful clues in the console, and the application seems to need to be quit and relaunched for shortcuts to start firing again.</p>
<p>
I use FastScripts constantly and, truth be told, I did see this behavior in an earlier Leopard beta seed. But since the GM 10.5 and 10.5.1 releases, I have yet to see this problem even once.
</p>
<p>
I&#8217;m hoping to get some feedback from other users who have been running FastScripts on Leopard, and might have possibly seen this behavior. Please let me know if you have any ideas about what might be provoking it. Whether certain scripts might cause it to start happen, etc.
</p>
<p>
Finally, if you recognize this <em>kind</em> of faulty behavior, perhaps something you&#8217;ve seen in another application that supports global shortcuts, I&#8217;d be interested in hearing about it. Basically, I&#8217;m interesting in any clues that you can provide to help me figure out what might be going wrong here.
</p>
<p>
Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/437/fastscripts-keyboard-shortcuts-on-leopard/feed</wfw:commentRss>
		</item>
		<item>
		<title>FastScripts 2.3.4</title>
		<link>http://www.red-sweater.com/blog/407/fastscripts-234</link>
		<comments>http://www.red-sweater.com/blog/407/fastscripts-234#comments</comments>
		<pubDate>Thu, 27 Sep 2007 17:49:34 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[FastScripts]]></category>

		<guid isPermaLink="false">http://www.red-sweater.com/blog/407/fastscripts-234</guid>
		<description><![CDATA[Those of you who are using FastScripts with the forthcoming Leopard 10.5 operating system from Apple will want to upgrade to FastScripts 2.3.4, which works better in that environment.

I don&#8217;t talk a lot about FastScripts these days, because I&#8217;ve been so busy focusing on other applications. But it&#8217;s still a really big part of my [...]]]></description>
			<content:encoded><![CDATA[<p>Those of you who are using FastScripts with the forthcoming Leopard 10.5 operating system from Apple will want to upgrade to <a href="http://www.red-sweater.com/fastscripts/">FastScripts 2.3.4</a>, which works better in that environment.</p>
<p>
I don&#8217;t talk a lot about FastScripts these days, because I&#8217;ve been so busy focusing on other applications. But it&#8217;s still a really big part of my workflow here, and I don&#8217;t know what I would do without it!
</p>
<p>
Often I get feedback from people who have finally figured out how FastScripts can help them. The recurring theme to this feedback is &#8220;<strong>I had no idea it could do that!</strong>&#8221; So let me try to summarize some of FastScripts&#8217;s selling points more effectively than the current product page does:
</p>
<p><ul>
<li>It lets you open or run (almost) anything, instantly by keystroke. Yes, it supports shell scripts, AppleScripts, applications, Automator actions, and can even open documents for you. Just put them in the Scripts folder.</li>
<li>Its keyboard shortcuts can replace almost any menu item shortcut in any application, redefining the behavior with a script.</li>
<li>Its context-specific behavior for Applications lets you define shortcuts for just one app, without affecting other apps.</li>
<li>It installs in your menu bar, but is not a hack. It&#8217;s &#8220;just an app.&#8221;</li>
<li>Built-in &#8220;On Screen Display&#8221; functionality lets you show nifty <a href="http://growl.info/">Growl</a>-style feedback, even if you don&#8217;t run Growl.</li>
<li>Oh yeah, it&#8217;s particularly good at <em>running scripts quickly</em>, without taking focus away from your target application, and without frustrating you.</li>
</ul>
<p>I recently showed off some of my FastScripts tricks to the local <a href="http://cocoaheads.org/">CocoaHeads</a> group here in Boston, yielding some oohs and aahs (and one immediate sale!). A lot of people are familiar with the awesome &#8220;everything launchers&#8221; such as <a href="http://www.obdev.at/products/launchbar/index.html">LaunchBar</a> and <a href="http://quicksilver.blacktree.com/">Quicksilver</a>, but are increasingly less familiar with the benefits of an old-fashioned &#8220;macro&#8221; setup. I think this &#8220;one stroke and you&#8217;re done&#8221; approach still has a place, and can make you a lot more productive.
</p>
<p>
The biggest difference between FastScripts and these apps is FastScripts doesn&#8217;t strive to be a general-purpose launcher. It&#8217;s a paring knife where those apps are a cleaver. Its primary purpose is to alter the landscape of your Mac so that the results you want, in Mail, the Finder, Safari, whatever, are available at the pressing of a single keystroke.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/407/fastscripts-234/feed</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Undo</title>
		<link>http://www.red-sweater.com/blog/374/twitter-undo</link>
		<comments>http://www.red-sweater.com/blog/374/twitter-undo#comments</comments>
		<pubDate>Sat, 21 Jul 2007 18:06:08 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[AppleScript]]></category>

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

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

		<guid isPermaLink="false">http://www.red-sweater.com/blog/374/twitter-undo</guid>
		<description><![CDATA[There are three things you should know about Twitter:

You should use Twitterrific on your Mac.
You only get 140 characters to make your point.
Once you&#8217;ve made your point, it can&#8217;t be edited.


It&#8217;s really frustrating when you type out a tweet quickly and send, only to realize that you&#8217;ve made an embarrassing typo or worse, said something [...]]]></description>
			<content:encoded><![CDATA[<p>There are three things you should know about <a href="http://twitter.com/">Twitter</a>:</p>
<ol>
<li>You should use <a href="http://iconfactory.com/software/twitterrific">Twitterrific</a> on your Mac.</li>
<li>You only get 140 characters to make your point.</li>
<li>Once you&#8217;ve made your point, it can&#8217;t be edited.</li>
</ol>
<p>
It&#8217;s really frustrating when you type out a tweet quickly and send, only to realize that you&#8217;ve made an embarrassing typo or worse, said something you fundamentally regret. It&#8217;s too late, really. It&#8217;s probably already showing up on somebody&#8217;s tweet list and they&#8217;re gasping in horror. But it doesn&#8217;t have to live on in perpetuity!
</p>
<p>
While you can&#8217;t edit tweets, the folks at Twitter were kind enough to give us a sort of back-door method of editing, by allowing us to completely <strong>delete tweets</strong> that we don&#8217;t want to stick around.
</p>
<p>
So from time to time I found myself running to Twitter&#8217;s web interface after making a tweet. I&#8217;d find the little trash icon next to the item and click it. Not too much trouble, really. But I&#8217;m a Mac user, so of course I expect more.
</p>
<p>
Wouldn&#8217;t it be cool if you could undo a tweet from right in Twitterrific? You can, with my spanking new script: <a href="http://www.red-sweater.com/AppleScript/UndoTweet.zip">Undo Tweet</a>. This script requires <a href="http://www.red-sweater.com/fastscripts/">FastScripts</a> by default, but can be easily modified to use &#8220;display dialog&#8221; instead of the more user-friendly FastScripts message display.
</p>
<p>
For the sake of argument, let&#8217;s say you want to use FastScripts, or its free Lite counterpart, to set up your very own &#8220;Undo Tweet&#8221; functionality in Twitterrific. Here are the easy steps, once you&#8217;ve got FastScripts installed:
</p>
<ol>
<li>Download the <a href="http://www.red-sweater.com/AppleScript/UndoTweet.zip">Undo Tweet</a> script, and open it with Script Editor to put your twitter name and password in.</li>
<li>
<p>Open Twitterrific and click its window to make sure it&#8217;s &#8220;active,&#8221; then create an app-specific scripts folder for it with FastScripts:</p>
<p>
<img src="http://www.red-sweater.com/blog/images/FastScripts-20070721-134259.png"/>
</p>
</li>
<li>
<p>Drag the Undo Tweet script into the folder. Voila! You&#8217;ve got a Twitterrific-specific menu item for undoing tweets.</p>
</li>
<li>
<p>Select the menu item while holding down the Apple/Cmd key. Make sure that cmd key is down, or you&#8217;ll undo a tweet! This is a FastScripts trick for jumping right to the keyboard shortcut editor for any script. I chose Cmd-Shift-Z for mine. Just like Undo, but with a little more trouble since deleting a tweet is serious business.</p>
<p>
<img src="http://www.red-sweater.com/blog/images/FastScripts-20070721-135128.png"/>
</p>
</li>
</ol>
<p>
And you&#8217;re done! Rest assured you can now easily undo any tweet. Let&#8217;s see how it looks in action.
</p>
<p>
First I write an embarrassing tweet.
</p>
<p>
<img src="http://www.red-sweater.com/blog/images/Twitterrific-20070721-135524.png"/>
</p>
<p>
Oh! That was embarrassing. Quick, press cmd-shift-Z! Since deleting the tweet can take a little while, I&#8217;m glad the author of this script was thoughtful enough to put up a little status message via FastScripts:
</p>
<p><img src="http://www.red-sweater.com/blog/images/UndoingTweet-20070721-135859.png"/></p>
<p>
And a few seconds later&#8230;
</p>
<p><img src="http://www.red-sweater.com/blog/images/TweetDeleted-20070721-140058.png"/></p>
<p>
Phew! A few people might have seen that tweet, but at least it&#8217;s permanently erased from the embarrassing annals of internet history.
</p>
<p>Note that because of the way Twitterrific works, it won&#8217;t disappear from the visible list. Fear not, if the Undo Tweet script says it was deleted, then it&#8217;s because Twitter&#8217;s API claims it was deleted. Don&#8217;t run the script again <em>or you&#8217;ll delete your previous tweet!</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/374/twitter-undo/feed</wfw:commentRss>
		</item>
		<item>
		<title>Hit-And-Run</title>
		<link>http://www.red-sweater.com/blog/349/hit-and-run</link>
		<comments>http://www.red-sweater.com/blog/349/hit-and-run#comments</comments>
		<pubDate>Thu, 07 Jun 2007 23:37:53 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[AppleScript]]></category>

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

		<guid isPermaLink="false">http://www.red-sweater.com/blog/349/hit-and-run</guid>
		<description><![CDATA[O&#8217;Reilly&#8217;s MacDevCenter has posted the most definitive article I&#8217;ve ever seen on attaching keyboard shortcuts to scripts:

Hit-and-Run: Launching AppleScripts With Keyboard Shortcuts


Jochen Wolters explains the why and the how in brilliant detail. Of course, I&#8217;m also excited that his description of the how settles on FastScripts and QuickSilver as the best choices. I especially like [...]]]></description>
			<content:encoded><![CDATA[<p>O&#8217;Reilly&#8217;s MacDevCenter has posted the most definitive article I&#8217;ve ever seen on attaching keyboard shortcuts to scripts:</p>
<p>
<a href="http://oreillynet.com/pub/a/mac/2007/06/08/hit-and-run-launching-applescripts-with-keyboard-shortcuts.html?page=1">Hit-and-Run: Launching AppleScripts With Keyboard Shortcuts</a>
</p>
<p>
<a href="http://www.oreillynet.com/pub/au/2663">Jochen Wolters</a> explains the why and the how in brilliant detail. Of course, I&#8217;m also excited that his description of the how settles on <a href="http://www.red-sweater.com/fastscripts/">FastScripts</a> and <a href="http://quicksilver.blacktree.com/">QuickSilver</a> as the best choices. I especially like this summary of FastScripts:
</p>
<blockquote><p>&#8220;If you want to use global keyboard shortcuts for launching your AppleScripts, FastScripts simply is the most Mac-like way to achieve this.&#8221;</p></blockquote>
<p>
I can live with that description!
</p>
<p>
I noticed that Jochen dings FastScripts slightly for its alleged inability to run Automator workflows. It can in fact run workflows, it&#8217;s just a question of getting the workflow files into a folder where FastScripts will notice them. Since FastScripts 2.2.3 (finally!) added the ability to drag aliases to folders into your script folder hierarchy, you should be able to simply drag an alias of ~/Library/Workflows into your ~/Library/Scripts folder, and FastScripts will pick them up.
</p>
<p>
For the especially Terminal-gifted, there is a secret FastScripts defaults key that would also help here. The <a href="http://www.red-sweater.com/RedSweater/FSHelp.html#HideLibrary">ScriptTreePathsKey</a> specifies the list of paths FastScripts should include in its search for scripts and other launchable items. If you add &#8220;FSSP%%%$HOME$/Library/Workflows&#8221; to the list, then you should be in business.
</p>
<p>
It occurs to me that I should include automatic support for listing the contents of ~/Library/Workflows in a future release of FastScripts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/349/hit-and-run/feed</wfw:commentRss>
		</item>
		<item>
		<title>FastScripts 2.3.2</title>
		<link>http://www.red-sweater.com/blog/344/fastscripts-232</link>
		<comments>http://www.red-sweater.com/blog/344/fastscripts-232#comments</comments>
		<pubDate>Mon, 04 Jun 2007 13:52:33 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[FastScripts]]></category>

		<guid isPermaLink="false">http://www.red-sweater.com/blog/344/fastscripts-232</guid>
		<description><![CDATA[FastScripts 2.3.2 has been released, and contains a few very significant bug fixes:

Support for aliases to folders in script hierarchy!
Improve performance of syncing changes to script folders
Fix display of keyboard shortcuts on non-US keyboard layout
Avoid adding menu item separators for empty script folders


This was easily the most difficult bug-fix release I&#8217;ve shipped yet. See the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.red-sweater.com/fastscripts/">FastScripts 2.3.2</a> has been released, and contains a few very significant bug fixes:</p>
<ul>
<li>Support for aliases to folders in script hierarchy!</li>
<li>Improve performance of syncing changes to script folders</li>
<li>Fix display of keyboard shortcuts on non-US keyboard layout</li>
<li>Avoid adding menu item separators for empty script folders</li>
</ul>
<p>
This was easily the most difficult bug-fix release I&#8217;ve shipped yet. See the first item in the list above? Wonder why there&#8217;s a an exclamation point at the end of that sentence? Partly it&#8217;s because the feature has been requested for many years, so it&#8217;s long overdue. But mainly it&#8217;s because finally delivering this functionality puts a cap on what have been some very frustrating and difficult design changes behind the scenes with FastScripts.
</p>
<p>
All of this work, and all I get is a double-dot bug fix release?
</p>
<p>
The reason is that although FastScripts is dramatically changed by this fix, I do consider the failure to support folder aliases as a bug. It was an oversight on my part when I first designed FastScripts, and the oversight cost me dearly in the ways I decided to implement it. The short story is that the automatic syncing that goes on between your scripts, the menu display, and your keyboard shortcuts is all <em>sort of magical</em>. It&#8217;s a design goal of FastScripts that you should be able to do just about anything you like with your scripts: move them, edit them, delete them, add shortcuts, remove shortcuts, etc., and that FastScripts should not only keep up but keep up correctly, without requiring you to quit and relaunch the application.
</p>
<p>
Allowing folder aliases just adds to the complexity. For instance, a particular script can now be pointed to by two separate keyboard shortcuts, which reach the script via different paths through the script tree. Sounds academic, but it&#8217;s important to distinguish between these two shortcuts, because one might be a global shortcut, and the other application-specific.
</p>
<p>
The magic comes at the cost of repeated developer forehead-slapping. Enjoy :)
</p>
<p>
<strong>Update:</strong> I was sort of holding my breath hoping nothing too terrible would be discovered in this release. Well, so far nothing <em>too</em> terrible, but <a href="http://samuraicoder.net/">Takaaki Kato</a> found a little issue: aliases to applications bundles no longer show the application as a launchable icon in the menu. The problem here is aliases to .app bundles are technically aliases to folders. The new feature is working too well! I will get working on a fix for this.
</p>
<p><strong>Update 2:</strong> Fixed in 2.3.3.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/344/fastscripts-232/feed</wfw:commentRss>
		</item>
		<item>
		<title>Are You Feeling Lucky, Punk?</title>
		<link>http://www.red-sweater.com/blog/319/are-you-feeling-lucky-punk</link>
		<comments>http://www.red-sweater.com/blog/319/are-you-feeling-lucky-punk#comments</comments>
		<pubDate>Wed, 11 Apr 2007 16:49:54 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[FastScripts]]></category>

		<guid isPermaLink="false">http://www.red-sweater.com/blog/319/are-you-feeling-lucky-punk</guid>
		<description><![CDATA[In the years since I first started developing FastScripts, all manner of keyboard-shortcut type solutions have popped up, including the enormously ambitious Quicksilver, and the refined, trigger-action-oriented Butler.

But some of us still appreciate FastScripts for its simplicity. Put scripts in the standard Apple-location, cmd-select them from the FastScripts menu, and assign a keystroke. FastScripts could [...]]]></description>
			<content:encoded><![CDATA[<p>In the years since I first started developing <a href="http://www.red-sweater.com/fastscripts/">FastScripts</a>, all manner of keyboard-shortcut type solutions have popped up, including the enormously ambitious <a href="http://quicksilver.blacktree.com/">Quicksilver</a>, and the refined, trigger-action-oriented <a href="http://www.manytricks.com/butler/">Butler</a>.</p>
<p>
But some of us still appreciate FastScripts for its simplicity. Put scripts in the standard Apple-location, cmd-select them from the FastScripts menu, and assign a keystroke. FastScripts could be improved in some important ways, but it&#8217;s been in &#8220;stable and revered&#8221; mode for years now, which has made it a reliable tool for people to recommend to others. I think it&#8217;s easy to recommend because it does exactly what it says it will do, and little more. You don&#8217;t need to join a FastScripts cult or change your entire workflow to get some use out of it!
</p>
<p>
Michael Tsai recommends it in the <a href="http://c-command.com/bbautocomplete/manual">manual</a> to his <a href="http://c-command.com/bbautocomplete/">BBAutoComplete</a> product. I see frequent referrals from Quark and InDesign forums, where running scripts efficiently is a major part of the creative and production process. It&#8217;s gratifying to know that FastScripts has become a part of the productive environment for so many people.
</p>
<p>
But sometimes people just use it because they feel lucky. Christopher Biagini shares his <a href="http://assortedgeekery.com/archives/2007/04/10/im-feeling-lucky">I&#8217;m Feeling Lucky</a> script, which performs a simple but useful task. It asks you for a phrase, then it does the Google search for you, then it takes you straight to the &#8220;I&#8217;m Feeling Lucky&#8221; link. I clicked the handy &#8220;open it directly&#8221; button which worked like a charm to bring it to Script Editor. Then saved it to my Scripts folder and assigned a keystroke. Nifty! And a lot lighter-weight than <a href="http://desktop.google.com/mac/">Google Desktop</a> :)
</p>
<p>
Go ahead, make my day. Give <a href="http://www.red-sweater.com/fastscripts/">FastScripts</a> a try!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/319/are-you-feeling-lucky-punk/feed</wfw:commentRss>
		</item>
		<item>
		<title>FastScripts 2.3.1</title>
		<link>http://www.red-sweater.com/blog/234/fastscripts-231</link>
		<comments>http://www.red-sweater.com/blog/234/fastscripts-231#comments</comments>
		<pubDate>Fri, 08 Dec 2006 16:09:58 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[FastScripts]]></category>

		<guid isPermaLink="false">http://www.red-sweater.com/blog/234/fastscripts-231</guid>
		<description><![CDATA[I&#8217;ve been sitting on this release too long, because of a very minor unreproducible (harmless!) bug that I&#8217;m trying to track down. Anyway, there&#8217;s no reason to hold out any longer. Those of you wanting to use the Tab, Escape, and Return keys in your script keyboard shortcuts will be happy with this release!

FastScripts 2.3.1


Version [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been sitting on this release too long, because of a very minor unreproducible (harmless!) bug that I&#8217;m trying to track down. Anyway, there&#8217;s no reason to hold out any longer. Those of you wanting to use the Tab, Escape, and Return keys in your script keyboard shortcuts will be happy with this release!</p>
<p>
<a href="http://www.red-sweater.com/fastscripts/">FastScripts 2.3.1</a>
</p>
<p>
Version Changes:</p>
<ul>
<li>Allow return, tab, escape as keyboard shortcuts - the only key not supported is &#8220;delete&#8221;</li>
<li>Fix a weird &#8220;only works every other time&#8221; bug with scripts that use UI Scripting for keystrokes</li>
<li>Allow dragging of FastScripts note windows by holding command while clicking</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/234/fastscripts-231/feed</wfw:commentRss>
		</item>
		<item>
		<title>Random Color Terminal</title>
		<link>http://www.red-sweater.com/blog/220/random-color-terminal</link>
		<comments>http://www.red-sweater.com/blog/220/random-color-terminal#comments</comments>
		<pubDate>Thu, 02 Nov 2006 22:42:05 +0000</pubDate>
		<dc:creator>Daniel Jalkut</dc:creator>
		
		<category><![CDATA[AppleScript]]></category>

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

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

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

		<guid isPermaLink="false">http://www.red-sweater.com/blog/220/random-color-terminal</guid>
		<description><![CDATA[Erik Barzeski stumbled on a cool trick with Terminal&#8217;s scriptability, allowing him to save presets for his favorite color schemes in AppleScript. His approach is especially brilliant since he&#8217;s using FastScripts to trigger the scripts!

This gave me a little whimsy of an idea, that it would be cool to have a script on hand to [...]]]></description>
			<content:encoded><![CDATA[<p>Erik Barzeski stumbled on a <a href="http://nslog.com/2006/11/02/terminal_color_changing_via_applescript/">cool trick</a> with Terminal&#8217;s scriptability, allowing him to save presets for his favorite color schemes in AppleScript. His approach is especially brilliant since he&#8217;s using <a href="http://www.red-sweater.com/fastscripts/">FastScripts</a> to trigger the scripts!</p>
<p>
This gave me a little whimsy of an idea, that it would be cool to have a script on hand to change the color of the frontmost terminal to some random color scheme.
</p>
<p>
<a href="http://www.red-sweater.com/AppleScript/RandomColorTerminal.zip">Random Color Terminal</a> does just that. It sure comes up with some ugly schemes, but the good news is that with a Terminal-specific shortcut assigned to the script, I can rip through random choices until I see something I like. I even discovered a <a href="http://www.wilsonmar.com/1colors.htm">little algorithm</a> online to determine whether black or white text is best for the given background color.
</p>
<p>
<img src="http://www.red-sweater.com/blog/images/ColorTerminals.gif"/>
</p>
<p>
Speaking of Terminal and AppleScript, here&#8217;s a little quickie that I really appreciate in Terminal:
</p>
<p><pre>
tell application "Terminal"
	try
		do script "cd ~/" in window 1
	on error
		do script "cd ~/"
	end try
end tell
</pre>
</p>
<p>
It shouldn&#8217;t be hard for you to recognize this as &#8220;go to my home directory.&#8221; So what&#8217;s the big deal? Well I set it as a FastScripts shortcut with the key combination &#8220;Cmd-Shift-H.&#8221; <em>The same combination</em> as the Finder uses for the same action. So now whether I&#8217;m sitting in Terminal or the Finder, that basic keystroke gets me to the same place.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-sweater.com/blog/220/random-color-terminal/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.566 seconds -->
