<?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>real tangible</title>
	<atom:link href="http://realtangible.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://realtangible.com</link>
	<description>personal page of Jason Prado</description>
	<lastBuildDate>Mon, 08 Feb 2010 21:54:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Who Owns the Internet?</title>
		<link>http://realtangible.com/2010/02/08/who-owns-the-internet/</link>
		<comments>http://realtangible.com/2010/02/08/who-owns-the-internet/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 21:54:18 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[imadethis]]></category>
		<category><![CDATA[internets]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=243</guid>
		<description><![CDATA[At the most recent Salon Fremont I gave a talk about authority and ownership on the internet. If you haven&#8217;t been before, the Salon is a gathering like a bunch of pretentious Frenchies used to have where attendees discuss their work or other topics of interest.
I thought the talk went really well. The most difficult [...]]]></description>
			<content:encoded><![CDATA[<p>At the most recent Salon Fremont I gave a talk about authority and ownership on the internet. If you haven&#8217;t been before, the Salon is a gathering like a bunch of <a href="http://en.wikipedia.org/wiki/Salon_%28gathering%29">pretentious Frenchies</a> used to have where attendees discuss their work or other topics of interest.</p>
<p>I thought the talk went really well. The most difficult part of it was to hit the right mix of technical detail&#8211; enough to understand the whole picture, but not so much as to make the important ideas inaccessible to those without a technical background. My co-presenter for the night was Kascha, with her shiny new PhD, speaking on the meaning of life. Thus my talk had to appeal to a crowd just as ready to discuss Arendt as DNS.</p>
<p>Like every Salon I&#8217;ve been to, I was amazed by the level of discussion that followed both presentations. If there&#8217;s anything like it in your city, you should find it; if there isn&#8217;t, you should start one.</p>
<p>I&#8217;ve posted my <a href="http://dump.realtangible.com/whoowns/who_owns_the_internet.pdf">slides</a> and <a href="http://dump.realtangible.com/whoowns/notes.txt">notes</a>. If it&#8217;s something you&#8217;re interested in, don&#8217;t hesitate to talk to me about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2010/02/08/who-owns-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>everythingIsTheBest, LLC</title>
		<link>http://realtangible.com/2010/02/05/everythingisthebest-llc/</link>
		<comments>http://realtangible.com/2010/02/05/everythingisthebest-llc/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 02:50:44 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[everythingIsTheBest]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=239</guid>
		<description><![CDATA[We incorporated. We have a website. Now we just need a product.
A commemorative koan:
When Banzan was walking through a market he overheard a conversation between a butcher and his customer.
&#8220;Give me the best piece of meat you have,&#8221; said the customer.
&#8220;Everything in my shop is the best,&#8221; replied the butcher. &#8220;You cannot find here any [...]]]></description>
			<content:encoded><![CDATA[<p>We incorporated. We have a <a href="http://everythingIsTheBest.com">website</a>. Now we just need a product.</p>
<p>A commemorative <a href="http://www.ashidakim.com/zenkoans/31everythingisbest.html">koan</a>:</p>
<p style="padding-left: 30px;">When Banzan was walking through a market he overheard a conversation between a butcher and his customer.</p>
<p style="padding-left: 30px;">&#8220;Give me the best piece of meat you have,&#8221; said the customer.</p>
<p style="padding-left: 30px;">&#8220;Everything in my shop is the best,&#8221; replied the butcher. &#8220;You cannot find here any piece of meat that is not the best.&#8221;</p>
<p style="padding-left: 30px;">At these words Banzan became enlightened.</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2010/02/05/everythingisthebest-llc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ridepenguin: share a cab home from SeaTac</title>
		<link>http://realtangible.com/2009/12/28/ridepenguin-share-a-cab-home-from-seatac/</link>
		<comments>http://realtangible.com/2009/12/28/ridepenguin-share-a-cab-home-from-seatac/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 04:33:21 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[imadethis]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[seattle]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=234</guid>
		<description><![CDATA[Ben and I released a little project we&#8217;ve been working on over the past two weeks: ridepenguin. It&#8217;s a mobile webapp for finding cab shares from SeaTac Airport to Seattle/surrounding areas. And I think it beats shouting at a crowd outside the airport.
We&#8217;ve been poking around with location-based apps for a while and this is [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="float:left" title="RidePenguin" src="http://dump.realtangible.com/pics/penguin_logo_medium.png" alt="" width="300" height="115" />Ben and I released a little project we&#8217;ve been working on over the past two weeks: <a href="http://ridepenguin.com">ridepenguin</a>. It&#8217;s a mobile webapp for finding cab shares from SeaTac Airport to Seattle/surrounding areas. And I think it beats shouting at a crowd outside the airport.</p>
<p>We&#8217;ve been poking around with location-based apps for a while and this is our first to be released. The most fun part of it was something highly reusable that helps quickly decide if two locations are &#8216;close&#8217; in a practical sense, as in if you went to one would you mind going to the other on the same trip.</p>
<p>The project has already gotten a bit of press on <a href="http://techflash.com/seattle/2009/12/cabbing_it_home_from_seatac_give_this_rideshare_service_a_try.html">TechFlash</a> and <a href="http://publicola.net/?p=21770">Publicola</a>. Thanks especially to <a href="http://twitter.com/toddbishop">Todd Bishop</a> from TechFlash for talking to Ben about the launch. New media &gt; old media by a long shot.</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/12/28/ridepenguin-share-a-cab-home-from-seatac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recurrences</title>
		<link>http://realtangible.com/2009/12/24/recurrences/</link>
		<comments>http://realtangible.com/2009/12/24/recurrences/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 03:14:17 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[imadethis]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=226</guid>
		<description><![CDATA[
I wrote a small iPhone app called Recurrences. It fills a niche that I&#8217;ve been needing&#8211; a todo list for things that never get done, they just get done for now. Like calling your mom or emailing friends. When you finish a task, you hit done and it moves to the bottom of the todo [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="screencap" style="float:left" src="http://dump.realtangible.com/pics/recurrencescap.png" alt="Recurrences Screencap" width="320" height="240" /><br />
I wrote a small iPhone app called <a href="http://itunes.apple.com/us/app/recurrences/id345155475?mt=8">Recurrences</a>. It fills a niche that I&#8217;ve been needing&#8211; a todo list for things that never get done, they just get done for now. Like calling your mom or emailing friends. When you finish a task, you hit done and it moves to the bottom of the todo list. And every task always tells you how long it&#8217;s been since last you did it. Super simple, but it took me two days to write (and learn CoreData, which is pretty cool) and I&#8217;ll be happy if anyone else finds a use for it besides me.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/12/24/recurrences/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to get a hold of me</title>
		<link>http://realtangible.com/2009/11/20/how-to-get-a-hold-of-me/</link>
		<comments>http://realtangible.com/2009/11/20/how-to-get-a-hold-of-me/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 22:11:51 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[internets]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=221</guid>
		<description><![CDATA[


While thinking about how to route messages for a project I&#8217;m starting, I decided to flowchart every method of electronic communication I engage with on a daily basis, how they are routed, and how they get to me. Not sure what to glean from this yet. There&#8217;s definitely a lot more polling than I&#8217;m happy [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dump.realtangible.com/mycommunication.jpg"><br />
<img height="204" width="320" alt="" src="http://dump.realtangible.com/mycommunication_small.jpg" style="float: left;"/><br />
</a><br />
While thinking about how to route messages for a project I&#8217;m starting, I decided to flowchart every method of electronic communication I engage with on a daily basis, how they are routed, and how they get to me. Not sure what to glean from this yet. There&#8217;s definitely a lot more polling than I&#8217;m happy with. The only direct push is via txt (and phone, but I don&#8217;t talk on the phone regularly). Everything else goes through at least one tight polling loop. We can do better, internet!</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/11/20/how-to-get-a-hold-of-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming is like wishing on a genie</title>
		<link>http://realtangible.com/2009/11/18/programming-is-like-wishing-on-a-genie/</link>
		<comments>http://realtangible.com/2009/11/18/programming-is-like-wishing-on-a-genie/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 20:27:17 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=218</guid>
		<description><![CDATA[I&#8217;m reading Guy Steele&#8217;s interview in Coders at Work, and I found one of his analogies to be pretty neat:
And if you look at the fairy tales, people want to be able to just think in their minds what they want, wave their hands, and it happens. And of course the fairy tales are full [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m reading Guy Steele&#8217;s interview in <a href="http://www.amazon.com/Coders-at-Work-Peter-Seibel/dp/1430219483">Coders at Work</a>, and I found one of his analogies to be pretty neat:</p>
<blockquote><p>And if you look at the fairy tales, people want to be able to just think in their minds what they want, wave their hands, and it happens. And of course the fairy tales are full of cautionary tales where you forgot to cover the edge case and then something bad happens.</p></blockquote>
<p>As a pretty accurate real world example, he offers:</p>
<blockquote><p>&#8230;suppose I were to tell my smart computer, &#8220;OK, I&#8217;ve got this address book and I want the addresses to always be in sorted order,&#8221; and it responds by throwing away everything but the first entry. Now the address book is sorted. But that&#8217;s not what you wanted.</p></blockquote>
<p>Yeah, that&#8217;s how programming feels. I remember running into situations exactly like that when programming in Epilog and when trying to annotate code to pass through a static analysis tool. Those problems made me think that the logical/declarative paradigm is just not cut out for being written by humans, whereas functional and certainly imperative models of computation are actually more intuitive, despite their complexity.</p>
<p>I&#8217;m not sure Steele would draw the same conclusion, but his list of more than a dozen languages he has worked in seriously does not include Prolog.</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/11/18/programming-is-like-wishing-on-a-genie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goodbye Silverlight</title>
		<link>http://realtangible.com/2009/11/15/goodbye-silverlight/</link>
		<comments>http://realtangible.com/2009/11/15/goodbye-silverlight/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 19:08:32 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[dayjob]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=215</guid>
		<description><![CDATA[This is the email I sent to my team upon leaving on Friday.
Silverlight, baby, sit down, we need to talk.
What&#8217;s that you ask? No, no, it&#8217;s nothing serious. Well, okay, yeah it&#8217;s kind of serious. I need to talk about us.
When we started hanging out a year and a half ago, I didn&#8217;t think it [...]]]></description>
			<content:encoded><![CDATA[<p>This is the email I sent to my team upon leaving on Friday.</p>
<blockquote><p>Silverlight, baby, sit down, we need to talk.</p>
<p>What&#8217;s that you ask? No, no, it&#8217;s nothing serious. Well, okay, yeah it&#8217;s kind of serious. I need to talk about us.</p>
<p>When we started hanging out a year and a half ago, I didn&#8217;t think it was going to be a big deal. You were the new platform in town, and I had to see what you were all about. I figured you&#8217;d be up for a good time with no strings attached, you know? But something happened&#8230; I really started to fall for you. I found myself up late thinking about you. I was smitten with your rapid release cycles and impressive&#8230; feature sets.</p>
<p>But now, well, we want different things. You want to settle down and play it safe. You&#8217;re over big refactorings and overengineering. You’re all about schedules and planning and being on time. And trust me, I understand that&#8217;s just where you are in your product lifetime. But please understand, that&#8217;s not where I am. Wait! Wait, no, I don&#8217;t think you&#8217;re boring. Really. We&#8217;re just&#8230; interested in different things.</p>
<p>Darling, please don&#8217;t cry. We&#8217;ll always be friends. I&#8217;m totally going to use you for every RIA app I build. Hell, I&#8217;ll even build a mobile app with you later. And just remember the good times. Remember that snowy night when I trekked 3 hours in a blizzard to spend a romantic weekend with you? We integrated forward, reverse, every which way.</p>
<p>But times haven&#8217;t always been good, right? Remember OpacityMask? After you hurt me like that, I didn&#8217;t know if I could trust you again. You burned me so bad, baby. And let&#8217;s not even get into what happened at Taco Town… I thought that was going to be the death of me.</p>
<p>Really, Silverlight? How could you even accuse me of not being loyal? After all we&#8217;ve been through. I started using Windows for you! I commuted to Redmond to see you every day. I gave up the STL! Honestly, after all we&#8217;ve been through&#8230;</p>
<p>But you’re right, there is a reason. It&#8217;s not exactly serious yet, but my interest has been peaked by something else. Its name is Startup, and it wants me all to itself now. Startup does whatever I say, and it gets pretty crazy&#8211; it’s into test-driven development, agile methods, you name it. It moves fast and I need that excitement again in my life. I&#8217;m sorry, you don&#8217;t want to hear about that, but this is how I feel.  You’ve taught me so much these past few months and introduced me to so many wonderful friends that I hope we can all continue to be friends.</p>
<p>I really do wish you all the best, and I know you&#8217;ll find the person who&#8217;s right for you. I think you have 300 excellent candidates right here&#8230;</p>
<p>But to be serious for a moment, it&#8217;s been really great working with all of you. I&#8217;ve enjoyed getting to know everyone on the team, and I certainly hope to stay in touch. It&#8217;s not this company or this product that makes this an amazing team&#8211; it&#8217;s all of you.</p>
<p>The biggest goal I&#8217;ve ever had is to start a successful company of my own, and I have to take this chance to try it, especially while I am young and have so little to lose. Thus, this Friday, November 13th, is my last day at Microsoft. I&#8217;ll be leaving to launch my own startup.</p>
<p>I&#8217;m still going to be in Seattle for the foreseeable future, and I&#8217;d certainly like to hear from you guys. I can always be reached at jason.prado@gmail.com.</p>
<p>Sincerely,<br />
Jason</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/11/15/goodbye-silverlight/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>% 2 or &amp; 1 ?</title>
		<link>http://realtangible.com/2009/10/08/2-or-1/</link>
		<comments>http://realtangible.com/2009/10/08/2-or-1/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 01:07:53 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=211</guid>
		<description><![CDATA[Should you test an integer for evenness by n % 2 == 0 or n &#038; 1 == 0? I always assumed they compiled down to the same thing, so today I checked. All code compiled in gcc4 -O3.

(gdb) x/8i foo1
0x1fa0 &#60;foo1&#62;:	push   %ebp
0x1fa1 &#60;foo1+1&#62;:	mov    %esp,%ebp
0x1fa3 &#60;foo1+3&#62;:	mov    0x8(%ebp),%eax
0x1fa6 [...]]]></description>
			<content:encoded><![CDATA[<p>Should you test an integer for evenness by <code>n % 2 == 0</code> or <code>n &#038; 1 == 0</code>? I always assumed they compiled down to the same thing, so today I checked. All code compiled in gcc4 -O3.</p>
<p><code><br />
(gdb) x/8i foo1<br />
0x1fa0 &lt;foo1&gt;:	push   %ebp<br />
0x1fa1 &lt;foo1+1&gt;:	mov    %esp,%ebp<br />
0x1fa3 &lt;foo1+3&gt;:	mov    0x8(%ebp),%eax<br />
0x1fa6 &lt;foo1+6&gt;:	leave<br />
0x1fa7 &lt;foo1+7&gt;:	xor    $0x1,%eax<br />
0x1faa &lt;foo1+10&gt;:	and    $0x1,%eax<br />
0x1fad &lt;foo1+13&gt;:	ret<br />
0x1fae &lt;foo1+14&gt;:	xchg   %ax,%ax<br />
</code></p>
<p><code><br />
(gdb) x/8i foo2<br />
0x1fb0 &lt;foo2&gt;:	push   %ebp<br />
0x1fb1 &lt;foo2+1&gt;:	mov    %esp,%ebp<br />
0x1fb3 &lt;foo2+3&gt;:	mov    0x8(%ebp),%eax<br />
0x1fb6 &lt;foo2+6&gt;:	leave<br />
0x1fb7 &lt;foo2+7&gt;:	xor    $0x1,%eax<br />
0x1fba &lt;foo2+10&gt;:	and    $0x1,%eax<br />
0x1fbd &lt;foo2+13&gt;:	ret<br />
0x1fbe &lt;foo2+14&gt;:	xchg   %ax,%ax<br />
</code></p>
<p>Yep, same thing. This worked the same with signed vs. unsigned ints on my intel mac. According to this <a href="http://www.archivum.info/comp.lang.c/2005-09/01245/Re:_Testing_a_number_for_evenness">thread</a>, that isn&#8217;t the case on all architectures.</p>
<p>Premature optimizers should stop prematurely optimizing. If taking the remainder when divided by 2 is clearer to you, then do it that way. The compiler doesn&#8217;t care.</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/10/08/2-or-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>THEM THANGS is pretty cool</title>
		<link>http://realtangible.com/2009/08/14/them-thangs-is-pretty-cool/</link>
		<comments>http://realtangible.com/2009/08/14/them-thangs-is-pretty-cool/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 03:15:30 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[pretty]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=205</guid>
		<description><![CDATA[Do you like:

Models
Naked models
Hipster girls
Naked hipster girls
Clothed hipster guys
Motorcycles
Drugs
Violence
Awesome

If you answered yes to one or more of the above, then you will probably like THEM THANGS, a photo blog curated by Justin Blyth. I don&#8217;t know much about him besides this quite simplistic blog, but his portfolio looks pretty neat. Check it out.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://dump.realtangible.com/pics/themthangmodel.jpg"><img style="float:right;" src="http://dump.realtangible.com/pics/themthangmodel.jpg" alt="" width="199" height="300" /></a>Do you like:</p>
<ul>
<li>Models</li>
<li>Naked models</li>
<li>Hipster girls</li>
<li>Naked hipster girls</li>
<li>Clothed hipster guys</li>
<li>Motorcycles</li>
<li>Drugs</li>
<li>Violence</li>
<li>Awesome</li>
</ul>
<p>If you answered yes to one or more of the above, then you will probably like <a href="http://jblyth.com/blog.html">THEM THANGS</a>, a photo blog curated by <a href="http://jblyth.com/">Justin Blyth</a>. I don&#8217;t know much about him besides this quite simplistic blog, but his portfolio looks pretty neat. Check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/08/14/them-thangs-is-pretty-cool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s Get More Personal, Not Less</title>
		<link>http://realtangible.com/2009/08/13/lets-get-more-personal-not-less/</link>
		<comments>http://realtangible.com/2009/08/13/lets-get-more-personal-not-less/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 07:49:07 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[internets]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=197</guid>
		<description><![CDATA[I super don&#8217;t care what people from the internet at large have to say. I don&#8217;t care how many people that use a product like something. I don&#8217;t care what topics are trending across a gigantic cross-section of the internet. I don&#8217;t even really care about the zeitgeist.
What I do care about is what my [...]]]></description>
			<content:encoded><![CDATA[<p><img title="Readers Liked feature" src="http://dump.realtangible.com/readerliked.jpg" alt="" width="139" height="20" /><br/>I super don&#8217;t care what people from the internet at large have to say. I don&#8217;t care how many people that use a product <em>like</em> something. I don&#8217;t care what topics are <em>trending</em> across a gigantic cross-section of the internet. I don&#8217;t even really care about the <a href="http://www.google.com/intl/en/press/zeitgeist/index.html"><em>zeitgeist</em></a>.</p>
<p><img class="alignright" style="float:right" title="Twitter search" src="http://dump.realtangible.com/twittersearch.jpg" alt="" width="461" height="72" />What I do care about is what my friends have to say, what they&#8217;re interested in, and what they&#8217;re looking at. I even care about what their friends care about, though <a href="http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-6.html">probably less</a>. I even care about the content viewed and created by people in communities I <a href="http://www.reddit.com/r/programming/">somewhat identify</a> with.</p>
<p>Recent additions to products I use daily (well, a dozen times daily) push online interactions more toward a mass audience than a closed social network.</p>
<p>Google Reader added the &#8220;Like&#8221; option in a not-even-paraphrased ripoff of Facebook&#8217;s similar feature (which I <a href="http://realtangible.com/2009/03/07/i-like-you/">love</a>). This feature sucks, and a brief search on twitter tells me that lots of people agree (umm, kidding). While reading my normal feeds I am now informed that some number of people also enjoy a particular post. I don&#8217;t know these people, I don&#8217;t care if they like the same webcomic I do, and that number has no significance to me. I <a href="http://userstyles.org/styles/19590">hide</a> the feature.</p>
<p>The other trend is the emphasis on buzz/search in twitter. I love twitter and I use it every day to keep in touch with friends both nearby and far away. I think it&#8217;s an excellent medium and I get immense pleasure from using it. However, twitter seems to be all about the trending topics and mentions on CNN right now, and not about facilitating communication between friends. I&#8217;ve never liked the &#8220;microblogging&#8221; aspect of twitter&#8211; I prefer to think of it as a big shared conversation with friends and friends of friends. Thus I don&#8217;t follow anyone I don&#8217;t <em>know</em>, except <a href="http://twitter.com/stephenathome">Stephen Colbert</a> and a <a href="http://twitter.com/madradmusic">local music group</a>.</p>
<p>These new features are even more disappointing to me because of the potential they really do have. I think there&#8217;s value in the &#8220;Like&#8221; feature and in trending topics, but not when the sample size is the whole internet. I want to know what my extended social network is talking about. I would guess my extended social network, the people who I could conceivably meet and get to know tomorrow, consists of around 2,000 people; it contains my friends, their friends, and so on, ranked by how many friends a person and I have in common. No one is adequately offering coverage of that group even though it is the group I actually care about.</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/08/13/lets-get-more-personal-not-less/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Witnessed some freestyling</title>
		<link>http://realtangible.com/2009/08/02/witnessed-some-freestyling/</link>
		<comments>http://realtangible.com/2009/08/02/witnessed-some-freestyling/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 14:51:20 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=194</guid>
		<description><![CDATA[I went to see Fresh Espresso last night with Dave, but the highlight of the event was probably these guys freestyling endlessly outside. In fact, I totally missed the headliners as I was outside thinking I was waiting for them to go on. No worries, I&#8217;ll see them again.

]]></description>
			<content:encoded><![CDATA[<p>I went to see <a href="http://www.myspace.com/freshespresso">Fresh Espresso</a> last night with Dave, but the highlight of the event was probably these guys freestyling endlessly outside. In fact, I totally missed the headliners as I was outside thinking I was waiting for them to go on. No worries, I&#8217;ll see them again.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ZEqUUyPp9u4&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ZEqUUyPp9u4&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/08/02/witnessed-some-freestyling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Summer Reading List</title>
		<link>http://realtangible.com/2009/07/26/summer-reading-list/</link>
		<comments>http://realtangible.com/2009/07/26/summer-reading-list/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 19:00:34 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=189</guid>
		<description><![CDATA[With summer here it seems I have tons more time to read and get things done. It also helps that Silverlight 3 shipped and work doesn&#8217;t quite take up all my time and energy. This is that I&#8217;ve been reading/plan to read:
Read:

The Areas of My Expertise
Me Talk Pretty One Day
The Yiddish Policemen&#8217;s Union
Refactoring: Improving the [...]]]></description>
			<content:encoded><![CDATA[<p>With summer here it seems I have tons more time to read and get things done. It also helps that Silverlight 3 shipped and work doesn&#8217;t quite take up all my time and energy. This is that I&#8217;ve been reading/plan to read:</p>
<p>Read:</p>
<ul>
<li>The Areas of My Expertise</li>
<li>Me Talk Pretty One Day</li>
<li>The Yiddish Policemen&#8217;s Union</li>
<li>Refactoring: Improving the Design of Existing Code (Addison-Wesley Object Technology Series)</li>
</ul>
<p>To read:</p>
<ul>
<li>Starship Troopers</li>
<li>Stranger in a Strange Land</li>
<li>Beginning iPhone 3 Development: Exploring the iPhone SDK</li>
<li>More Information Than You Require</li>
<li>A Model World</li>
<li>House of Leaves</li>
<li>McSweeney&#8217;s Thrilling Tales</li>
</ul>
<p>Fowler&#8217;s book on refactoring is the greatest thing I&#8217;ve ever read; I highly recommend it if you do the &#8220;programming&#8221; of any kind. Also, Chabon is quickly becoming my favorite author. Kavalier and Klay was excellent, and The Yiddish Policemen&#8217;s Union was neat, but my favorite works by him are his short stories. Especially <em>Ocean Avenue</em>; it&#8217;s pretty much &#8220;the contemporary, quotidian, plotless, moment-of-truth revelatory story&#8221; that Chabon derides, but it is hilarious and touching and brilliant. I look forward to reading his <em>The Martian Agent</em> this summer as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/07/26/summer-reading-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Convex Hull in Scala</title>
		<link>http://realtangible.com/2009/06/07/more-convex-hull-in-scala/</link>
		<comments>http://realtangible.com/2009/06/07/more-convex-hull-in-scala/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 07:50:12 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=177</guid>
		<description><![CDATA[Rewrote this algorithm to be O(nlogn), and it&#8217;s oh-so-functional. The tail recursion and case statements were perfectly natural. I&#8217;m a convert&#8211; I think my next webapp backend will be in Scala.
    def fastConvexHull(points: List[Point2D]) = {
        def ensureConvex(hull: List[Point2D]): List[Point2D] = {
    [...]]]></description>
			<content:encoded><![CDATA[<p>Rewrote this algorithm to be O(nlogn), and it&#8217;s oh-so-functional. The tail recursion and case statements were perfectly natural. I&#8217;m a convert&#8211; I think my next webapp backend will be in Scala.</p>
<pre>    def fastConvexHull(points: List[Point2D]) = {
        def ensureConvex(hull: List[Point2D]): List[Point2D] = {
            if (hull.length &gt; 2) {
                val lastThreePoints: List[Point2D] = Utility2D.lastThree(hull);
                if (Utility2D.isRightTurn(lastThreePoints(0), lastThreePoints(1), lastThreePoints(2)))
                    return ensureConvex(Utility2D.dropNextToLast(hull))
            }
            return hull;
        }

        def nextIter(remainingPoints: List[Point2D], hull: List[Point2D]): List[Point2D] = {
            remainingPoints match {
                case point :: rest =&gt; nextIter(rest, ensureConvex(hull ::: point :: Nil))
                case Nil =&gt; hull
            }
        }

        def hullHalf(points: List[Point2D]): List[Point2D] = {
            nextIter(points.tail.tail, points(0) :: points(1) :: Nil);
        }

        drawLine(hullHalf(points))
        drawLine(hullHalf(points.reverse))
    }</pre>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/06/07/more-convex-hull-in-scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convex Hull Algorithm in Scala</title>
		<link>http://realtangible.com/2009/05/29/convex-hull-algorithm-in-scala/</link>
		<comments>http://realtangible.com/2009/05/29/convex-hull-algorithm-in-scala/#comments</comments>
		<pubDate>Fri, 29 May 2009 17:01:22 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[imadethis]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=169</guid>
		<description><![CDATA[I&#8217;ve decided to forreals learn Scala and forreals learn some computational geometry (I&#8217;ve been faking it at my job for a year now). I&#8217;m using Processing to draw pixels to the screen, and it turns out to be amazingly easy to access the Java library from Scala. My first algorithm was the naive implementation of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to forreals learn Scala and forreals learn some computational geometry (I&#8217;ve been faking it at my job for a year now). I&#8217;m using <a href="http://processing.org/">Processing</a> to draw pixels to the screen, and it turns out to be <a href="http://hipstersinc.com/blog/2008/1/23/scala_and_processing/">amazingly easy</a> to access the Java library from Scala. My first algorithm was the naive implementation of convex hull generation (given a set of points, draw the tightest convex polygon possible that contains all points). This implementation runs in O(n^2) but I plan to reimplement it using the O(nlogn) algorithm that&#8217;s only slightly more complex.</p>
<p>I think graphics is an interesting example of combining functional and imperative aspects of Scala. The program is all about the side effect of putting pixels on the screen, but functional tools help me get there. Check out this method I used for testing:</p>
<pre>  def drawLine(pts: List[Point2D]): Unit = {
      def drawLines(p1: Point2D, p2: Point2D) : Point2D = { line(p1.x, p1.y, p2.x, p2.y); p2 }
      pts.reduceLeft(drawLines);
  }</pre>
<p>This is a little hacky but, in my opinion, fairly elegant. Reduce does the work of giving me consecutive pairs and then I use line() to draw to the screen.</p>
<p>I&#8217;ve put up all the code <a href="http://dump.realtangible.com/SlowConvexHull.scala">here</a>.<img class="alignright" title="Slow Convex Hull screenshot" src="http://dump.realtangible.com/pics/slowconvexhull.png" alt="" width="400" height="422" /></p>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/05/29/convex-hull-algorithm-in-scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kanye on the Farm</title>
		<link>http://realtangible.com/2009/05/21/kanye-on-the-farm/</link>
		<comments>http://realtangible.com/2009/05/21/kanye-on-the-farm/#comments</comments>
		<pubDate>Fri, 22 May 2009 06:50:03 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://realtangible.com/?p=165</guid>
		<description><![CDATA[This video more completely captures the aesthetic I am interested in than anything I have seen in a while. Original hi-res here, which is recommended.

Kanye West &#8220;Can&#8217;t Tell Me Nothin&#8221; feat. Zach Galifianakis
by galifianakis
]]></description>
			<content:encoded><![CDATA[<p>This video more completely captures the aesthetic I am interested in than anything I have seen in a while. Original hi-res <a href="http://www.theclawproductions.com/Kanye/Kanye.html">here</a>, which is recommended.</p>
<div><object width="420" height="339" data="http://www.dailymotion.com/swf/x2nzrs" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.dailymotion.com/swf/x2nzrs" /><param name="allowfullscreen" value="true" /></object><br />
<strong><a href="http://www.dailymotion.com/swf/x2nzrs">Kanye West &#8220;Can&#8217;t Tell Me Nothin&#8221; feat. Zach Galifianakis</a></strong><br />
<em>by <a href="http://www.dailymotion.com/galifianakis">galifianakis</a></em></div>
]]></content:encoded>
			<wfw:commentRss>http://realtangible.com/2009/05/21/kanye-on-the-farm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
