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

<channel>
	<title>Adam Loving's Blog</title>
	<atom:link href="http://adamloving.com/feed" rel="self" type="application/rss+xml" />
	<link>http://adamloving.com</link>
	<description>Seattle Facebook, OpenSocial, and Web Development</description>
	<pubDate>Sat, 03 Jan 2009 06:42:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Quotes from Seth Godin&#8217;s &#8220;Tribes&#8221;</title>
		<link>http://adamloving.com/internet-programming/seth-godin-tribes</link>
		<comments>http://adamloving.com/internet-programming/seth-godin-tribes#comments</comments>
		<pubDate>Sat, 03 Jan 2009 06:42:12 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Projects, Programming, Technology]]></category>

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

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

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

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

		<category><![CDATA[Seth Godin]]></category>

		<guid isPermaLink="false">http://adamloving.com/?p=842</guid>
		<description><![CDATA[My favorite quotes from Seth Godin's book "Tribes"]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin: 1em; float: right; display: block;">
<div>
<dl class="wp-caption" style="width: 104px;">
<dt class="wp-caption-dt"><a href="http://www.crunchbase.com/person/seth-godin"><img title="Image representing Seth Godin as depicted in C..." src="http://www.crunchbase.com/assets/images/resized/0002/7603/27603v1-max-450x450.jpg" alt="Image representing Seth Godin as depicted in C..." width="94" height="129" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image byhttp://www.prestonlee.com/archives/67</p>
<p>via <a href="http://www.crunchbase.com">CrunchBase</a></dd>
</dl>
</div>
</div>
<p>I just finished reading <a href="http://www.amazon.com/Tribes-We-Need-You-Lead/dp/1591842336">Seth Godin&#8217;s &#8220;Tribes&#8221;</a>. It is a short inspirational book, with bite size chapters to help you realize leaders aren&#8217;t that special. To kick of the new year, and celebrate heretics, here are some of my favorite quotes.</p>
<p>The anatomy of a movement:</p>
<blockquote><p>Senator Bill Bradley defines a movement as having three elements:</p>
<p>1. A narrative that tells a story about who we are and the future we&#8217;re trying to build.<br />
2. A connection between and among the leader and the tribe.<br />
3. Something to do - the fewer limits the better.</p>
<p>Too often organizations fail to do anything but the third.</p></blockquote>
<p>On expecting (not avoiding) criticism:</p>
<blockquote><p>If I had written a boring book, there&#8217;d be no criticism. No conversation. [Ask yourself:] How can I create something that the critics will criticize?</p></blockquote>
<p>Leader&#8217;s aren&#8217;t all that special other than being able to chose to standing up, and stick with their cause.</p>
<blockquote><p>Leadership is scarce because few people are willing to go through the discomfort required to lead. This scarcity makes leadership valuable. If everyone tries to lead all the time, not much happens. It&#8217;s discomfort that creates the leverage that makes leadership worthwhile.</p></blockquote>
<p>Leadership requires thinking outside the box, and having faith (not the religious kind). The climber described here invented a technique of releasing the wall with all limbs at the same time - literally taking leaps of faith to get out of stuck positions.</p>
<blockquote><p>Here&#8217;s a simple way to think about it: Obe Carrion, former U.S. rock climbing champion, won a tournament in an unusual way. Obe was one of four finalists, and each had to climb a very difficult route up a steep wall. The first three finalists did the same thing. They entered the roped-off area, inspected the route, and then slowly began climbing, on hold at a time, working their way up to the top. Two made it (with a slip or two), one fell.</p>
<p>Obe was scheduled to go last. He came out of the isolation area, inspected the route, took twenty steps back and he *ran* up the wall. he didn&#8217;t hesitate or interpolate or hedge his bets. He just committed.</p>
<p>It turns out that this was the easiest way up the wall. Leaning into the problem made the problem go away.</p></blockquote>
<p>I really like this next one. Invention often seems small and big at the same time. The most interesting enhancements are the tiny ones that end up changing the game.</p>
<blockquote><p>The first rule the music business failed to understand is that, at lest at first, the new thing is rarely as good as the old thing was. If you need the alternative to be better than the status quo from the very start, you&#8217;ll never begin.</p></blockquote>
<p>Yes, I know, failure is good. Stop rubbing it in:</p>
<blockquote><p>The only thing that makes people and organizations great is their willingness to be not great along the way. The desire to fail on the way to reaching a bigger goal is the untold secret of success.</p></blockquote>
<p>I can&#8217;t help but read this in terms of what we call &#8220;user experience&#8221; in software design. It reminds me of how Microsoft used to argue that Internet Explorer was really faster than Firefox, it was just that users *perceived* Firefox to be faster. However, in this case Godin was referring to leadership being in the eye of the follower.</p>
<blockquote><p>Adam Gopnik quotes Jamy Ian Swiss as saying, &#8220;Magic only happens in a spectator&#8217;s mind. Everything else is a distraction&#8230; Methods for their own sake are a distraction. You cannot cross over into the world of magic until you put everything else aside and behind you - including your own desires and needs - and focus on bringing an experience to the audience. This is magic. Nothing else.&#8221;</p></blockquote>
<p>This is striking because it is against conventional wisdom, but makes perfect sense:</p>
<blockquote><p>Sternin went to Vietnam to try to help starving children. Rather than importing tactics that he knew would work, or outside techniques that he was sure could make a difference, he sought out the few families who weren&#8217;t starving, the few moms who weren&#8217;t just getting by but were thriving. And then he made it easy for these mothers to share their insights with the rest of the group.</p></blockquote>
<p>And this makes a good reminder for the new year. To those of us who are blessed, our opportunities are obligations.</p>
<blockquote><p>I don&#8217;t think we have any choice. I think we have an obligation to change the rules, to raise the bar, to play a different game, and to play it better than anyone has any right to believe is possible.</p></blockquote>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/332cb48e-757b-4486-b7b3-b3b11b36fcd6/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=332cb48e-757b-4486-b7b3-b3b11b36fcd6" alt="Reblog this post [with Zemanta]" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/internet-programming/seth-godin-tribes/feed</wfw:commentRss>
		</item>
		<item>
		<title>Rails ActiveRecord Tips</title>
		<link>http://adamloving.com/internet-programming/rails-activerecord-tips</link>
		<comments>http://adamloving.com/internet-programming/rails-activerecord-tips#comments</comments>
		<pubDate>Wed, 24 Dec 2008 01:08:21 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Projects, Programming, Technology]]></category>

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

		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://adamloving.com/?p=837</guid>
		<description><![CDATA[After using ActiveRecord for a while, some questions keep coming up when performing operations that are more complicated than the standard create, read, update, delete.]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin: 1em; float: right; display: block;">
<div>
<dl class="wp-caption" style="width: 212px;">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/Image:Ruby_on_Rails_logo.jpg"><img title="Ruby on Rails" src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/9c/Ruby_on_Rails_logo.jpg/202px-Ruby_on_Rails_logo.jpg" alt="Ruby on Rails" width="202" height="240" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://commons.wikipedia.org/wiki/Image:Ruby_on_Rails_logo.jpg">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>After using ActiveRecord for a while, some questions keep coming up when performing operations that are more complicated than the standard create, read, update, delete.</p>
<h3>1. Does ActiveRecord track if an attribute is has been modified? Does it track dirty state on an object or attribute basis?</h3>
<p>Yes, but not for attributes so far as I can tell. Rails provides these great helper methods (examples given for a person sample object).</p>
<pre>person.new_record?
person.changed?
person.name_changed?
person.name_was

person.name = 'bob'
person.changed        # =&gt; ['name']
person.changes        # =&gt; { 'name' =&gt; ['Bill', 'bob'] }</pre>
<p><a href="http://api.rubyonrails.com/classes/ActiveRecord/Dirty.html">Documentation on Rails ActiveRecord dirty state methods<br />
</a><br />
note that changed? does not capture if a collection has changed (nor seem to work for a collection)</p>
<h3>2. Does ActiveRecord automatically set the reference pointers on both sides of a has_many relationship?</h3>
<p>Surprisingly, no. For example</p>
<pre>p = Person.new
e = EmailAddress.new
e.person = p
p. email_addresses # =&gt; []</pre>
<p>even though EmailAddress belongs_to :person</p>
<p>the reverse is also true</p>
<pre>e2 = EmailAddress.new
p.email_addresses.push(e2)
e2.entity # =&gt; nil</pre>
<p>Also, this is the case even if p and e have been previously saved to the database.</p>
<h3>3. Are objects automatically persisted when you insert into a collection?</h3>
<p>Yes. From the <a href="http://api.rubyonrails.com/classes/ActiveRecord/Associations/ClassMethods.html">documentation</a>: &#8220;Adding an object to a collection (has_many or has_and_belongs_to_many) automatically saves that object, except if the parent object (the owner of the collection) is not yet stored in the database.&#8221;</p>
<p>You can add an object to a collection without automatically saving it by using the my_collection.build method</p>
<h3>4. How does it handle database sessions, is there support for transactions?</h3>
<p>I don&#8217;t see any support for sessions (in the &#8220;Hibernate&#8221; sense, where you can make a number of object changes, then dump those to the database all at once). However, simple transactions are definitely supported.</p>
<pre>ActiveRecord::Base.transaction do
  david.withdrawal(100)
  mary.deposit(100)
end</pre>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/internet-programming/rails-activerecord-tips/feed</wfw:commentRss>
		</item>
		<item>
		<title>Mac Software Recommendations</title>
		<link>http://adamloving.com/internet-programming/mac-software-recommendations</link>
		<comments>http://adamloving.com/internet-programming/mac-software-recommendations#comments</comments>
		<pubDate>Fri, 28 Nov 2008 19:30:24 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Projects, Programming, Technology]]></category>

		<category><![CDATA[mac software]]></category>

		<guid isPermaLink="false">http://adamloving.com/?p=563</guid>
		<description><![CDATA[I&#8217;m making one final pass at cleaning off my hard drive this morning before installing OS X Leopard. As part of the process, I&#8217;m making sure I have license keys for all the software I&#8217;ve purchased over the last year or so. Here is a list of the software I have purchased that I recommend.
Parallels [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m making one final pass at cleaning off my hard drive this morning before installing OS X Leopard. As part of the process, I&#8217;m making sure I have license keys for all the software I&#8217;ve purchased over the last year or so. Here is a list of the software I have purchased that I recommend.</p>
<p><a href="http://www.parallels.com/products/desktop/">Parallels</a> - Lets you run XP or Vista on your Mac. I am having a heck of a time getting my vista image off my hard disk, because it is 30GB, but Parallels has been great.</p>
<p><a href="http://macromates.com">TextMate</a> - I haven&#8217;t been happy with the selection of Software Development Environments&#8217;s for OpenSource software, but TextMate is light weight and gets the job done. Others I also use in are NetBeans and Aptana.</p>
<p><a href="http://www.apple.com/iwork/">iWork</a> - I Tried OpenOffice, but upgraded to iWork for Keynote. OpenOffice was too slow.</p>
<p><a href="http://www.adobe.com/products/flex/">Flex Builder 3</a> - You can do Flex development without buying Adobe&#8217;s SDE, but when learning something new, every advantage helps. I found the this Eclipse derivative to be stable, and worth the price for the visual layouts and built in documentation.</p>
<p><a href="http://www.marketsamurai.com/">Market Samurai</a> - A great SEO keyword research tool that helps you plow through tons of keywords. It also tries to optimize the process of getting backlinks, but that is a tough problem to solve. I haven&#8217;t found Market Samurai&#8217;s ability to search for content and back links opportunities to be all that useful, but I haven&#8217;t really tried that hard.</p>
<p><a href="http://www.pixelmator.com/">Pixelmator</a> - Excellent affordable Photoshop replacement. I like the support of gradients. Little bit of a learning curve (probably the same as Photoshop).</p>
<p>I will likely soon buy:</p>
<p><a href="http://www.macspeech.com/dictate/">MacSpeech Dictate</a> - Tried a demo of this and the speech recognition was &#8220;good enough.&#8221;</p>
<p><a href="http://www.flip4mac.com/screenflow.htm">ScreenFlow</a> - for making screen capture videos with web cam picture-in-picture.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/internet-programming/mac-software-recommendations/feed</wfw:commentRss>
		</item>
		<item>
		<title>What is Twitter?</title>
		<link>http://adamloving.com/internet-programming/what-is-twitter</link>
		<comments>http://adamloving.com/internet-programming/what-is-twitter#comments</comments>
		<pubDate>Sat, 22 Nov 2008 23:16:47 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Projects, Programming, Technology]]></category>

		<category><![CDATA[Social Media]]></category>

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

		<guid isPermaLink="false">http://adamloving.com/?p=556</guid>
		<description><![CDATA[I&#8217;m proud of having introduced Twitter to a prominent Seattle investor a couple years back (he hadn&#8217;t heard of it - and wasn&#8217;t looking to invest in it). If you still aren&#8217;t on the bandwagon, here is a cool video explaining it. Today, I met the creator of this video. He has built a business [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m proud of having introduced <a href="http://twitter.com">Twitter</a> to a prominent Seattle investor a couple years back (he hadn&#8217;t heard of it - and wasn&#8217;t looking to invest in it). If you still aren&#8217;t on the bandwagon, here is a cool video explaining it. Today, I met the creator of this video. He has built a business out of <a href="http://commoncraft.com">handcrafted educational videos</a>. Great stuff!</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ddO9idmax0o&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ddO9idmax0o&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/internet-programming/what-is-twitter/feed</wfw:commentRss>
		</item>
		<item>
		<title>The Quest to watch Hulu on TV with an HD DVR</title>
		<link>http://adamloving.com/internet-programming/how-to-watch-hulu-on-tv</link>
		<comments>http://adamloving.com/internet-programming/how-to-watch-hulu-on-tv#comments</comments>
		<pubDate>Thu, 02 Oct 2008 19:32:42 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Projects, Programming, Technology]]></category>

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

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

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

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://adamloving.com/?p=503</guid>
		<description><![CDATA[The world needs a comprehensive internet connected set-top box. ]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">The world needs a comprehensive internet connected set-top box. There is no existing solution that allows you to:</p>
<ul>
<li>Watch Hulu, YouTube, and other streaming internet videos on your TV</li>
<li>Record broadcast TV in a portable format (an HD DVR).</li>
<li>Download (via Bit torrent or Usenet) and view downloaded videos in portable formats (DivX, Xvid, other MPEG-4 <a href="http://en.wikipedia.org/wiki/Video_codec">variants</a>)</li>
</ul>
<p>After a couple days research, it looks like the best way to accomplish this is by using a Mac or PC with a TV tuner as a home video server. In my case, I already have a MediaCenter PC, but it isn&#8217;t in the TV room, so I&#8217;ve researched the best option for sharing videos over my home network. The result is the system diagrammed below. I haven&#8217;t actually set up the UPnP part of the network yet, but I will likely use iPodifier and PlayOn to transmit shows to a PS3 (which, though expensive, is also a blue-ray player). I am willing to hack a little bit, but am hesitant to embark on a major hacking expedition (doing stuff over SSH to an AppleTV, or installing MythTV to see if it supports my video card both sound like too much work).</p>
<p style="text-align: center;"><img class="aligncenter" title="Home Media Network" src="http://photos-350.ll.facebook.com/photos-ll-snc1/v351/205/89/620375350/n620375350_1803773_5896.jpg" alt="" width="578" height="604" /></p>
<p>I prefer to pay for <a href="http://www.qwest.com/">high speed internet</a> rather than cable/satellite TV. For some reason, I can&#8217;t stomach a <a href="http://www.comcast.com/">monthly subscription for TV</a>. $50-100/month = $600-1200/yr (although I do have ultra-basic cable because our TV reception is poor). A basic HD <a href="http://www.tivo.com/">TiVo</a>, the leading choice for a stand-alone DVR, is $299 without programming, $700 with lifetime service. This is too expensive, and still only solves 1 of the 3 criteria above.</p>
<p>On demand download services are more palatable, the leaders are:</p>
<ul>
<li> <a href="http://www.vudu.com/">Vudu</a></li>
<li> <a href="http://www.roku.com/netflixplayer/">Netflix Roku</a></li>
<li> <a href="http://www.apple.com/appletv/">AppleTV</a></li>
</ul>
<p>But with all of these, you pay for a limited selection of old TV shows and movies. Rather than dropping $600 on a year of cable television, that money will go a long way towards a <a href="http://www.apple.com/macmini/">Mac Mini</a> with <a href="http://www.elgato.com/elgato/na/mainmenu/home.en.html">EyeTV</a> or a <a href="http://configure.us.dell.com/dellstore/config.aspx?c=us&amp;cs=19&amp;l=en&amp;oc=DDCWLA2&amp;s=dhs">MediaCenter PC</a>. Once you have either of those as a hub, it is easier to free up your content for viewing on other devices around the house.</p>
<p>Here is what I&#8217;ve found to be the leading software you can install on your Mac/PC DVR to share video around the house:</p>
<ul>
<li><a href="http://www.google.com/search?q=playon&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:en-US:official&amp;client=firefox-a">PlayOn</a> (UPnP server for PC)  - launched a beta version recently and <a href="http://www.themediamall.com/playon">their site</a> went down</li>
<li><a href="http://ipodifier.com/">iPodifier</a> (file converter for PC) to automatically convert your Windows MediaCenter format files to iPod or AppleTV friendly format (MPG-4)</li>
<li><a href="http://mediatomb.cc/">MediaTomb</a> (UPnP server for Mac/Linux)</li>
</ul>
<p>These are very promising because they don&#8217;t require a lot of hacking (although MediaTomb doesn&#8217;t seem have any installation instructions)</p>
<p>UPnP Clients</p>
<ul>
<li>PlayStation3 - should work with PlayOn and has a blue-ray drive.</li>
<li>XBox 360 - should work with PlayOn or PC MediaCenter (though I had bad experiences with first gen Xbox)</li>
<li>not AppleTV (requires hacking) - but should detect MPG-4 videos encoded by iPodifier</li>
</ul>
<p>Other Links</p>
<ul>
<li><a href="http://www.paulcolligan.com/2008/09/01/hulu-on-the-xbox-heres-how/">Demo of Hulu on Xbox (using PlayOn)</a></li>
<li>Hacking AppleTV for uPNP http://users.telenet.be/bruno.keymolen/hmedia.html (UPNP for AppleTV)</li>
<li>An <a href="http://reviews.cnet.com/portable-video-players-pvps/archos-5-60gb/4505-6499_7-33226902.html?tag=api&amp;subj=re">Archos DVR</a> with support for UPnP (No Hulu, Pandora or last.fm due to poor support for flash)</li>
<li><a href="http://code.google.com/p/atvusb-creator/">More AppleTV hacking stuff </a></li>
<li><a href="http://boxee.tv">Boxee</a> (TV like interface for internet video on Mac based on <a href="http://xbmc.org/">XBMC</a>)</li>
<li>Myka, a <a href="http://www.myka.tv/index.html?banner=torrentfreakS1">bit torrent-enabled set top box</a> (that isn&#8217;t shipping yet)</li>
<li><a href="http://www.orb.com/">Orb</a> - stream software from your PC over the internet to anywhere</li>
<li>A <a href="http://www.thinkgeek.com/electronics/digital-conversion/a956/?cpg=ab">USB VCR</a> (as in tape). Want to get <a href="http://shop.ebay.com/?_from=R40&amp;_trksid=m38.l1313&amp;_nkw=ion+usb+vcr&amp;_sacat=See-All-Categories">one of these</a> to make DVDs of old family videos.</li>
<li><a href="http://www.mythtv.org/">MythTV</a> - linux DVR/media server software.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/internet-programming/how-to-watch-hulu-on-tv/feed</wfw:commentRss>
		</item>
		<item>
		<title>StumbleRead Feature Ideas</title>
		<link>http://adamloving.com/internet-programming/stumbleread-feature-ideas</link>
		<comments>http://adamloving.com/internet-programming/stumbleread-feature-ideas#comments</comments>
		<pubDate>Tue, 05 Aug 2008 23:33:15 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Projects, Programming, Technology]]></category>

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

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

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

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

		<guid isPermaLink="false">http://adamloving.com/?p=468</guid>
		<description><![CDATA[Image via Wikipedia
I&#8217;ve been trying to prioritize the requests I&#8217;ve had for StumbleRead. Thanks to everybody who has provided feedback.
1. Support for &#8220;Hide&#8221; (as defined by FriendFeed)
2. There is a bug when opening articles (for example from the New York Times) where the article takes over the StumbleRead frame. I&#8217;m not 100% sure I can [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin: 1em; float: right; display: block;"><a href="http://commons.wikipedia.org/wiki/Image:Deer_Park_Globe.png"><img style="border: medium none; display: block;" src="http://upload.wikimedia.org/wikipedia/commons/9/9e/Deer_Park_Globe.png" alt="The generic globe logo used when Firefox is co..." /></a><span class="zemanta-img-attribution">Image via <a href="http://commons.wikipedia.org/wiki/Image:Deer_Park_Globe.png">Wikipedia</a></span></div>
<p>I&#8217;ve been trying to prioritize the requests I&#8217;ve had for <a href="http://stumbleread.com">StumbleRead</a>. Thanks to everybody who has provided <a href="http://friendfeed.com/search?q=StumbleRead">feedback</a>.</p>
<p>1. Support for &#8220;Hide&#8221; (as defined by FriendFeed)</p>
<p>2. There is a bug when opening articles (for example from the New York Times) where the article takes over the StumbleRead frame. I&#8217;m not 100% sure I can fix this, but I will try.</p>
<p>3. &#8220;Next &gt;&gt;&#8221; bookmarklet. Just discovered that Google Reader has one of these, and it would be perfect for StumbleRead. Clicking the button would take you to the next unread item in your FriendFeed queue. (This would likely also entail &#8220;read item&#8221; tracking, though you could imagine it opening just the item with the newest comment or like).</p>
<p>4. Reverse sort order comments. Probably will make this a preference option.</p>
<p>5. Pop-out mode, where StumbleRead left hand frame becomes its own window (like a Web based Twhirl). it would still auto open posts, but allow us to see the URL of the content pane.</p>
<p>6. &#8220;Horizontal&#8221; mode. Just something I want to try. One item at a time in horizontal pane at the top.</p>
<p>7. FireFox add-in. This would probably be too much work for me to undertake. I&#8217;m hoping the combination of the above features will make an add-in unnecessary.</p>
<p>8. Skins. Would be great to have some alternate color schemes.</p>
<p>9. Search and filter. I really want to be able to filter to just videos or photos.</p>
<p>James Mowery has posted separately with some great suggestions for the <a href="http://onlyjames.com/2008/07/the-ultimate-friendfeed-client/">ultimate FriendFeed client</a>.</p>
<blockquote><p>&#8220;Perhaps third-party developers should attempt to integrate more tabs and/or filters within a FriendFeed client. Why not have tabs or filters for each of the following: blogging activity, news activity, social networking activity, multimedia activity, shopping activity, comment activity, and more.&#8221;</p></blockquote>
<p>#9 should cover that</p>
<blockquote><p>&#8220;The interface should allow users to properly and intuitively manage, display, and sort comments.&#8221;</p></blockquote>
<p>#4 should help</p>
<blockquote><p>&#8220;Finally, the person or people who decide to make the ultimate FriendFeed client should find ways to extend FriendFeed’s uses. Honestly now, who knew that Twitter was going to be a popular service to track packages and calculate MPG rates? Who knew that it would turn the everyday person into a reporter? Who knew that it would be one of the most dominant marketing tools today? Who knew that it would change the world? FriendFeed’s third-party developers should apply all this knowledge to their creations.&#8221;</p></blockquote>
<p>This is a big but fascinating challenge. FriendFeed is already so interoperable. What StumbleRead could do is package all the audio or video links into a playlist. Just one idea.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/a47dcb73-e2c6-43ab-a189-09531c68443f/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=a47dcb73-e2c6-43ab-a189-09531c68443f" alt="Zemanta Pixie" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/internet-programming/stumbleread-feature-ideas/feed</wfw:commentRss>
		</item>
		<item>
		<title>Kausay Wasi Clinic - Real Magic in Peru&#8217;s Sacred Valley</title>
		<link>http://adamloving.com/family-friends-fun/kausay-wasi</link>
		<comments>http://adamloving.com/family-friends-fun/kausay-wasi#comments</comments>
		<pubDate>Sat, 02 Aug 2008 15:42:37 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Friends, Family, and Fun]]></category>

		<category><![CDATA[Machu Picchu]]></category>

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

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

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

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

		<guid isPermaLink="false">http://adamloving.com/?p=443</guid>
		<description><![CDATA[I wrote previously about my trip to Machu Picchu when I visited Peru in May. Breathtaking as it was, it wasn&#8217;t the highlight of the trip. The highlight was seeing the work of the team at Kausay Wasi Clinic in Qoya. My father in-law has seen hundreds of patients with the team there over the [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote previously about my trip to <a href="http://adamloving.com/2008/06/05/machu-picchu-peru/">Machu Picchu</a> when I visited Peru in May. Breathtaking as it was, it wasn&#8217;t the highlight of the trip. The highlight was seeing the work of the team at <a href="http://kausaywasi.org">Kausay Wasi Clinic in Qoya</a>. My father in-law has seen hundreds of patients with the team there over the last several years. The clinic provides basic health and dental care to thousands of Peru&#8217;s people who live in the rural Sacred Valley area.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="267" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="host=picasaweb.google.com&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fadamloving%2Falbumid%2F5229943523876653137%3Fkind%3Dphoto%26alt%3Drss" /><param name="src" value="http://picasaweb.google.com/s/c/bin/slideshow.swf" /><embed type="application/x-shockwave-flash" width="400" height="267" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" flashvars="host=picasaweb.google.com&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fadamloving%2Falbumid%2F5229943523876653137%3Fkind%3Dphoto%26alt%3Drss"></embed></object></p>
<blockquote><p>&#8220;The Clinic treats approximately 10,000 patients per year, and US visiting medical teams perform approximately 300 operations free of charge in specialties such as ears, nose and throat, facial reconstruction, cataract, orthopedic surgeries for children, and gynecological surgeries for women.&#8221;</p></blockquote>
<p>To visit was a life changing experience. The patients that we saw come through the clinic were overwhelmed with gratitude for the care they received. Care they would not have gotten if not for the efforts of the two sincere and effective founders Guido and Sandy Del Prado.</p>
<p>If you are traveling to Machu Picchu, or just want to make a difference, please <a href="http://kausaywasi.org/donate.html">sponsor a family</a>. $200 will cover an entire family&#8217;s medical care for one year.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/family-friends-fun/kausay-wasi/feed</wfw:commentRss>
		</item>
		<item>
		<title>What next for Lookmarks?</title>
		<link>http://adamloving.com/internet-programming/link-sharing-ideas</link>
		<comments>http://adamloving.com/internet-programming/link-sharing-ideas#comments</comments>
		<pubDate>Sat, 02 Aug 2008 14:49:56 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Projects, Programming, Technology]]></category>

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

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

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

		<category><![CDATA[sharing links]]></category>

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

		<guid isPermaLink="false">http://adamloving.com/?p=436</guid>
		<description><![CDATA[Image via Wikipedia
Lookmarks is my simple link sharing site that died under the weight of link spammers (both bots and humans). I&#8217;ve been trying to think of a way to re-work the site to capture the enthusiasm of all those unexpected &#8220;customers&#8221;. I&#8217;ve got the site half-way ported to Google App Engine, and I&#8217;m taking [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin: 1em; float: right; display: block;"><a href="http://en.wikipedia.org/wiki/Image:Spammusubi1011.jpg"><img style="border: medium none; display: block;" src="http://upload.wikimedia.org/wikipedia/en/thumb/4/44/Spammusubi1011.jpg/202px-Spammusubi1011.jpg" alt="Spam musubi made from SPAM. (see definition fo..." /></a><span class="zemanta-img-attribution">Image via <a href="http://en.wikipedia.org/wiki/Image:Spammusubi1011.jpg">Wikipedia</a></span></div>
<p><span class="nfakPe">Lookmarks</span> is my simple <a href="http://lookmarks.com">link sharing site</a> that died under the weight of link spammers (both bots and humans). I&#8217;ve been trying to think of a way to re-work the site to capture the enthusiasm of all those unexpected &#8220;customers&#8221;. I&#8217;ve got the site half-way ported to <a href="http://adamloving.com/2008/07/09/google-app-engine-evaluation/">Google App Engine</a>, and I&#8217;m taking an <a href="http://www.ThirtyDayChallenge.com/challenge/25963">internet marketing course</a> (I&#8217;m ashamed to admit) that I&#8217;m sure will influence my ideas further.</p>
<p><strong>Goal</strong></p>
<p>The goal is to build a quality link directory by encouraging self promotion and harnessing it to enforce quality (like Mahalo or Wikia but with controls instead of paid editors). The business model is AdWords and paid sponsored links.</p>
<p><strong>Idea</strong></p>
<p>Create a &#8220;digg&#8221; like system where you only ever vote on <em>random</em> links. You gain or lose credibility points based on how many people later vote the same as you.</p>
<p><strong>Detail</strong></p>
<p>The new <span class="nfakPe">Lookmarks</span> works like a very simple <a class="zem_slink" title="Social bookmarking" rel="wikipedia" href="http://en.wikipedia.org/wiki/Social_bookmarking">social bookmarking</a> site (with a search function), except by default links you add are only visible to yourself (and your friends).</p>
<p>In order to make a link appear public (and to other users that are not your friends) without having other people bookmark it, you must spend <span class="nfakPe">Lookmarks</span> points (or dollars). You presumably only want to do this when you are trying to promote your own site. Once public, the link appears in anonymous search results and is indexed by Google (what the link spammers want).</p>
<p>Points are awarded to users based on their ability to predict how many other people will bookmark or &#8220;vote up&#8221; links. The site doesn&#8217;t allow you to go around voting on links because this would allow collusion between fake user accounts. One user could follow around another, bookmark everything and earn a ton of points. You can however, visit a special voting page that presents random links that you can vote on. You are presented with a screen like:</p>
<blockquote><p><em>When searching for &#8220;Seattle restaurants&#8221; do you think most people would find the link below useful, informative, or entertaining&#8230; Yes or No</em></p></blockquote>
<p>The prediction scoring in this case grants you one point for all the people after you that vote the same as you, and subtracts a point for everybody who votes differently. The volume of random links prevents collusion (the database is already seeded with 10s of thousands of questionable links). Even if you teamed up to vote yes on everything with the letter &#8220;X&#8221; in it, you&#8217;d have to wade through too many links to make the points add up.</p>
<p>Once you&#8217;d acquired some points, you could spend/deposit them on one of your links to keep it public even if it received negative votes. For example, you could put 10 points on it to counter-act 10 negative votes.</p>
<p>Just to re-iterate, only link spammers and super-contributors would care about earning points. Normal users could ignore them.</p>
<p><strong>Issues, Questions, Refinements</strong></p>
<ol>
<li>Sites like delicious, faves don&#8217;t appear to need a points system - so captchas and spam filters are presumably enough to throw away the spam (discouraging the spammers instead of harnessing them).</li>
<li>Is the visibility of points (or spending points) necessary? We could just weight the votes of people who make best predictions. The points should probably be visible though as motivation.</li>
<li>Could streamlining the voting so that when you are submitting your link, you have to vote right then and there if you want to make your link public. Include paypal pay now button.</li>
<li>Scoring would be slow to get going. Could give everyone 5 points to start. Could make &#8220;random&#8221; selection weighted towards links that had 1 vote to speed up scoring.</li>
<li>How would you combine the UI of Digg and Delicious? Since use cases are different, should probably keep them separate. Could be separate views on the same database.</li>
<li>Would it be more efficient to force comparison between two links instead of voting on one?</li>
<li>Can I add one more feature that makes the world a better place (like improve link sharing for teams) to make this whole venture worthwhile.</li>
<li>Other random idea: award one point for each external domain that links to <span class="nfakPe">lookmarks</span> (ick :)!)</li>
</ol>
<p>What do you think of the points system? Should it be visible or invisible? The question is not whether or not you&#8217;d use the site, but whether link spammers would bother to go through the voting exercise.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/7303ca87-c75e-41f3-804c-945667f6a32c/"><br />
</a></div>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/internet-programming/link-sharing-ideas/feed</wfw:commentRss>
		</item>
		<item>
		<title>Common Ruby Regex Patterns</title>
		<link>http://adamloving.com/internet-programming/common-ruby-regex-patterns</link>
		<comments>http://adamloving.com/internet-programming/common-ruby-regex-patterns#comments</comments>
		<pubDate>Sun, 27 Jul 2008 16:39:26 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Projects, Programming, Technology]]></category>

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

		<category><![CDATA[regular expressions]]></category>

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

		<guid isPermaLink="false">http://adamloving.com/?p=427</guid>
		<description><![CDATA[My earlier (rather lame) post on Ruby Regex&#8217;s (Regular Expressions) is getting some Google love, so I thought I would supplement it with some more useful information.
If you are searching for Ruby Regex help, my guess is you are looking for&#8230;
Validating an email address with a Ruby Regex
Something simple like this next one will get [...]]]></description>
			<content:encoded><![CDATA[<p>My earlier (rather lame) post on <a href="http://adamloving.com/2008/01/07/ruby-quickref-2/">Ruby Regex&#8217;s (Regular Expressions)</a> is getting some Google love, so I thought I would supplement it with some more useful information.</p>
<p>If you are searching for Ruby Regex help, my guess is you are looking for&#8230;</p>
<h3>Validating an email address with a Ruby Regex</h3>
<p>Something simple like this next one will get you started.</p>
<p>irb(main):023:0&gt; &#8220;me@adamloving.com&#8221;.match /^([^@s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})$/i</p>
<p>For a much more complete <a href="http://tfletcher.com/lib/rfc822.rb">email address ruby regex</a>, try:</p>
<pre>#
# RFC822 Email Address Regex
# --------------------------
#
# Originally written by Cal Henderson
# c.f. http://iamcal.com/publish/articles/php/parsing_email/
#
# Translated to Ruby by Tim Fletcher, with changes suggested by Dan Kubb.
#
# Licensed under a Creative Commons Attribution-ShareAlike 2.5 License
# http://creativecommons.org/licenses/by-sa/2.5/
#
module RFC822
  EmailAddress = begin
    qtext = '[^\x0d\x22\x5c\x80-\xff]'
    dtext = '[^\x0d\x5b-\x5d\x80-\xff]'
    atom = '[^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-' +
      '\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+'
    quoted_pair = '\x5c[\x00-\x7f]'
    domain_literal = "\x5b(?:#{dtext}|#{quoted_pair})*\x5d"
    quoted_string = "\x22(?:#{qtext}|#{quoted_pair})*\x22"
    domain_ref = atom
    sub_domain = "(?:#{domain_ref}|#{domain_literal})"
    word = "(?:#{atom}|#{quoted_string})"
    domain = "#{sub_domain}(?:\x2e#{sub_domain})*"
    local_part = "#{word}(?:\x2e#{word})*"
    addr_spec = "#{local_part}\x40#{domain}"
    pattern = /A#{addr_spec}z/
  end
end</pre>
<h3>Find URLs using a Regular Expression in Ruby</h3>
<p>Here is a simple URL matching regular expression.</p>
<pre>irb(main):028:0&gt; "http://www.adamloving.com/".match /^(http|https)://[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(([0-9]{1,5})?/.*)?$/ix</pre>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/internet-programming/common-ruby-regex-patterns/feed</wfw:commentRss>
		</item>
		<item>
		<title>Watching Hulu on TV (how to watch internet video on your TV)</title>
		<link>http://adamloving.com/internet-programming/watching-hulu-on-tv</link>
		<comments>http://adamloving.com/internet-programming/watching-hulu-on-tv#comments</comments>
		<pubDate>Sun, 27 Jul 2008 16:16:03 +0000</pubDate>
		<dc:creator>adam</dc:creator>
		
		<category><![CDATA[Projects, Programming, Technology]]></category>

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

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

		<category><![CDATA[internet video]]></category>

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

		<guid isPermaLink="false">http://adamloving.com/?p=421</guid>
		<description><![CDATA[This is a follow up post to my earlier post about watching internet video (Hulu and YouTube) on a TV. Since I still haven&#8217;t found a set top box that I can recommend, I thought it would be helpful to describe how to hook your PC or laptop up to your television.


If you have an [...]]]></description>
			<content:encoded><![CDATA[<p>This is a follow up post to my earlier post about <a href="http://adamloving.com/2008/06/26/watching-youtube-and-hulu-on-your-tv/">watching internet video (Hulu and YouTube) on a TV</a>. Since I still haven&#8217;t found a set top box that I can recommend, I thought it would be helpful to describe how to hook your PC or laptop up to your television.</p>
<p><img class="alignright" title="DVI s-video adapter" src="http://a248.e.akamai.net/7/248/2041/1445/as-images.apple.com/is/image/AppleInc/M9267?wid=185&amp;hei=185&amp;fmt=jpeg&amp;qlt=95&amp;op_sharpen=1&amp;resMode=bicub&amp;op_usm=0.5,0.5,0,0&amp;iccEmbed=0" alt="" width="185" height="185" /></p>
<ul>
<li>If you have an older PC or laptop, and an older TV, most likely what you need is an <a href="http://images.google.com/images?q=s-video%20cable&amp;ie=UTF-8&amp;oe=utf-8&amp;rls=org.mozilla:en-US:official&amp;client=firefox-a&amp;um=1&amp;sa=N&amp;tab=wi">S-video cable</a>.</li>
<li>If you have a newer PC or laptop and an older TV, <a href="http://store.apple.com/us/product/M9267G/A">DVI to S-video</a> is more likely what you need.<a href="http://store.apple.com/us/product/M9267G/A"><br />
</a></li>
<li>Lastly, if you have a new PC or laptop, and a new TV (like a flat screen LCD TV) - you probably need a <a href="http://www.mycablemart.com/store/cart.php?m=product_list&amp;c=61&amp;gclid=CIya17-24JQCFSUqagodd2i1RQ   ">DVI to HDMI cable</a>.</li>
</ul>
<p>Hooking up your PC to your TV can be a pain. Here is another article I found about <a href="http://newteevee.com/2008/06/17/the-set-top-box-scorecard/  ">internet set top boxes</a>. One that looks promising that I didn&#8217;t mention before is the &#8220;<a href="http://www.verismonetworks.com/web-video   ">vunow</a>&#8220;. The vunow claims to offer NBC content, but I couldn&#8217;t figure out where to actually buy it - so it may not be released yet.</p>
<p>It seems like someone just needs to get this hardware done so we can make <a href="http://adamloving.com/2008/07/08/its-the-beginning-of-the-end-for-the-tv-biz-says-analyst/">cable and broadcast TV obsolete</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamloving.com/internet-programming/watching-hulu-on-tv/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
