<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Matt Mazur</title>
	<atom:link href="http://www.mattmazur.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mattmazur.com</link>
	<description>Let's see what happens</description>
	<lastBuildDate>Tue, 31 Jan 2012 01:57:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ran Unit Tests&#8230;</title>
		<link>http://www.mattmazur.com/2012/01/ran-unit-tests/</link>
		<comments>http://www.mattmazur.com/2012/01/ran-unit-tests/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 01:57:27 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[Lean Designs]]></category>
		<category><![CDATA[Quickmeme]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1817</guid>
		<description><![CDATA[I&#8217;ve recently become a big fan of Quickmeme, especially Success Kid. I&#8217;ll try not to go overboard, but I&#8217;m thinking about posting a few of my own on this blog as my startup adventures continue (and no they won&#8217;t all be Success Kid). Most of them probably won&#8217;t be very funny, but maybe that&#8217;s what [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/ran_unit_tests.png"><img class="alignnone size-full wp-image-1818" title="ran_unit_tests" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/ran_unit_tests.png" alt="" width="397" height="397" /></a></p>
<p>I&#8217;ve recently become a big fan of <a href="http://www.quickmeme.com/">Quickmeme</a>, especially <a href="http://www.quickmeme.com/Success-Kid/">Success Kid</a>.</p>
<p>I&#8217;ll try not to go overboard, but I&#8217;m thinking about posting a few of my own on this blog as my startup adventures continue (and no they won&#8217;t all be Success Kid). Most of them probably won&#8217;t be very funny, but maybe that&#8217;s what will be funny about it.</p>
<p>In today&#8217;s episode, I finally got all my unit tests to pass for my Lean Designs Rails 3 upgrade (it&#8217;s still at Rails 2.3.5&#8230; gasp).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/ran-unit-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lean Domain Search: Two Weeks After the HackerNews Launch</title>
		<link>http://www.mattmazur.com/2012/01/lean-domain-search-two-weeks-after-the-hackernews-launch/</link>
		<comments>http://www.mattmazur.com/2012/01/lean-domain-search-two-weeks-after-the-hackernews-launch/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 15:44:12 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[Lean Domain Search]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1806</guid>
		<description><![CDATA[Two weeks ago I launched Lean Domain Search, a new domain search tool, on HackerNews. If you&#8217;re not familiar with it, Lean Domain Search pairs your search term with 1,000+ other keywords commonly found in domain names and instantly shows you which of the generated domain names are still available. It makes finding a great [...]]]></description>
			<content:encoded><![CDATA[<p>Two weeks ago <a href="http://news.ycombinator.com/item?id=3470977">I launched Lean Domain Search</a>, a new domain search tool, on <a href="http://news.ycombinator.com/news">HackerNews</a>.</p>
<p>If you&#8217;re not familiar with it, <a href="http://www.leandomainsearch.com">Lean Domain Search</a> pairs your search term with 1,000+ other keywords commonly found in domain names and instantly shows you which of the generated domain names are still available. It makes finding a great domain name for your website really, really easy.</p>
<p>I&#8217;ve launched four other apps on HackerNews (<a href="http://news.ycombinator.com/item?id=456471">Domain Pigeon</a>, <a href="http://news.ycombinator.com/item?id=810112">HNTrends</a>, <a href="http://news.ycombinator.com/item?id=1114834">Preceden</a>, and <a href="http://news.ycombinator.com/item?id=1829657">jMockups</a>/<a href="http://www.leandesigns.com/">LeanDesigns</a>) and Lean Domain Search was by far the one that was met with the most enthusiasm. And rightfully so &#8212; finding a great domain name is a problem that everyone with a web presence faces and until now &#8212; even with the existing tools &#8212; it&#8217;s been very hard to find a good one without spending a lot of time or money on it.</p>
<h1><strong>Traffic Overview</strong></h1>
<p>Here&#8217;s what week 1 looked like (click to view full size):</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/lds_week1.png"><img class="alignnone size-Screenshot wp-image-1807" title="lds_week1" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/lds_week1-500x361.png" alt="" width="500" height="361" /></a></p>
<p>This is the typical pattern in each of the startups I&#8217;ve launched:</p>
<p>Launch day you get a huge boost of traffic from the early adopters checking out the new-hot-thing and then over the next few weeks it stabilizes at a much lower number. Consider: not everyone who visited that first day needed a domain name that day. What&#8217;s important is not how many visitors you get when you launch, it&#8217;s how many come back. Lean Domain Search saw 8,350 unique visitors the first day thanks to sitting on the HN frontpage for almost 20 hours. Two weeks later and with no major additional press coverage, that <strong>number of daily uniques has stabilized at around 400</strong>.</p>
<p><a href="http://theleanstartup.com/">Traffic though is not a good indicator of quality</a> &#8212; so how&#8217;s it <em>actually</em> doing?</p>
<h1><strong>Metrics Overview</strong></h1>
<p>One important indicator of how useful the tool is is the average number of searches per visitor. If you find the tool useful, you&#8217;re more likely to make additional searches so tracking the averages searches per user is a pretty good indicator of quality. In this case, that number has steadily risen since the launch:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/avg_searches.png"><img class="alignnone size-Screenshot wp-image-1808" title="avg_searches" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/avg_searches-500x188.png" alt="" width="500" height="188" /></a></p>
<p>And this makes sense &#8212; launch day (Jan 16) had a lot of folks just checking it out so you&#8217;d expect the number of searches to be lower. As the ooh-shiny-thing traffic fades off, the people who are left are the ones who are actually using the tool for its intended purpose. Currently, the <strong>average number of searches per user is hovering at around 4</strong>.</p>
<p>The average number of available results has also steadily risen:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/avg_results.png"><img class="alignnone size-full wp-image-1809" title="avg_results" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/avg_results.png" alt="" width="482" height="207" /></a></p>
<p>Again, I think this is simply due to the nature of the people who are using it &#8212; the longer you stick around, the more likely you are to search for less-common and obscure words which on average will return more available domain names. Currently, the <strong>average number of available domains returned per search is a little over 600</strong> and I expect that number to go up a lot over next few weeks (more on that in a moment).</p>
<p>One thing I&#8217;ve spent a lot of time on since the launch is improving the quality and speed of the results. Here&#8217;s a graph showing the impact of my speed optimizations:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/avg_duration.png"><img class="alignnone size-full wp-image-1810" title="avg_duration" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/avg_duration.png" alt="" width="459" height="154" /></a></p>
<p>On launch day, the average search took 4.39 seconds (227 domains/second). Yesterday, the average search tool 2.98 seconds (335 domains/second), a <strong>47% increase in speed</strong> (the duration distribution is actually bimodal &#8212; if you search for a phrase that has been searched for before, a cache will kick in and it will take fractions of a second; if you search for a new phrase, it takes a few seconds to perform the lookup; it averages out around 3s).</p>
<p>By the way, all of these metrics were tracked by <a href="http://www.mixpanel.com">Mixpanel</a>. If you run a JavaScript heavy application, you absolutely should be using it to track your app&#8217;s analytics.</p>
<p>Finally, one important qualitative indicator is the number of positive things folks are saying about Lean Domain Search like &#8220;<em>This is exactly what I need. I have been having difficulty looking for viable domain names that contain good keywords and that I can use as a business name as well. Great help.</em>&#8221; and more colorfully “<em>Holy balls that comes back with some quick results</em>.&#8221; You can read the other testimonials <a href="http://www.leandomainsearch.com/testimonials">here</a>. :)</p>
<h1>Design Improvements</h1>
<p>Here&#8217;s the design on launch day and now (click to enlarge):</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/lds_20120116_vs_20120130.png"><img class="alignnone size-Screenshot wp-image-1811" title="lds_20120116_vs_20120130" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/lds_20120116_vs_20120130-500x249.png" alt="" width="500" height="249" /></a></p>
<p>The overall design hasn&#8217;t change much, but there are a few notable exceptions.</p>
<ul>
<li>Added filtering and sorting options (starts with search term, ends with search term, sort by length or alphabetical)</li>
<li>Added a <em>News</em> section where I can post significant updates for visitors</li>
<li>Added a <em>Synonyms</em> section which lists synonyms of your search term if they exist</li>
<li>Added Moniker and BlueHost to the list of registrars</li>
<li>Darkened the shade of green used for available search results</li>
<li>Changed the registration box from a fixed position to a draggable dialog box so users can move it out of the way</li>
<li>The registered search results are now hidden by default</li>
<li>The &#8220;Add to favorites&#8221; icon (which used to be a plus sign you&#8217;d see when hovering over a domain) is now in the registration options box &#8212; I did this because opening the registration options box now automatically triggers a &#8220;double-check&#8221; feature which confirms the availability of the domain name you clicked on and I don&#8217;t want users adding domains to their favorites that are actually registered</li>
<li>Added a testimonials link on the footer and removed the UserVoice suggestions link (no one was using it)</li>
</ul>
<h1>The Future (<em>Viva la Revolución!)</em></h1>
<p>With the major kinks worked out, it&#8217;s time to start looking forward.</p>
<p><strong>Starting today (Monday, 30 Jan), I will add 100 new domains per week to the search results. </strong>From launch day until today, there have been 1,000 results when you search for a given term. Today, there are 1,100. Nine weeks from now, there will be 2,000 search results. And i&#8217;ll continue doing this as long as the quality of the results stays high and the servers can handle it.</p>
<p>Bottom line: it&#8217;s now easier than ever to find a great available domain name. <strong>If you&#8217;re launching a new blog, a startup, or any other endeavor that requires a new domain name, you should never have to pay a domain-squatter again.</strong></p>
<p><a href="http://www.leandomainsearch.com">Give Lean Domain Search a shot</a> and let me know how to make it better.</p>
<p>Matt (<a href="http://www.twitter.com/mhmazur">@mhmazur</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/lean-domain-search-two-weeks-after-the-hackernews-launch/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Remembering AOL&#8217;s FDO91 Programming Language</title>
		<link>http://www.mattmazur.com/2012/01/remembering-aols-fdo91-programming-language/</link>
		<comments>http://www.mattmazur.com/2012/01/remembering-aols-fdo91-programming-language/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 17:27:42 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[AOL-Files]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1801</guid>
		<description><![CDATA[Back in 1999 I cofounded AOL-Files.com, which eventually grew into the largest AOL hacking site of its kind. One of the primary methods we used to discover exploits in the AOL software was by writing our own script&#8217;s using AOL&#8217;s Form Definition Order (FDO) programming language. From the AOL-Files FAQs on FDO: FDO stands for Form Definition Operator. AOL [...]]]></description>
			<content:encoded><![CDATA[<p>Back in 1999 <a href="http://www.mattmazur.com/archive/aol-files.html">I cofounded AOL-Files.com</a>, which eventually grew into the <a href="http://www.mattmazur.com/category/aol-files/">largest AOL hacking site of its kind</a>.</p>
<p>One of the primary methods we used to discover exploits in the AOL software was by writing our own script&#8217;s using AOL&#8217;s Form Definition Order (FDO) programming language. From the <a href="http://www.mattmazur.com/archive/aol-files/fdo91/tutorial_faq.html">AOL-Files FAQs on FDO</a>:</p>
<blockquote><p>FDO stands for Form Definition Operator. AOL communicates using this programming language. For example, after clicking any icon or button in AOL, FDO code is sent by the AOL system and interpreted by your AOL to create a window. So, the FDO language is the language used to describe forms on the AOL client. This site has focus on learning how to program in FDO and provides a surfeit of examples and tutorials for those who want to learn.</p></blockquote>
<p>When BMB, Rob, and I started AOL-Files, FDO was all but unknown outside of the AOL development teams.</p>
<p>We did not have any official documentation, but through lots of experimentation we were able to figure out how FDO worked and eventually how to use it to discover <a href="http://www.mattmazur.com/archive/aol-files/articles/index.html">holes in the AOL software and service</a>.</p>
<p>Here, for example, are three tutorials I wrote back in the day as an introduction to FDO91 (the version of FDO in use at the time):</p>
<ul>
<li><a href="http://www.mattmazur.com/archive/aol-files/fdo91/">Lessons 1: Streams, Atoms, and Tokens </a></li>
<li><a href="http://www.mattmazur.com/archive/aol-files/fdo91/tutorial_lesson02.html">Lesson 2: Basic Atoms</a></li>
<li><a href="http://www.mattmazur.com/archive/aol-files/fdo91/tutorial_lesson03.html">Lesson 3: Command Buttons</a></li>
</ul>
<p>To give you an idea of how much we sought after an official manual, I wrote this in the first lesson:</p>
<blockquote><p>FDO tutorials are unheard of. I have heard rumors that very few people at AOL have the FDO91 Manual. I will pay money for any professionally written, extensive, and full tutorial. Name your price.</p></blockquote>
<p>A little dramatic maybe, but we really did want the official manuals. Rather than reverse engineer it through experimentation, an official manual would tell us exactly what did what and with that information we could discover exploits at a much faster rate than ever before. Alas, we never got ahold of one and had to make due with figuring it through trial and error.</p>
<p>Why mention all this now? A friend recently pointed me to this <a href="http://www.flickr.com/photos/joelogon/2123079210/">photo on Flikr but Joe Long</a>:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/2123079210_913a571191.jpg"><img class="alignnone size-full wp-image-1802" title="2123079210_913a571191" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/2123079210_913a571191.jpg" alt="" width="500" height="375" /></a></p>
<p>We have:</p>
<ul>
<li>Building an Online Service</li>
<li>New Building User&#8217;s Guide</li>
<li>Editorial Plan</li>
<li>FDO91 Manual &#8211; Volume 1</li>
<li>FDO91 Manual &#8211; Volume 2</li>
<li>Information Provider&#8217;s Guide</li>
<li>Bringing Information Online Using Rainman (more info on Rainman <a href="http://www.mattmazur.com/archive/aol-files/downloads/tools/win/vpr/index.html">here</a>)</li>
<li>FDO88 Manual</li>
</ul>
<p>Wow. Only 12 years too late :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/remembering-aols-fdo91-programming-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Add Terminal Aliases in Mac OS X Lion</title>
		<link>http://www.mattmazur.com/2012/01/how-to-add-terminal-aliases-in-mac-os-x-lion/</link>
		<comments>http://www.mattmazur.com/2012/01/how-to-add-terminal-aliases-in-mac-os-x-lion/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 19:03:39 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1781</guid>
		<description><![CDATA[One quick productivity hack is to add command line aliases to your Terminal in Mac OS X. For example, I prefer typing c instead of clear to clear the terminal and I usually add all sorts of shortcuts for cd&#8217;ing into directories that I use often. Here&#8217;s how to do it: 1) Navigate to your [...]]]></description>
			<content:encoded><![CDATA[<p>One quick productivity hack is to add command line aliases to your Terminal in Mac OS X.</p>
<p>For example, I prefer typing <code>c</code> instead of <code>clear</code> to clear the terminal and I usually add all sorts of shortcuts for cd&#8217;ing into directories that I use often.</p>
<p>Here&#8217;s how to do it:</p>
<p>1) <strong>Navigate to your home directory:</strong></p>
<p><code>cd ~</code></p>
<p>2) <strong>Open up .bash_profile using vi:</strong></p>
<p><code>vi .bash_profile</code></p>
<p>3) <strong>Add an alias (press <code>i</code>):</strong></p>
<p><code>alias c="clear"</code></p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_alias.png"><img class="alignnone size-full wp-image-1782" title="terminal_alias" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_alias.png" alt="" width="424" height="312" /></a></p>
<p>4) <strong>Save the file (press <code>Escape</code>, type <code>:wq</code>, and hit <code>Enter</code>)</strong></p>
<p>5) <strong>Restart Terminal</strong></p>
<p>If you followed this example, you should now be able to just type <code>c</code> and <code>Enter</code> in Terminal to get the same affect as typing <code>clear</code>.</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_c.png"><img class="alignnone size-full wp-image-1788" title="terminal_c" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_c.png" alt="" width="490" height="312" /></a></p>
<p>For more information, <a href="http://clarksco.com/?p=32">this post</a> gives some additional examples of aliases you can add.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/how-to-add-terminal-aliases-in-mac-os-x-lion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Change Your Default Terminal Prompt in Mac OS X Lion</title>
		<link>http://www.mattmazur.com/2012/01/how-to-change-your-default-terminal-prompt-in-mac-os-x-lion/</link>
		<comments>http://www.mattmazur.com/2012/01/how-to-change-your-default-terminal-prompt-in-mac-os-x-lion/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 18:48:27 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1767</guid>
		<description><![CDATA[By default, when you open up a new Terminal window in Mac OS X the command prompt displays a relatively long name: I prefer to shorten this to a simple dollar sign ($) in order to free up space. To change your default command line prompt, follow these instructions: 1) Navigate to your home directory: [...]]]></description>
			<content:encoded><![CDATA[<p>By default, when you open up a new Terminal window in Mac OS X the command prompt displays a relatively long name:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_default1.png"><img class="alignnone size-full wp-image-1769" title="terminal_default" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_default1.png" alt="" width="460" height="284" /></a></p>
<p>I prefer to shorten this to a simple dollar sign ($) in order to free up space.</p>
<p>To change your default command line prompt, follow these instructions:</p>
<p>1) <strong>Navigate to your home directory</strong>:</p>
<p><code>cd ~</code></p>
<p>2) <strong>Create a file called <code>.bash_profile</code></strong></p>
<p><code>vi .bash_profile</code></p>
<p>3) <strong>Add the following line (press <code>i</code>)</strong></p>
<p><code>export PS1="$ "</code></p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_dollar1.png"><img class="alignnone size-full wp-image-1784" title="terminal_dollar" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_dollar1.png" alt="" width="490" height="312" /></a></p>
<p>4) <strong>Save the file (press <code>Escape</code>, type <code>:wq</code> and hit <code>Enter</code>)</strong></p>
<p>5) <strong>Restart Terminal</strong></p>
<p>You should now see something like this:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_dollar_after.png"><img class="alignnone size-full wp-image-1786" title="terminal_dollar_after" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/terminal_dollar_after.png" alt="" width="490" height="312" /></a></p>
<p>There are <a href="http://osxdaily.com/2006/12/11/how-to-customize-your-terminal-prompt/">other ways you can configure the command prompt</a> (for example, showing the current time), but I prefer to keep it simple.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/how-to-change-your-default-terminal-prompt-in-mac-os-x-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Change Your Default Screenshot Location on Mac OS X Lion</title>
		<link>http://www.mattmazur.com/2012/01/how-to-change-your-default-screenshot-location-on-mac-os-x-lion/</link>
		<comments>http://www.mattmazur.com/2012/01/how-to-change-your-default-screenshot-location-on-mac-os-x-lion/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 18:22:15 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1760</guid>
		<description><![CDATA[I&#8217;m just getting around to setting up my new Macbook Pro and figured I&#8217;d document my experiences in case it helps anyone else. In order to write tutorials I need to take screenshots and by default Mac&#8217;s save screenshots to the Desktop, which I don&#8217;t like because  the Desktop tends to get cluttered very quickly. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m just getting around to setting up my new Macbook Pro and figured I&#8217;d document my experiences in case it helps anyone else.</p>
<p>In order to write tutorials I need to take screenshots and by default Mac&#8217;s save screenshots to the Desktop, which I don&#8217;t like because  the Desktop tends to get cluttered very quickly.</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/screenshot_desktop.png"><img class="alignnone size-full wp-image-1761" title="screenshot_desktop" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/screenshot_desktop.png" alt="" width="193" height="155" /></a></p>
<p>Instead, I prefer to keep them in a separate folder reserved only for screenshots.</p>
<p>To change the default screenshot location, follow these instructions:</p>
<p>1) <strong>Create a folder called</strong> <strong>Screenshots</strong> in your Pictures folder (or wherever):</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/screenshot_folder.png"><img class="alignnone size-full wp-image-1762" title="screenshot_folder" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/screenshot_folder.png" alt="" width="442" height="292" /></a></p>
<p>2) <strong>Open up Terminal</strong> and enter the following (one line):</p>
<p><code>defaults write com.apple.screencapture location /Users/yourlogin/Pictures/Screenshots</code></p>
<p>(Replacing <em>yourlogin</em> with your login name.)</p>
<p>3) <strong>Restart your computer</strong> for the changes to take effect</p>
<p>After you restart, new screenshots will be automatically saved to the Screenshots folder instead of the Desktop:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/screenshot_finder.png"><img class="alignnone size-Screenshot wp-image-1764" title="screenshot_finder" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/screenshot_finder-500x391.png" alt="" width="500" height="391" /></a></p>
<p>Hat tip to Macworld for the original <a href="http://hints.macworld.com/article.php?story=20050824073301844">instructions</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/how-to-change-your-default-screenshot-location-on-mac-os-x-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Analyzing the Shipment History of a Macbook Pro Delivered from Shanghai to Boston In Less Than Four Days</title>
		<link>http://www.mattmazur.com/2012/01/analyzing-the-shipment-history-of-a-macbook-pro-delivered-from-shanghai-to-boston-in-less-than-four-days/</link>
		<comments>http://www.mattmazur.com/2012/01/analyzing-the-shipment-history-of-a-macbook-pro-delivered-from-shanghai-to-boston-in-less-than-four-days/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 15:37:10 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[Analysis]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1754</guid>
		<description><![CDATA[I bought a new Macbook Pro on Apple.com last Saturday evening (14 Jan 11) and it arrived via Fedex yesterday afternoon (Thursday, 19 Jan 11). Using the FedEx shipment history and a confirmation email I received immediately after placing the order, we can put together a pretty accurate timeline of where the Macbook was and [...]]]></description>
			<content:encoded><![CDATA[<p>I bought a new Macbook Pro on Apple.com last Saturday evening (14 Jan 11) and it arrived via Fedex yesterday afternoon (Thursday, 19 Jan 11).</p>
<p>Using the FedEx shipment history and a confirmation email I received immediately after placing the order, we can put together a pretty accurate timeline of where the Macbook was and when:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/macbook_shipment.png"><img class="alignnone size-full wp-image-1756" title="macbook_shipment" src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/macbook_shipment.png" alt="" width="533" height="222" /></a></p>
<p>The Macbook went from Shanghai to Anchorage to Newark to Franklin to Needham to my doorstep in less than 90 hours&#8211;not bad Fedex.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/analyzing-the-shipment-history-of-a-macbook-pro-delivered-from-shanghai-to-boston-in-less-than-four-days/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Twitter Name: @mhmazur</title>
		<link>http://www.mattmazur.com/2012/01/new-twitter-name-mhmazur/</link>
		<comments>http://www.mattmazur.com/2012/01/new-twitter-name-mhmazur/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 19:16:07 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[Lean Designs]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1752</guid>
		<description><![CDATA[Hey everyone, I just changed my Twitter name from @leandesigns to @mhmazur. If you were following @leandesigns, it should have automatically updated for you. I originally set up the @leandesigns account after I renamed jMockups to Lean Designs, but never really found the right balance between using it for marketing and using it for personal [...]]]></description>
			<content:encoded><![CDATA[<p>Hey everyone, I just changed my Twitter name from @leandesigns to @mhmazur. If you were following @leandesigns, it should have automatically updated for you.</p>
<p>I originally set up the @leandesigns account after I renamed jMockups to <a href="http://www.leandesigns.com">Lean Designs</a>, but never really found the right balance between using it for marketing and using it for personal use. I&#8217;m not much of a Twitterer (?), but saying Hi to friends from a company&#8217;s Twitter account seemed awkward. I probably should have used it more to engage with folks looking for a web design tool, but that always seemed too spammy (which is probably wrong). </p>
<p>Anyway, I think I&#8217;ll use it more now that it&#8217;s just a personal account. Feel free to say hi <a href="https://twitter.com/#!/mhmazur">@mhmazur</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/new-twitter-name-mhmazur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Switch Your Cedar Heroku App from Webrick to Thin</title>
		<link>http://www.mattmazur.com/2012/01/how-to-switch-your-cedar-heroku-app-from-webrick-to-thin/</link>
		<comments>http://www.mattmazur.com/2012/01/how-to-switch-your-cedar-heroku-app-from-webrick-to-thin/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 14:42:38 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[Lean Domain Search]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1724</guid>
		<description><![CDATA[Received an en email today from Cody K on my use of Webrick in production for Lean Domain Search: Hey Matt, Lean Domain Search is really neat &#8211; thanks for making it available. Just wanted to let you know that it&#8217;s a really bad idea to run Ruby web apps with Webrick in production &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Received an en email today from Cody K on my use of Webrick in production for Lean Domain Search:</p>
<blockquote><p>Hey Matt,</p>
<p>Lean Domain Search is really neat &#8211; thanks for making it available.</p>
<p>Just wanted to let you know that it&#8217;s a really bad idea to run Ruby web apps with Webrick in production &#8211; you should be using something like nginx and either Unicorn or Passenger. Those are battle-hardened and production-ready, whereas Webrick&#8217;s sole purpose is for development environments, and, as such, is not heavily tested (if at all) for security issues and whatnot.</p>
<p>Just a friendly heads up. :) Thanks again.</p></blockquote>
<p>Heroku&#8217;s <a href="http://devcenter.heroku.com/articles/rails3">Rails 3 docs</a> are also pretty clear on this and I remember reading it during my initial upgrade, but never got around to actually doing it.</p>
<blockquote><p>Thin is a recommended app server over Webrick (the default for rails). </p></blockquote>
<p>Switching to Thin is pretty easy:</p>
<p>1. Add <code>gem 'thin'</code> to your Gemfile:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/gemfile_thin.png"><img src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/gemfile_thin.png" alt="" title="gemfile_thin" width="425" height="497" class="alignnone size-full wp-image-1725" /></a></p>
<p>I added it to the production group because I want to keep using Webrick in development for now.</p>
<p>2. Make sure that you run <code>bundle install</code> to update your Gemfile otherwise you&#8217;ll receive a warning like this when you push to Heroku:</p>
<pre>You are trying to install in deployment mode after changing
your Gemfile. Run `bundle install` elsewhere and add the
updated Gemfile.lock to version control.
You have added to the Gemfile:
* thin</pre>
<p>3. Add a <a href="http://devcenter.heroku.com/articles/procfile">Procfile</a> to your root directory to instruct Heroku to use Thin instead of Webrick:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/procfile_thin.png"><img src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/procfile_thin.png" alt="" title="procfile_thin" width="430" height="61" class="alignnone size-full wp-image-1738" /></a></p>
<p>4. Commit and push your updated app to Heroku.</p>
<p>If all went well, you should see something like this in your logs:</p>
<p>2012-01-18T12:44:33+00:00 app[web.1]: >> Using rack adapter<br />
2012-01-18T12:44:33+00:00 app[web.1]: >> <b>Thin web server (v1.3.1 codename Triple Espresso)</b><br />
2012-01-18T12:44:33+00:00 app[web.1]: >> Listening on 0.0.0.0:38951, CTRL+C to stop<br />
2012-01-18T12:44:33+00:00 app[web.1]: >> Maximum connections set to 1024<br />
2012-01-18T12:44:34+00:00 heroku[web.1]: State changed from starting to up</p>
<p>Too easy.</p>
<p>One thing confused me though: How did Cody know that I was using Webrick? I emailed him and asked. </p>
<p>His response:</p>
<blockquote><p>I mistakenly typed some bogus characters in at the end of my address bar while I was on your site&#8230;something like this:  http://www.leandomainsearch.com/search?q=up^jf </p></blockquote>
<p>Sure enough, Webrick fails loudly when the URL includes a caret:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/webrick_error.png"><img src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/webrick_error.png" alt="" title="webrick_error" width="278" height="107" class="alignnone size-full wp-image-1743" /></a></p>
<p>Touché.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/how-to-switch-your-cedar-heroku-app-from-webrick-to-thin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating Big Huge Thesaurus&#8217;s API into Lean Domain Search</title>
		<link>http://www.mattmazur.com/2012/01/integrating-big-huge-thesauruss-api-into-lean-domain-search/</link>
		<comments>http://www.mattmazur.com/2012/01/integrating-big-huge-thesauruss-api-into-lean-domain-search/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 14:27:24 +0000</pubDate>
		<dc:creator>mattm</dc:creator>
				<category><![CDATA[Lean Domain Search]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.mattmazur.com/?p=1727</guid>
		<description><![CDATA[Big Huge Thesaurus by John Watson provides an excellent thesaurus API that can be quickly integrated into any app. The first step is to sign up for an API key which takes less than a minute. The API is free up to 10,000 requests per day and cheap if you need more than that. After [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://words.bighugelabs.com/">Big Huge Thesaurus</a> by <a href="http://watson-net.com/">John Watson</a> provides an excellent <a href="http://words.bighugelabs.com/api.php">thesaurus API</a> that can be quickly integrated into any app.</p>
<p>The first step is to <a href="http://words.bighugelabs.com/getkey.php">sign up for an API key</a> which takes less than a minute. The API is free up to 10,000 requests per day and cheap if you need more than that. </p>
<p>After you fill out the required information the site will generate an API key for you which you can use to access the API.</p>
<p>Here&#8217;s a simplified example of how I&#8217;m using it with in Lean Domain Search via jQuery:</p>
<pre class="brush: jscript; title: ; notranslate">
$.ajax({
  url : &quot;http://words.bighugelabs.com/api/2/youapikey/&quot; + word + &quot;/json?callback=?&quot;,
  dataType : 'json',
  complete : function(jqXHR, textStatus) {
    if (textStatus == 'parsererror') {
      // Did not find any synonyms
    }
  },
  success : function(data) {
    // Found synonyms
    alert(data);
  }
});
</pre>
<p>(<a href="https://gist.github.com/1633149">View Gist</a>)</p>
<p>Here&#8217;s an example of the returned JSON data for the word &#8220;open&#8221;:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/thesaurus_json.png"><img src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/thesaurus_json.png" alt="" title="thesaurus_json" width="227" height="498" class="alignnone size-full wp-image-1731" /></a></p>
<p>Note that the results are broken up by part of speech (noun, adjective, etc) and are further broken up into groups (&#8220;ant&#8221; for antonyms, &#8220;rel&#8221; for related terms, &#8220;sim&#8221; for similar terms, &#8220;syn&#8221; for synonyms).</p>
<p>All in all it took about two hours to integrate the Big Huge Thesaurus API into Lean Domain Search and only because I added some extra functionality (sorting and filtering the synonym list, tracking what % of the searches are discovered via the synonym list, etc). </p>
<p>Here&#8217;s what Lean Domain Search looks like now &#8212; note the synonym list in the right column:</p>
<p><a href="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/lds_thesaurus.png"><img src="http://www.mattmazur.com/wp/wp-content/uploads/2012/01/lds_thesaurus-500x616.png" alt="" title="lds_thesaurus" width="500" height="616" class="alignnone size-Screenshot wp-image-1732" /></a></p>
<p><a href="http://leandomainsearch.com/search?q=open">Click here</a> to check out the results for &#8220;open&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmazur.com/2012/01/integrating-big-huge-thesauruss-api-into-lean-domain-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

