<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
   <channel>
      <title>Digging My Blog With CheeseSalt</title>
      <description>Pipes Output</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=09ef3126039426f9027e9946876495c9</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=09ef3126039426f9027e9946876495c9&amp;_render=rss&amp;page=2" />
      <pubDate>Fri, 24 May 2013 01:54:20 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DiggingMyBlog" /><feedburner:info uri="diggingmyblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>39.441008</geo:lat><geo:long>-84.365828</geo:long><feedburner:emailServiceId>DiggingMyBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
         <title>My First Bike Part I</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/__Xl8BLTveU/</link>
         <description>&lt;p&gt;Yesterday I posted about going to Cincinnati&amp;rsquo;s Queen City Mods and Rockers event and that might have seemed to come right out of left field for many of my long time friends and followers. Here is the back story. About this time last year I was bitten by the vintage motorcycle bug. I&amp;rsquo;d always wanted a bike and I needed a new project to keep my hands busy. After a couple of weeks of searching Craigslist and Ebay I came home with this&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm6.staticflickr.com/5185/5726329042_cb9a409c2c_z.jpg" alt=""/&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It is a 1976 Kawasaki KZ400. It was not a pretty site, but it had fairly low miles, hardly any rust, it ran fine and most importantly was cheap. But it was ugly, very very ugly. It looked like it had been neglected for quite a while and was covered with dirt, grease, and grime on top of more layers of dirt, grease and grime. At the time I did not realize that there were tons of missing and broken parts on this thing that needed sorted out. My first step was to fix the seat. I was not in love with the green canvas seat cover so I replaced it with black leather cut from a jacket I bought at Goodwill for $7.00. A previous owner had shaved the padding for a flatter look but did not do a great job as it was pretty lumpy. The new cover did not fix the lumps but I decided to correct that later.&lt;/p&gt;
&lt;p&gt;After only a couple of months, some cleaning and much needed maintenance it began looking like a real motorcycle. This was taken around July 2011.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm7.staticflickr.com/6148/5948377238_44685debaa_z.jpg" alt=""/&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;By mid-October I had finished the Basic Motorcycle Course, ordered and installed a few more parts, and the bike was looking even better.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm7.staticflickr.com/6235/6215623309_70eb50b95e_z.jpg" alt=""/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm7.staticflickr.com/6114/6215624551_ea1223378e_z.jpg" alt=""/&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;However, as seen in the last pic, the tank had started to show that it had a couple of pinhole leaks. I patched them with epoxy which worked fine but it was quite rusty inside so I began looking for a new one. In April I finally found a good replacement tank for a good price and after cleaning it up and putting it on I decided to go in a different direction with the color palette.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm9.staticflickr.com/8006/7283377128_1d93760c78_z.jpg" alt=""/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm8.staticflickr.com/7229/7283373858_70108352ee_z.jpg" alt=""/&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The tank is unpainted with only a satin clear coat and the headlight bucket and side panels were painted satin black. I also removed the rear cowl that I had previously added and reinstalled the old duck bill rear fender. After seeing the latest pics I realized that I could no longer live with the lumpy seat so I removed the cover, sanded the foam to a more uniform shape, and reinstalled the cover. Much better.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm8.staticflickr.com/7101/7292069600_2aa02c06df_z.jpg" alt=""/&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s where my new old bike stands as of today. I left out all the mechanical details like swapping the points ignition for a later model&amp;rsquo;s electronic ignition, replacing the coil and rewiring it to draw power directly from the battery with a switched relay in between, replacing the old style fuse block and fuses with newer style ATC fuses and block, disassembling and reassembling the carbs half a dozen time to clean them and fix various issues, etc. Words cannot describe the stench in the garage when I drained the obviously original oil in the front forks while changing the seals and dust covers. It &amp;ldquo;ran&amp;rdquo; when I brought it home. It runs really well now but it still needs a few minor things, like a new throttle cable that is not frayed enough to look like it is about to snap, before I&amp;rsquo;d trust it for anything other than a ride around the block.&lt;/p&gt;
&lt;p&gt;I plan on doing plenty more over the next couple of years but I plan to leave it as-is (mostly) for the rest of the summer so I can spend less time wrenching in the garage and more time riding my new favorite toy.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/__Xl8BLTveU" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/my-first-bike-part-i/</guid>
         <pubDate>Thu, 07 Jun 2012 05:43:00 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/my-first-bike-part-i/</feedburner:origLink></item>
      <item>
         <title>Queen City Mods and Rockers Rally 2012</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/bhr6LcUiB0o/</link>
         <description>&lt;p&gt;Cincinnati&amp;rsquo;s inaugural &lt;a rel="nofollow" target="_blank" href="http://queencitymodsvsrockers.com/"&gt;Queen City Mods and Rockers rally&lt;/a&gt; was a success! It was made up of several events including a pre-pre-party on Thursday night at C&amp;amp;D bar in Northside, a pre-party Friday night at Motr Pub on Main Street, Cars and Coffee at Fuel Coffee on Saturday morning, a group ride leaving from Fuel at noon to Rabbit Hash and then back to the rally itself at Hoffner Park in Northside that lasted well into the evening and then a post-party at the Comet on Saturday night. There was plenty of fun had by all. By final count about 225 motorcycles and scooters participated in the ride and about 350 motorcycles and scooters showed up for the rally.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Below is a slideshow of the few pictures I took during the day as well as 2 short videos. The first is the group leaving Fuel Coffee for the ride and the second video is of the second of two groups (mostly scooters but some bikes) leaving Rabbit Hash to head back to Cincinnati.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m really looking forward to next year&amp;rsquo;s event!&lt;/p&gt;
&lt;p&gt;   &lt;embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/slideshow/show.swf?v=109615" width="400" height="300"&gt;&lt;/iframe&gt;&lt;/p&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/bhr6LcUiB0o" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/queen-city-mods-and-rockers-rally-2012/</guid>
         <pubDate>Wed, 06 Jun 2012 05:55:23 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/queen-city-mods-and-rockers-rally-2012/</feedburner:origLink></item>
      <item>
         <title>CAPTCHA for your Telligent Evolution 6.0+ site</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/0njWy3UX464/</link>
         <description>&lt;p&gt;Need CAPTCHA for your Telligent Community 6.0+ site? Adam Seabridge of Building Blocks has you covered:&lt;/p&gt;  &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blog.building-blocks.com/computer-says-no-a-captcha-for-telligent-community-6-0"&gt;Computer Says No – a CAPTCHA for Telligent Community 6.0&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/0njWy3UX464" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/captcha-for-your-telligent-evolution-6-0-site/</guid>
         <pubDate>Fri, 13 Apr 2012 03:57:20 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/captcha-for-your-telligent-evolution-6-0-site/</feedburner:origLink></item>
      <item>
         <title>Updating my YouTube widget to auto load first video</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/Emg4WSnviOE/</link>
         <description>&lt;p&gt;A little over two years ago (wow time sure flies) I posted the details of the YouTube widget I use on my home page: &lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/blog/add-a-youtube-widget-to-any-web-site-with-jquery/"&gt;Add a YouTube widget to any web site with jQuery&lt;/a&gt;. Recently I was &lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/blog/six-steps-to-get-blog-authors-attention-for-help/"&gt;persuaded to update the widget&lt;/a&gt; to auto load the first video and switch to a given video if the thumnail image of that video is clicked. While I was making the updates I took the time to refactor the Javascript a bit to clean it up and make it more JQuery-like.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://adblendr.com/ytplayer/default.html"&gt;You can find a demo here&lt;/a&gt;. That example should have everything you need to use the widget yourself.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Disclaimer: I am definitely no Javascript guru, but I can usually figure stuff out. This seems to do what it is supposed to do in most of the modern browsers I tested with: IE8, IE9, Firefox, Chrome, Opera, Safari on Windows. I also tested with IOS and default browser on Android. It seemed to work well in all those cases.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/Emg4WSnviOE" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/updating-my-youtube-widget-to-auto-load-first-video/</guid>
         <pubDate>Fri, 13 Apr 2012 02:04:00 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/updating-my-youtube-widget-to-auto-load-first-video/</feedburner:origLink></item>
      <item>
         <title>Six steps to getting a blog author’s attention when asking for help</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/lp1OrNM-6Vw/</link>
         <description>&lt;p&gt;I get a couple questions a week through my blog&amp;rsquo;s comments or contact page similar to this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I love the Flickr widget, but how can I get it to [&amp;hellip; do something custom&amp;hellip;]?&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I try to answer as many questions as possible but between work and family life and finding time to enjoy my own hobbies I don&amp;rsquo;t have a lot of spare time.&lt;/p&gt;
&lt;p&gt;Recently I was sent a contact request with a question that I had to respond to (more about that later) but in doing so I learned a few things about getting someone&amp;rsquo;s attention when asking for help.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. First try to solve your problem yourself&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nothing else to say here. Really&amp;hellip; spend some of your own time before asking someone to spend theirs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Look for other possible solutions elsewhere&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Google it. Maybe two (or three or more) approaches combined will solve your problem&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;At this point you are stuck and you have made up your mind to ask a blog/article/software author for help,&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Research the author &amp;ndash; read other posts&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll want to make your request personal and create a plea that they will respond to.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Thank the author for the article&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tell them you found their post useful and that it is almost everything that you need&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. Make your plea for help personal&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Use the information you gained from step #3. Use things that you have in common. Don&amp;rsquo;t be afraid to appeal to their sense of &amp;hellip; something&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. Keep it succinct and to the point&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t waste their time. Make your email short and to the point. Thank the author, ask them for help and then tell them why they should.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is an excerpt of the contact request that I received a couple of weeks ago. If you know me at all you know I had no choice but to respond:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hi Dan,&lt;/p&gt;
&lt;p&gt;I know you are a fan of fine beers. Perhaps a trade? I&amp;rsquo;m trying to tweak the youtube playlist script that you wrote about for our new [Brew Pub Name Goes Here] website so that it will auto-play the first video and when you click any video thumbnail that video will play instead. Please email me back so that I know you&amp;rsquo;re interested either way and I&amp;rsquo;ll provide details.      &lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;/p&gt;
&lt;p&gt;[Some Name]&lt;/p&gt;
&lt;p&gt;From [some place that you lived before]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/lp1OrNM-6Vw" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/six-steps-to-get-blog-authors-attention-for-help/</guid>
         <pubDate>Mon, 02 Apr 2012 04:13:00 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/six-steps-to-get-blog-authors-attention-for-help/</feedburner:origLink></item>
      <item>
         <title>I’m a sucker for a free glass</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/PNVCjg9o7OU/</link>
         <description>&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/files/media/image/Windows-Live-Writer/Im-a-sucker-for-a-free-glass_92F6/2012-02-08%2018.15.12_2.jpg"&gt;&lt;img align="right" width="400" height="301" border="0" src="http://danhounshell.com/files/media/image/Windows-Live-Writer/Im-a-sucker-for-a-free-glass_92F6/2012-02-08%2018.15.12_thumb.jpg" alt="2012-02-08 18.15.12" title="2012-02-08 18.15.12" style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 10px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top:0px;border-right:0px;padding-top:0px;"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Some old friends and I met up last night for the first time in way-too-long to catch up, tell stories, get a little loud, and generally have a good time over a few beers. We lucked out by choosing a meeting spot that happened to be hosting a &lt;a rel="nofollow" target="_blank" href="http://cincinnatibeerweek.com/"&gt;Cincinnati Beer Week&lt;/a&gt; event. We had a great time at the &lt;a rel="nofollow" target="_blank" href="http://www.taphousecincy.com/"&gt;Tap House Grill&lt;/a&gt; and enjoyed some great local beers including a local collaboration hopped up Barleywine, Hop Baron from Rivertown Brewery, and a couple of new Sam Adams beers. Yup, that&amp;rsquo;s right, I count Sam Adams as a local brewery. Why? Because they have a brewery in Cincinnati and according to their local rep who I talked to last night because the local brewery is their smallest one. The Cincinnati brewery is where they brew a lot of their &amp;ldquo;small batch&amp;rdquo; and test beers, including their Imperial line and the new beers we tried last night.&lt;/p&gt;
&lt;p&gt;If you get a chance to get out this week stop by one of the fine local establishments hosting a &lt;a rel="nofollow" target="_blank" href="http://cincinnatibeerweek.com/"&gt;Cincinnati Beer Week&lt;/a&gt; event and drink a local beer or two that you haven&amp;rsquo;t tried before.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/PNVCjg9o7OU" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/i-am-a-sucker-for-a-free-glass/</guid>
         <pubDate>Thu, 09 Feb 2012 15:45:00 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/i-am-a-sucker-for-a-free-glass/</feedburner:origLink></item>
      <item>
         <title>Canned Goods Cabinet</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/i1TlXgs7-Oc/</link>
         <description>&lt;p&gt;Last night I finished up my weekend project for my lovely wife, who was &lt;a rel="nofollow" target="_blank" href="http://learning-to-b-me.blogspot.com/2011/03/cabinet-diy-completed-and-tutorial.html"&gt;inspired by similar cabinets&lt;/a&gt;. This nifty little thing is a 4-inch wide shelf on casters that fits in the formerly unused space between the refrigerator and the wall.&amp;#160; The shelf will hold about 75 cans of various sizes, which completely frees up one of our cabinets that was previously used for canned goods. I probably have about $50 in materials in this including the paint plus several hours of design, cutting, assembly and painting. It definitely was not difficult and actually was sort of fun. It is by no means fancy. Since the end result needed to be white I opted not to spend money on nice cabinet-grade wood. Instead it is made of some simple decent-grade 2x4s, some 1x4s for the shelves, a sheet of wainscot for the backing, 4 casters, several cans of satin white spray paint, and a cabinet pull/handle.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/danhounshell/6754825163"&gt;&lt;img src="http://farm8.staticflickr.com/7169/6754825163_94f522490c_m.jpg"/&gt;&lt;/a&gt;&amp;#160;&lt;a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/danhounshell/6754824673/"&gt;&lt;img src="http://farm8.staticflickr.com/7025/6754824673_df507e5f7a_m.jpg"/&gt;&lt;/a&gt;&amp;#160;&lt;a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/danhounshell/6754824209/in/photostream"&gt;&lt;img src="http://farm8.staticflickr.com/7032/6754824209_f599c61ea1_m.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/i1TlXgs7-Oc" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/canned-goods-cabinet/</guid>
         <pubDate>Tue, 24 Jan 2012 14:02:25 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/canned-goods-cabinet/</feedburner:origLink></item>
      <item>
         <title>Testing Web Services</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/vTQ76c8Yylk/</link>
         <description>&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://twitter.com/aJimHolmes"&gt;Jim Holmes&lt;/a&gt; asked me to write an article about testing web services for his great 31 Days of Testing blog series and I gladly did so:     &lt;br /&gt;
&lt;a rel="nofollow" target="_blank" href="http://frazzleddad.blogspot.com/2011/12/31-days-of-testing-day-16-testing-web.html"&gt;31 Days of Testing &amp;ndash; Day 16: Testing Web Services&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The article ended up being less about testing web services specifically and more about tips based on our knowledge gained from implementing integration tests for web services over the last few years. Hopefully the pragmatic advice is useful.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/vTQ76c8Yylk" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/testing-web-services/</guid>
         <pubDate>Tue, 20 Dec 2011 16:24:00 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/testing-web-services/</feedburner:origLink></item>
      <item>
         <title>My first Harmony Remote, I’ll be back.</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/0MkQMKFCqoY/</link>
         <description>&lt;p&gt;Last Friday someone who will go unnamed dropped our TV remote on the floor for the final time. Since replacing our carpet with oak flooring several years ago our remotes have been taking a beating. The occasional drop onto the carpet seemed to rarely hurt them. A drop from an end table to the wood floor tends to permanently detach battery covers, chip corners, and eventually completely disable the remote. They&amp;rsquo;ve been living for years bound together by electrical tape, rubber bands and hope. The television remote was on its last leg and required that you either squeeze it or tap it on a hard surface before it would work. It drew its last breath on Friday April 1st before making a final though un-glorious plunge to the floor.&lt;/p&gt;
&lt;p&gt;Prior to Sunday we were happy living with a separate remote for the TV, primarily just for turning it on/off and adjusting the volume, and cable box remote provided by Time Warner for changing channels, DVR setting and playback, etc. We also kept the DVD remote and VHS player remote (we have a lot of old Disney movies still on VHS) in a drawer for the occasional DVD and tape viewing.&amp;nbsp; That all changed Sunday when I returned from Best Buy with a new Logitech Harmony 300 remote.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve longingly admired the Logitech Harmony line of remotes for a long time, but considered them too pricey and a luxury item.&lt;/p&gt;
&lt;p&gt;This looks fantastic, but at MSRP of $399.99 I must pass on the Harmony 1100 Advanced Universal Remote &amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_2.png"&gt;&lt;img width="244" height="226" border="0" src="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_thumb.png" alt="image" title="image" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;These are almost as cool but at $399.99 and $249.99 the Harmony 900 and Harmony One Advanced Universal Remote are still out of my price range&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_4.png"&gt;&lt;img width="244" height="226" border="0" src="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_thumb_1.png" alt="image" title="image" style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_6.png"&gt;&lt;img width="244" height="226" border="0" src="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_thumb_2.png" alt="image" title="image" style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And I don&amp;rsquo;t really need to control 15 devices. I only have 4 devices in the living room and 5 in the family/media room.&lt;/p&gt;
&lt;p&gt;At $149.99 and $99.99 the Harmony 700 Advanced Universal Remote and Logitech Harmony 650 Remote are closer to my price range but because of previous history I know it will get abused. I wanted something cheap that I won&amp;rsquo;t feel so bad about having to replace in a year after an inevitable accident with the floor.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_8.png"&gt;&lt;img width="244" height="226" border="0" src="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_thumb_3.png" alt="image" title="image" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_10.png"&gt;&lt;img width="244" height="226" border="0" src="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_thumb_4.png" alt="image" title="image" style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And here we have it: the low-end Harmony 300i remote for $39.99&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_12.png"&gt;&lt;img width="244" height="226" border="0" src="http://danhounshell.com/files/media/image/Windows-Live-Writer/b94890bdf15f_147DF/image_thumb_5.png" alt="image" title="image" style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;No touch screen, controls 4 devices, and fairly inexpensive. It&amp;rsquo;s still programmable like its big brothers. It&amp;rsquo;s dead simple to setup, just connect to your PC via USB, go to the My Harmony site, enter in the Manufacturer and Model names for each of your 4 items and done. While the cheapest Harmony remote, it doesn&amp;rsquo;t feel cheap &amp;ndash; it&amp;rsquo;s really solid. It feels good in the hand and it works well. It&amp;rsquo;s also really easy to use and the controls are very familiar, I didn&amp;rsquo;t have to explain to anyone how to use it. Final step: throw the existing four remotes into the bottom of a drawer somewhere, you&amp;rsquo;ll never use them again.&lt;/p&gt;
&lt;p&gt;Hopefully it will hold up to our abuse but I&amp;rsquo;m sure I&amp;rsquo;ll have to replace this eventually. In a few years I hope to step up to one of the bigger, slicker, more fully featured Harmony remotes, but this will do very nicely for now.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/0MkQMKFCqoY" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/my-first-harmony-remote/</guid>
         <pubDate>Wed, 06 Apr 2011 03:52:00 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/my-first-harmony-remote/</feedburner:origLink></item>
      <item>
         <title>Using browser SQLite’s LIMIT/OFFSET to page results with AJAX</title>
         <link>http://feedproxy.google.com/~r/DiggingMyBlog/~3/btmsuP2aY0c/</link>
         <description>&lt;p&gt;Another post mostly for me.&lt;/p&gt;
&lt;p&gt;I spent some time tonight trying to solve a problem in a mobile/HTML 5 app I am building. I have two lists that pull data from a client-side database that could possibly contain many records. Rather than pull all the results on page load and dynamically build a huge list I decided to look into doing some sort of paged results. I wanted my results to look something like this:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://danhounshell.com/files/media/image/Windows-Live-Writer/4c5fb845eb08_524/CropperCapture%5B114%5D_2.jpg"&gt;&lt;img height="435" width="314" border="0" src="http://danhounshell.com/files/media/image/Windows-Live-Writer/4c5fb845eb08_524/CropperCapture%5B114%5D_thumb.jpg" alt="CropperCapture[114]" title="CropperCapture[114]" style="background-image:none;border:0px none;padding-left:0px;padding-right:0px;display:inline;padding-top:0px;"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Luckily SQLite&amp;rsquo;s &lt;a rel="nofollow" target="_blank" href="http://www.sqlite.org/lang_select.html"&gt;SELECT statement&lt;/a&gt; supports LIMIT and OFFSET statements that are ideal for supporting AJAX-style paging. Following is psuedocode for the implementation:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:rgb(244, 244, 244);width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;&lt;span style="color:rgb(0, 0, 255);"&gt;function&lt;/span&gt; getAccounts(pageSize, pageIndex) {&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:rgb(244, 244, 244);margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
    &lt;span style="color:rgb(0, 128, 0);"&gt;// setup the db transaction&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
    &lt;span style="color:rgb(0, 0, 255);"&gt;var&lt;/span&gt; sql = &lt;span style="color:rgb(0, 96, 128);"&gt;'SELECT * FROM accounts ORDER BY name LIMIT '&lt;/span&gt; + pageIndex + &lt;span style="color:rgb(0, 96, 128);"&gt;','&lt;/span&gt; + pageSize + &lt;span style="color:rgb(0, 96, 128);"&gt;';'&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:rgb(244, 244, 244);margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
    &lt;span style="color:rgb(0, 128, 0);"&gt;/// execute the sql statement&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
    &lt;span style="color:rgb(0, 0, 255);"&gt;if&lt;/span&gt; (result == &lt;span style="color:rgb(0, 0, 255);"&gt;null&lt;/span&gt; || result.rows.length == 0) {&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:rgb(244, 244, 244);margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
        &lt;span style="color:rgb(0, 128, 0);"&gt;// hide the &amp;quot;More&amp;quot; button&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
    }&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:rgb(244, 244, 244);margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
    &lt;span style="color:rgb(0, 0, 255);"&gt;else&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
        &lt;span style="color:rgb(0, 0, 255);"&gt;for&lt;/span&gt; (&lt;span style="color:rgb(0, 0, 255);"&gt;var&lt;/span&gt; i = 0; i &amp;lt; result.rows.length; i++) {&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:rgb(244, 244, 244);margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
            &lt;span style="color:rgb(0, 128, 0);"&gt;// dynamically add the item to the list                            &lt;/span&gt;&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
        }&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:rgb(244, 244, 244);margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
    }&lt;/pre&gt;

&lt;pre style="border-style:none;text-align:left;padding:0px;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:'Courier New', courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;"&gt;
}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DiggingMyBlog/~4/btmsuP2aY0c" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://danhounshell.com/blog/using-browser-sqlite-rsquo-s-limit-offset-to-page-results-with-ajax/</guid>
         <pubDate>Wed, 23 Feb 2011 05:45:00 +0000</pubDate>
      <feedburner:origLink>http://danhounshell.com/blog/using-browser-sqlite-rsquo-s-limit-offset-to-page-results-with-ajax/</feedburner:origLink></item>
   </channel>
</rss><!-- fe1.yql.bf1.yahoo.com compressed/chunked Fri May 24 01:54:18 UTC 2013 -->
