<?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>Jon Gales</title>
	<atom:link href="http://www.jongales.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jongales.com/blog</link>
	<description>Personal weblog of Jon Gales</description>
	<lastBuildDate>Wed, 25 Jan 2012 16:57:11 +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>KitchenAid mixer bowl weight</title>
		<link>http://www.jongales.com/blog/2011/11/25/kitchenaid-mixer-bowl-weight/</link>
		<comments>http://www.jongales.com/blog/2011/11/25/kitchenaid-mixer-bowl-weight/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 16:50:56 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1241</guid>
		<description><![CDATA[This is more for me in the future, but it&#8217;s public just in case anyone else has the same question. I have a KitchenAid Artisan Series 5-Quart Mixer (it&#8217;s great, I&#8217;ve had mine since 2007) and often bake with a digital scale. On multiple occasions I have wanted to subtract the weight of the mixing [...]]]></description>
			<content:encoded><![CDATA[<p>This is more for me in the future, but it&#8217;s public just in case anyone else has the same question. I have a <a href="http://www.amazon.com/gp/product/B00005UP2P/ref=as_li_ss_tl?ie=UTF8&#038;tag=prsboos&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=B00005UP2P">KitchenAid Artisan Series 5-Quart Mixer</a> (it&#8217;s great, I&#8217;ve had mine since 2007) and often bake with a digital scale. On multiple occasions I have wanted to subtract the weight of the mixing bowl, but only deciding this after adding things to it and forgetting to notate its starting weight or taring the scale. It&#8217;s a pain to figure this out after the fact and I had previously managed to not write down its weight. So for me and whoever else, here it is:</p>
<h2>The weight of KitchenAid&#8217;s standard 5-quart mixing bowl is 793 grams (28 ounces)</h2>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2011/11/25/kitchenaid-mixer-bowl-weight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rain barrel fed by AC drain</title>
		<link>http://www.jongales.com/blog/2011/09/12/rain-barrel-fed-by-ac-drain/</link>
		<comments>http://www.jongales.com/blog/2011/09/12/rain-barrel-fed-by-ac-drain/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 14:06:57 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1225</guid>
		<description><![CDATA[I have a rooftop garden in downtown Tampa and thanks to the lack of an outside spigot have to manually transport water from inside. Well had to, now there&#8217;s a rain barrel that is fed by the AC unit. Being in humid Florida and for cooling a couple thousand square feet, the unit puts out [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jongales.com/blog/wp-content/uploads/2011/09/barrel.jpg"><img src="http://www.jongales.com/blog/wp-content/uploads/2011/09/barrel-300x272.jpg" alt="" title="barrel" width="300" height="272" align="right" /></a>I have a rooftop garden <a href="http://715franklin.com/">in downtown Tampa</a> and thanks to the lack of an outside spigot have to manually transport water from inside. Well had to, now there&#8217;s a rain barrel that is fed by the AC unit. Being in humid Florida and for cooling a couple thousand square feet, the unit puts out a lot of water per day (at least five gallons) and was previously emptying onto the roof and simply going down the drain. </p>
<p>I searched Amazon for a <a href="http://www.amazon.com/s?ie=UTF8&#038;x=0&#038;ref_=nb_sb_ss_c_1_7&#038;y=0&#038;field-keywords=rain%20barrel&#038;url=search-alias%3Dgarden&#038;sprefix=rain%20ba#?_encoding=UTF8&#038;tag=prsboos&#038;linkCode=ur2&#038;camp=1789&#038;creative=390957">rain barrel</a> and got a model from Algreen. After it was delivered I went to Home Depot and bought 3/8&#8243; tubing and a <a href="http://www.homedepot.com/buy/plumbing-pipes-fittings-valves-brass-pipe-fittings-fittings-couplings-adaptors/watts-3-8-in-brass-barb-splicer-176446.html">3/8&#8243; hose barb splicer</a> to connect the existing tubing and my extension. The rain barrel I bought (like almost all) is meant to tap into a gutter system, but has spaces to drill holes for tubing to connect multiple barrels together and/or for diversion when the barrel is full. I drilled a 3/8&#8243; hole in one of these and inserted the extended AC drain tube and drilled out the other to divert into the drain. The photo is after the first portion, the hose shown is coming from the AC that is on the building&#8217;s roof. The building has 10&#8242; ceilings and about a 4&#8242; crawl space above that, but there&#8217;s a half height portion where the door out to the deck is and that&#8217;s what the barrel is on. It&#8217;s convenient in that the water is coming from basically a story above the barrel and the barrel is feeding a garden about a story below&#8211;gravity is easy to harness.</p>
<p>It almost immediately started to fill with water and so far is providing more water than I need for the garden (time to get new plants!). It has not filled completely yet so I haven&#8217;t had time to perfect the overflow. For now it&#8217;s just a hose out and into a drain. </p>
<p>This is a great way to use a rain barrel for when you don&#8217;t have a gutter system in place or don&#8217;t want to use water that has been exposed to your roof. For the most part we have a flat commercial roof without gutters, not to mention all the tar and associated materials that roofs contain. This clean water was previously being thrown away. I&#8217;ll have to figure something out in the winter when the AC is not running, but for now it has the added benefit that it generates the most water on the hottest days which is exactly when the garden needs the most water. It&#8217;s a simple hack and took remarkably little time. The barrel itself even shipped overnight with Amazon Prime so the most time consuming process was probably hunting around Home Depot.</p>
<p><a href="http://www.jongales.com/blog/wp-content/uploads/2011/09/basil.jpg"><img src="http://www.jongales.com/blog/wp-content/uploads/2011/09/basil.jpg" alt="" title="Basil" width="400" height="261" align="center" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2011/09/12/rain-barrel-fed-by-ac-drain/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How a Hacker News comment turned into a large Red Cross donation</title>
		<link>http://www.jongales.com/blog/2011/03/18/hacker-news-comment-red-cross-donation/</link>
		<comments>http://www.jongales.com/blog/2011/03/18/hacker-news-comment-red-cross-donation/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 15:48:59 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Mobile Phones]]></category>
		<category><![CDATA[Praise]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1213</guid>
		<description><![CDATA[Since 2004 I have provided a mobile optimized version of the Drudge Report. I was a bit early on the mobile curve and back in 2004 browsers weren&#8217;t nearly as sophisticated (or data access as fast), so it was a huge time saver. Even today having one column makes things a ton faster to read, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="www.jongales.com/blog/2004/09/23/mobile-drudgereport/">Since 2004</a> I have provided a <a href="http://www.jongales.com/drudge/">mobile optimized version of the Drudge Report</a>. I was a bit early on the mobile curve and back in 2004 browsers weren&#8217;t nearly as sophisticated (or data access as fast), so it was a huge time saver. Even today having one column makes things a ton faster to read, so it has continued to <a href="http://www.jongales.com/blog/2008/11/04/mobile-drudge-report-going-strong/">draw an audience</a>. </p>
<p>After some slowdowns on my server I noticed a very large amount of iPhone users (north of 100,000 unique monthly) using the site, which I thought strange because on my other sites mobile usage is pretty evenly split across lines according to market share. There were no referrers, so I had no further insight into where the traffic was coming from. I updated it to use memcached which helped reduce load on my server and then didn&#8217;t put a whole lot of thought into it other than fixing it when Matt would change his formatting a bit and a user would email me letting me know (I rarely if ever use it myself). </p>
<p>Flash forward to this week when in the comments of a post on Hacker News I <a href="http://news.ycombinator.com/item?id=2329283">mentioned</a> this mysteriously popular web service and <a href="http://news.ycombinator.com/item?id=2329633">measure2xcut1x piped in</a> saying they have an iPhone app for the Drudge Report that uses my URL. It all clicked&#8211;that explains iOS traffic dwarfing all other mobile OS&#8217;s and the lack of referrers. I quickly got the app name and downloaded both the free and paid ($.99 at the time of download) versions to confirm. Sure enough, <a href="http://itunes.apple.com/us/app/drudge-report/id331490798?mt=8">the app</a> is a webkit view around my site with either iAds or the $.99 purchase price. All the while I&#8217;m funding the millions of hits monthly that the site receives. I was happy to provide free hosting/reformatting as a sort of public service, but not happy that someone else was profiting off it.</p>
<p>I emailed the app&#8217;s listed developer, <strong>James Leung</strong> of <em>Smartest Apple</em> and asked to talk. After some back and forth (and disagreements) I ended up shutting the app down by changing the URL of the service, 301 redirecting anyone not on an iPhone and providing a note for iPhone users telling them of the situation. Drudge&#8217;s humorous <a href="http://drudgereport.com/siren.gif">siren graphic</a> was also used, which made it pretty apparent something was wrong. This didn&#8217;t endear me to James much (or his superiors who control the money), but since I knew an update to the app to cut me out was coming ASAP and I had limited time with leverage. </p>
<p>I then had an idea, instead of sending me the money it could instead be donated to charity. With the current earthquake/tsunami/nuclear situation in Japan this seemed like a perfect idea and while I could find many ways to waste the money, the Red Cross could actually put it to good use. James wrote back right away saying he was in for his (small) cut of the revenue, but would have to get back to me for the bulk of it from his company. He wrote back again quickly saying that his employers would donate $5,000 if I would immediately return the functionality of my site so the app continued to work (negative reviews were pouring in). Almost directly afterwards I got another reply saying a matching $5,000 donation would also be made by the parent company. $10,000 to the Red Cross for Japan relief isn&#8217;t something to sneeze at, so I returned full functionality and thanked them for their generous donation. This morning he posted <a href="http://www.youtube.com/watch?v=18UVO8DGRJk">a video on YouTube</a> of the first $5,000 donation while the matching donation is still in progress (at the end it says on behalf of <a href="http://715franklin.com/">715 Franklin</a>, which is the shared office I&#8217;m a part of in Tampa).</p>
<p>Considering how my first thoughts of what to do were incredibly immature (goatse?), I&#8217;m very happy of how this turned out.</p>
<p>tl;dr a couple days after a Hacker News comment I was able to help secure $10,000 for the Red Cross. The Smartest Apple and James deserve credit for turning around a bad situation into a big win for people in need.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2011/03/18/hacker-news-comment-red-cross-donation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>List of content farms</title>
		<link>http://www.jongales.com/blog/2011/02/14/list-of-content-farms/</link>
		<comments>http://www.jongales.com/blog/2011/02/14/list-of-content-farms/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 20:51:15 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1187</guid>
		<description><![CDATA[Now that Google has an official extension to block domains from search engine results, I thought it would be handy to list the largest and most prevalent content farms. Google&#8217;s Personal Blocklist works well, but doesn&#8217;t let you access a shared block list so it&#8217;s up to you to have a good list. It also [...]]]></description>
			<content:encoded><![CDATA[<p>Now that Google has an <a href="https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbdaogikpmpbdcdef#">official extension</a> to block domains from search engine results, I thought it would be handy to list the largest and most prevalent content farms. Google&#8217;s Personal Blocklist works well, but doesn&#8217;t let you access a shared block list so it&#8217;s up to you to have a good list. It also makes you add sites from Google search result pages, so you&#8217;ll have to search for these domains and use the new block links that get injected by the extension. It&#8217;s a few more hoops to jump through than I&#8217;d like, but well worth it for less spammy SERPs going forward.</p>
<p><strong>Update:</strong> Google has now <a href="http://googleblog.blogspot.com/2011/03/hide-sites-to-find-more-of-what-you.html">made this an official feature</a> of their web search, so there&#8217;s no longer a Chrome extension required. It&#8217;s a bit more of a hassle to block sites with, but having cross browser support is a big win (I was already bugging out seeing spam results in my mobile searches).</p>
<h3>List of content farms and general spammy user generated content sites:</h3>
<p><em> </em></p>
<p><em>Note: The links go to a Google search for the associated domain, which lets you easily add it to your block list.</em></p>
<p><em>Further note: while it should go without saying, the below list of content farms is entirely of my own opinion. If you disagree, don&#8217;t block them (and feel free to comment and tell me why).</em></p>
<ul>
<li>All Experts (<a href="http://www.google.com/search?q=allexperts.com">allexperts.com</a>)</li>
<li>Answers (<a href="http://www.google.com/search?q=answers.com">answers.com</a>)</li>
<li>Answer Bag (<a href="http://www.google.com/search?q=answerbag.com">answerbag.com</a>)</li>
<li>Articles Base (<a href="http://www.google.com/search?q=articlesbase.com">articlesbase.com</a>)</li>
<li>Ask (<a href="http://www.google.com/search?q=ask.com">ask.com</a>)</li>
<li>Associated Content (<a href="http://www.google.com/search?q=associatedcontent.com">associatedcontent.com</a>)</li>
<li>BizRate (<a href="http://www.google.com/search?q=bizrate.com">bizrate.com</a>)</li>
<li>Buzle (<a href="http://www.google.com/search?q=buzzle.com">buzzle.com</a>)</li>
<li>Brothersoft (<a href="http://www.google.com/search?q=brothersoft.com">brothersoft.com</a>)</li>
<li>Bytes (<a href="http://www.google.com/search?q=bytes.com">bytes.com</a>)</li>
<li>ChaCha (<a href="http://www.google.com/search?q=chacha.com">chacha.com</a>)</li>
<li>eFreedom (<a href="http://www.google.com/search?q=efreedom.com">efreedom.com</a>)</li>
<li>eHow (<a href="http://www.google.com/search?q=ehow.com">ehow.com</a>)</li>
<li>Essortment (<a href="http://www.google.com/search?q=essortment.com">essortment.com</a>)</li>
<li>Examiner (<a href="http://www.google.com/search?q=examiner.com">examiner.com</a>)</li>
<li>Expert Village (<a href="http://www.google.com/search?q=expertvillage.com">expertvillage.com</a>)</li>
<li>Experts Exchange (<a href="http://www.google.com/search?q=experts-exchange.com">experts-exchange.com</a>)</li>
<li>eZine Articles (<a href="http://www.google.com/search?q=ezinearticles.com">ezinearticles.com</a>)</li>
<li>Find Articles (<a href="http://www.google.com/search?q=findarticles.com">findarticles.com</a>)</li>
<li>FixYa (<a href="http://www.google.com/search?q=fixya.com">fixya.com</a>)</li>
<li>Helium (<a href="http://www.google.com/search?q=helium.com">helium.com</a>)</li>
<li>Hub Pages (<a href="http://www.google.com/search?q=hubpages.com">hubpages.com</a>)</li>
<li>InfoBarrel (<a href="http://www.google.com/search?q=infobarrel.com">infobarrel.com</a>)</li>
<li>Livestrong (<a href="http://www.google.com/search?q=livestrong.com">livestrong.com</a>)</li>
<li>Mahalo (<a href="http://www.google.com/search?q=mahalo.com">mahalo.com</a>)</li>
<li>Mail Archive (<a href="http://www.google.com/search?q=mail-archive.com">mail-archive.com</a>)</li>
<li>Question Hub (<a href="http://www.google.com/search?q=questionhub.com">questionhub.com</a>)</li>
<li>Squidoo (<a href="http://www.google.com/search?q=squidoo.com">squidoo.com</a>)</li>
<li>Suite101 (<a href="http://www.google.com/search?q=suite101.com">suite101.com</a>)</li>
<li>Twenga (<a href="http://www.google.com/search?q=twenga.com">twenga.com</a>)</li>
<li>WiseGeek (<a href="http://www.google.com/search?q=wisegeek.com">wisegeek.com</a>)</li>
<li>Wonder How To (<a href="http://www.google.com/search?q=wonderhowto.com">wonderhowto.com</a>)</li>
<li>Yahoo! Answers (<a href="http://www.google.com/search?q=answers.yahoo.com">answers.yahoo.com</a>)</li>
<li>Xomba (<a href="http://www.google.com/search?q=xomba.com">xomba.com</a>)</li>
</ul>
<p>I&#8217;ll keep this list updated as I go. Please leave a comment if you see any I missed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2011/02/14/list-of-content-farms/feed/</wfw:commentRss>
		<slash:comments>155</slash:comments>
		</item>
		<item>
		<title>Using Google Analytics with jQuery Mobile</title>
		<link>http://www.jongales.com/blog/2011/01/10/google-analytics-and-jquery-mobile/</link>
		<comments>http://www.jongales.com/blog/2011/01/10/google-analytics-and-jquery-mobile/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 15:03:40 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1173</guid>
		<description><![CDATA[I upgraded Crossword Tracker to use jQuery Mobile at the end of November and while it has proven popular, I had a sneaking suspicion my Google Analytics reports were off. The Pages/Visit statistic was quite low (very close to 1 in fact). It turns out that jQuery Mobile requires a little extra effort to execute [...]]]></description>
			<content:encoded><![CDATA[<p>I upgraded <a href="http://crosswordtracker.com">Crossword Tracker</a> to use<a href="http://jquerymobile.com"> jQuery Mobile</a> at the end of November and while it has proven popular, I had a sneaking suspicion my <a href="http://www.google.com/analytics/">Google Analytics</a> reports were off. The Pages/Visit statistic was quite low (very close to 1 in fact). It turns out that jQuery Mobile requires a little extra effort to execute Javascript on every page load. I broke up the Analytics code into two pieces and now every page view is being tracked. </p>
<p>In the head (which is executed only on the first page load) I load the required Javascript file from Google, using the async loader which means it won&#8217;t block page loading:</p>
<pre>
&lt;script type=&quot;text/javascript&quot;&gt;
    var _gaq = _gaq || [];

    (function() {
      var ga = document.createElement(&#x27;script&#x27;); ga.type = &#x27;text/javascript&#x27;; ga.async = true;
      ga.src = (&#x27;https:&#x27; == document.location.protocol ? &#x27;https://ssl&#x27; : &#x27;http://www&#x27;) + &#x27;.google-analytics.com/ga.js&#x27;;
      var s = document.getElementsByTagName(&#x27;script&#x27;)[0]; s.parentNode.insertBefore(ga, s);
    })();
&lt;/script&gt;
</pre>
<p>Originally I had the whole snippet from Google there and it counted just one view, no matter how many pages the user actually viewed. That&#8217;s because it&#8217;s not actually loading the whole other page, but requesting it with AJAX and then replacing parts of the page with new content. The trick to getting all page views counted is splitting up the part that tracks the page view. Here&#8217;s what I tucked in before the closing body tag:</p>
<pre>
$(&#x27;[data-role=page]&#x27;).live(&#x27;pageshow&#x27;, function (event, ui) {
    try {
        _gaq.push([&#x27;_setAccount&#x27;, &#x27;YOUR_GA_ID&#x27;]);

        hash = location.hash;

        if (hash) {
            _gaq.push([&#x27;_trackPageview&#x27;, hash.substr(1)]);
        } else {
            _gaq.push([&#x27;_trackPageview&#x27;]);
        }
    } catch(err) {

    }

});
</pre>
<p>The <code>pageshow</code> event is triggered by jQuery Mobile on every page load (including the first), so we&#8217;re now calling the <code>_trackPageview()</code> method on every load. Handy. After just a day and a half&#8217;s worth of use, you can tell what a difference it made:</p>
<p><img src="http://www.jongales.com/blog/wp-content/uploads/2011/01/google-analytics-jquery-mobile.png" alt="Google Analytics with jQuery Mobile showing average pages per visit" width="332" height="133" /></p>
<p>This all may change before jQuery Mobile hits 1.0, but for now I&#8217;m safely on the bleeding edge and have the analytics to back it up.</p>
<p><strong>Update:</strong> jQuery Mobile falls back to using hashes to designate pages and that doesn&#8217;t get picked up by GA so / and /#/contact would both appear to be a hit on the homepage. You can easily get around this by checking for the hash and then sending the portion after the # symbol. I have updated the code above to account for this as well as moving to the asynchronous loader which makes a decent difference over 3G.</p>
<p><strong>Update 2:</strong> I&#8217;m no longer using jQuery Mobile on Crossword Tracker because the way it works conflicts with Google Adsense. Mobile traffic has been steadily increasing and now makes up close to 50% of Crossword Tracker&#8217;s traffic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2011/01/10/google-analytics-and-jquery-mobile/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>How to stop dnssearch.rr.com</title>
		<link>http://www.jongales.com/blog/2010/11/01/how-to-stop-dnssearch-rr-com/</link>
		<comments>http://www.jongales.com/blog/2010/11/01/how-to-stop-dnssearch-rr-com/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 15:22:46 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1164</guid>
		<description><![CDATA[A while back Brighthouse (who markets their cable modem service under the Road Runner brand) decided to drum up some revenue by redirecting unresolved DNS requests to a search results page loaded with a bunch of ads. This means if you make a typo instead of an error you get a search page that looks [...]]]></description>
			<content:encoded><![CDATA[<p>A while back Brighthouse (who markets their cable modem service under the Road Runner brand) decided to drum up some revenue by redirecting unresolved DNS requests to a search results page loaded with a bunch of ads. This means if you make a typo instead of an error you get a search page that looks like a lot of the scammy domain parking pages that fuel the domain squatting industry. The search results are powered by Yahoo, which these days means Bing. The PPC ads take up most of the focus area of the page and are disguised to look like organic search results. tl;dr scammy</p>
<p><img src="http://www.jongales.com/blog/wp-content/uploads/2010/11/road-runner-search1.png" /></p>
<p>There&#8217;s supposed to be a way to opt-out, but at some point in time it broke. I had opted out a while back, so was surprised to see this page again. I checked the setting and sure enough I was still opted out. It&#8217;s pretty dick to hijack DNS resolving and then lie about opting out your users who have gone out of their way to do so.</p>
<p><img src="http://www.jongales.com/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-01-at-11.15.17-AM.png" alt="" title="Road Runner DNS Search Preferences"/></p>
<p>Getting rid of it for real is simple, stop using your ISP for DNS. If Brighthouse or Time Warner can&#8217;t be trusted to honor their own opt-out preferences, don&#8217;t bother giving them the chance. I switched to <a href="http://code.google.com/speed/public-dns/">Google&#8217;s Public DNS</a> as it&#8217;s fast and completely ad-free like DNS should be. <a href="http://www.opendns.com/">OpenDNS</a> is popular, but by default does a similar redirect (though they honor your opt-out).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2010/11/01/how-to-stop-dnssearch-rr-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated SOCKS proxy in OS X Snow Leopard</title>
		<link>http://www.jongales.com/blog/2010/10/25/automated-socks-proxy-in-os-x-snow-leopard/</link>
		<comments>http://www.jongales.com/blog/2010/10/25/automated-socks-proxy-in-os-x-snow-leopard/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 14:44:16 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1160</guid>
		<description><![CDATA[In honor of Firesheep&#8217;s release, I whipped up an AppleScript that goes through the steps to have your Mac use a SOCKS proxy (AKA SSH tunnel). For the unfamiliar, this is a technique that involves creating an encrypted connection to a server you have access to and then redirecting all your network traffic through it. [...]]]></description>
			<content:encoded><![CDATA[<p>In honor of <a href="http://codebutler.github.com/firesheep">Firesheep&#8217;s release</a>, I whipped up an AppleScript that goes through the steps to have your Mac use a <a href="http://en.wikipedia.org/wiki/SOCKS">SOCKS proxy</a> (AKA SSH tunnel). For the unfamiliar, this is a technique that involves creating an encrypted connection to a server you have access to and then redirecting all your network traffic through it. It&#8217;s wise to use such a setup when on an untrusted network connection, such as any open wireless network (note that Firesheep only works on an open wireless network). This tutorial assumes you already have access to a server with OpenSSH installed, preferably with key-based authentication so passwords don&#8217;t need to be exchanged. </p>
<p>The standard way to setup a SOCKS proxy is opening Terminal.app and running ssh with a couple extra flags. This will initiate a SOCKS proxy over the port 8888: </p>
<p><code>ssh -vND 8888 user@host.com</code></p>
<p>I run SSH on a non-standard port, so I also tack on <code>-p X</code> before user@host where X is the port SSH runs on. To make things a little easier, I aliased this in my <code>.profile</code>:</p>
<p><code>alias socks="ssh -vND 8888 -p X user@host.com"</code></p>
<p>Now I just have to type &#8220;socks&#8221; in a Terminal window and I&#8217;m all set up. To make your Mac actually use the proxy involves going into System Preferences > Network > Advanced&#8230; > Proxies and checking off the SOCKS Proxy checkbox. Make sure your port agrees with whatever you used to start the tunnel and after saving your changes you should be good to go. FireFox doesn&#8217;t use a proxy for DNS requests by default, but you can change that by going to about:config and toggling network.proxy.socks_remote_dns to true. After you&#8217;re set up, go to a site like <a href="http://www.whatismyip.com/">whatismyip.com</a> and make sure your IP is originating from wherever your SSH server is from (in my case <a href="https://manage.slicehost.com/customers/new?referrer=64fa4239b17a594d162643a7ff3fc202">Slicehost</a>).</p>
<p>The process of going into System Preferences can be a bit of a drag, so I customized an AppleScript to do it for me. This script will toggle the status and announce what the result is.<br />
<span id="more-1160"></span></p>
<p>Note: This is a customized version of a script originally <a href="http://hintsforums.macworld.com/showpost.php?p=558305&#038;postcount=4">posted</a> by Meredith Davison to Mac OS X Hints.<br />
<code><br />
tell application "System Preferences"<br />
	activate<br />
	set current pane to pane "com.apple.preference.network"<br />
end tell</p>
<p>tell application "System Events"<br />
	get properties<br />
	tell process "System Preferences"<br />
		tell window "Network"<br />
			-- Selects the active network connection<br />
			tell table 1 of scroll area 1<br />
				click row 1<br />
			end tell</p>
<p>			--Select the Advanced button<br />
			click button 11</p>
<p>			--Select the Proxies tab<br />
			tell tab group 1 of sheet 1<br />
				-- delay 1<br />
				click radio button 6</p>
<p>				tell group 1<br />
					tell table 1 of scroll area 1<br />
						set selected of row 6 to true<br />
						click checkbox of row 6<br />
						if value of (checkbox 1 of row 6) is 1 then<br />
							set outStr to "You Turned SOCKS Proxy ON"<br />
						else<br />
							set outStr to "You Turned SOCKS Proxy OFF"<br />
						end if<br />
					end tell<br />
				end tell</p>
<p>			end tell<br />
			tell sheet 1<br />
				click button "OK"<br />
			end tell<br />
		end tell<br />
		tell window "Network"<br />
			click button "Apply"<br />
		end tell<br />
	end tell<br />
end tell<br />
tell application "System Preferences"<br />
	quit<br />
end tell</p>
<p>-- Voice status of SOCKS Proxy settings<br />
say outStr<br />
</code></p>
<p>Save it as an application from AppleScript Editor and add it into your scripts menu for quick universal access. All credit should be directed to her. This likely works in other versions of Mac OS X, but I have only tested it on Snow Leopard.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2010/10/25/automated-socks-proxy-in-os-x-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Photoshop CS5 is deadfully sorry</title>
		<link>http://www.jongales.com/blog/2010/09/15/photoshop-cs5-is-deadfully-sorry/</link>
		<comments>http://www.jongales.com/blog/2010/09/15/photoshop-cs5-is-deadfully-sorry/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 19:24:17 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1155</guid>
		<description><![CDATA[Who is writing error messages these days at Adobe? Pathetic. Even better was this message was just so I would know that CS5 was going to crash and there was nothing I could do. Thanks guys. &#8220;I&#8217;m deadfully sorry, but Photoshop is about to die with a NSInternalInconsistencyException exception (because Error (1000) creating CGSWindow).&#8221;]]></description>
			<content:encoded><![CDATA[<p>Who is writing error messages these days at Adobe? Pathetic. Even better was this message was just so I would know that CS5 was going to crash and there was nothing I could do. Thanks guys.</p>
<p><img src="http://www.jongales.com/blog/wp-content/uploads/2010/09/deadfully-sorry-cs5.png" alt="I'm deadfully sorry, but Photoshop is about to die" /></a></p>
<p>&#8220;I&#8217;m deadfully sorry, but Photoshop is about to die with a NSInternalInconsistencyException exception (because Error (1000) creating CGSWindow).&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2010/09/15/photoshop-cs5-is-deadfully-sorry/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PostgreSQL automated daily backups</title>
		<link>http://www.jongales.com/blog/2010/08/09/postgresql-automated-daily-backups/</link>
		<comments>http://www.jongales.com/blog/2010/08/09/postgresql-automated-daily-backups/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 00:16:25 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1151</guid>
		<description><![CDATA[I needed to set up an automated backup of a Postgresql database on an Ubuntu Server 10.04 box and it took more Googling than should be necessary. I wanted to keep nightly snapshots for the past week which makes it a tiny bit more difficult than simply running pg_dump from a crontab. Here&#8217;s the one [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to set up an automated backup of a Postgresql database on an Ubuntu Server 10.04 box and it took more Googling than should be necessary. I wanted to keep nightly snapshots for the past week which makes it a tiny bit more difficult than simply running pg_dump from a crontab. Here&#8217;s the one liner shell script I ended up with:<br />
<code><br />
#!/bin/bash<br />
pg_dump -U DBUSERNAME -b -F c -f "/path/to/backups/postgresql/`date +%w`.backup" MYDBNAME<br />
</code><br />
Make sure to setup your <a href="http://www.postgresql.org/docs/8.1/interactive/libpq-pgpass.html">.pgpass file</a> if you haven&#8217;t already. Test it on the command line and if it&#8217;s all good just add it to your crontab file. I have mine running every morning at 2AM.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2010/08/09/postgresql-automated-daily-backups/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>It&#8217;s a Big Ocean</title>
		<link>http://www.jongales.com/blog/2010/07/01/its-a-big-ocean/</link>
		<comments>http://www.jongales.com/blog/2010/07/01/its-a-big-ocean/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 17:51:56 +0000</pubDate>
		<dc:creator>JG</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.jongales.com/blog/?p=1149</guid>
		<description><![CDATA[A project of mine that hits close to home has just just gone live. It&#8217;s a Big Ocean is documenting the human side of the 2010 BP Deepwater Horizon oil spill. We have interviews with fishermen, business owners, park rangers and more people directly affected by this disaster. Content will be posted as it becomes [...]]]></description>
			<content:encoded><![CDATA[<p>A project of mine that hits close to home has just just gone live. <a href="http://itsabigocean.com">It&#8217;s a Big Ocean</a> is documenting the human side of the 2010 BP Deepwater Horizon oil spill. We have interviews with fishermen, business owners, park rangers and more people directly affected by this disaster. Content will be posted as it becomes edited, but we have some teaser stuff up now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jongales.com/blog/2010/07/01/its-a-big-ocean/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
