<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Less Than Me</title>
    <link rel="alternate" type="text/html" href="http://www.lessthanme.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.lessthanme.com/atom.xml" />
    <id>tag:www.lessthanme.com,2008-03-18://2</id>
    <updated>2012-04-23T16:24:39Z</updated>
    <subtitle>Fresh from Jake&apos;s brain, straight to your eyeball.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Personal 4.1</generator>

<entry>
    <title>Haiku</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2012/04/haiku.html" />
    <id>tag:www.lessthanme.com,2012://2.3434</id>

    <published>2012-04-06T17:10:39Z</published>
    <updated>2012-04-06T17:11:06Z</updated>

    <summary>There once was a man from Nantucket who did not do limericks right...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>There once was a man<br />
from Nantucket who did not<br />
do limericks right</p>]]>
        
    </content>
</entry>

<entry>
    <title>Disney chat</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2012/03/disney_chat.html" />
    <id>tag:www.lessthanme.com,2012://2.3433</id>

    <published>2012-03-20T23:05:17Z</published>
    <updated>2012-03-20T23:08:03Z</updated>

    <summary>A recent chat I had with Disney Store customer service: you: My name is Jake Jerrica: Welcome to the Disney Store, where you can pre-order &quot;Phineas and Ferb: The Perry Files&quot; on DVD! My name is Jerrica. How can I...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>A recent chat I had with Disney Store customer service:</p>

<p><strong>you:</strong> My name is Jake<br />
<strong>Jerrica:</strong> Welcome to the Disney Store, where you can pre-order "Phineas and Ferb: The Perry Files" on DVD!  My name is Jerrica.  How can I help you have a Dooby-Dooby Day?<br />
<strong>Jerrica:</strong> May I address you by your first name?<br />
<strong>you:</strong> Sure, I'm already having a Dooby-Dooby Day, but thanks for asking. :)<br />
<strong>Jerrica:</strong> I would be delighted to assist you today!<br />
<strong>Jerrica:</strong> Thank you Jackie.<br />
<strong>you:</strong> Oh, you got my name wrong, feeling less Dooby-Dooby now... :(</p>]]>
        
    </content>
</entry>

<entry>
    <title>That&apos;s too much for a BLT!</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2012/03/thats_too_much_for_a_blt.html" />
    <id>tag:www.lessthanme.com,2012://2.3432</id>

    <published>2012-03-17T06:28:50Z</published>
    <updated>2012-03-17T06:32:37Z</updated>

    <summary>I made dinner tonight using random stuff that we had at the house... turned out pretty fancy! Here&apos;s my restaurant menu description: wood smoked bacon and arugula on toasted good seed bread with sun dried tomato, garlic, and lime mayonnaise...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>I made dinner tonight using random stuff that we had at the house...  turned out pretty fancy!  Here's my restaurant menu description:  </p>

<blockquote><em>wood smoked bacon and arugula on toasted good seed bread with sun dried tomato, garlic, and lime mayonnaise - 14</em></blockquote>]]>
        
    </content>
</entry>

<entry>
    <title>SMB</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2012/02/smb.html" />
    <id>tag:www.lessthanme.com,2012://2.3429</id>

    <published>2012-02-10T05:29:11Z</published>
    <updated>2012-02-10T20:34:17Z</updated>

    <summary>It&apos;s a rare moment when I get to spend time playing video games these days. But in the gaming drought that is fatherhood, I&apos;ve stumbled across one of the best games of all times! Moments of pure gaming perfection only...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>It's a rare moment when I get to spend time playing video games these days. But in the gaming drought that is fatherhood, I've stumbled across one of the best games of all times!</p>

<p>Moments of pure gaming perfection only come along every long once in a while.  I can count my list of games on one hand: Super Mario Bros, Megaman 2, Castlevania: SOTN, Ico, Portal.  Whelp, it's time to grow an extra finger or start counting on the other hand for a little game called <a href="http://marketplace.xbox.com/en-US/Product/Super-Meat-Boy/66acd000-77fe-1000-9115-d80258410a5a">Super Meat Boy</a>.  The game is a retro 2D platformer and it is absolute perfection.  Nice simple graphics, tight controls, gameplay that is VERY challenging but rarely frustrating, and killer music.  Throw in ultra-retro warp worlds, time and pickup challenges, funny cutscenes, bite-sized levels, and an ingenious replay mechanism, and OMG do I even have to finish this sentence?  Seriously, why am I typing this when I could be playing?</p>]]>
        
    </content>
</entry>

<entry>
    <title>Open letter to MOG</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2012/01/open_letter_to_mog.html" />
    <id>tag:www.lessthanme.com,2012://2.3428</id>

    <published>2012-01-23T05:24:06Z</published>
    <updated>2012-01-23T05:31:06Z</updated>

    <summary>I recently purchased some Sonos speakers which put me in the market for a music streaming service. I tried MOG and Rhapsody and decided in favor of Rhapsody. When I canceled my service with MOG, I sent them an email...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>I recently purchased some <a href="http://www.sonos.com/">Sonos</a> speakers which put me in the market for a music streaming service.  I tried <a href="https://mog.com">MOG</a> and <a href="http://www.rhapsody.com/">Rhapsody</a> and decided in favor of Rhapsody.  When I canceled my service with MOG, I sent them an email explaining why I canceled.  Below is the email for anyone else out there trying to make the same decision:<br />
====<br />
I tried out Rhapsody and MOG for a month each.  I decided to go with Rhapsody, but I figured I'd give you my feedback on why, since I mostly liked your service, and would consider switching back if things got better.</p>

<p>I'm primarily interested in a streaming service for my new Sonos system.  Accessing the service on my mobile device wasn't something I cared too much about, but I figured I'd try it out and see if I really liked it.</p>

<p>Streaming to the Sonos system was good, I don't recall any big hiccups.  However, I found that the Rhapsody menu on Sonos Android app was much more to my liking.  I recognize that they've been on Sonos longer, so I can imagine that their menus are better because they've had a longer time to develop it.  But, here's why I liked it better: </p>

<p>1) The biggest thing I missed when moving from Rhapsody to MOG was being able to browse by Genres and Subgenres.  The beauty of these services is it enables me to explore music.  For me, that is best done by drilling down to a specific subgenre and then exploring the artists there.  Rhapsody on Sonos is great for this.  Adding just genres wouldn't be enough; Rhapsody does sub and sub sub genres, which is fantastic.</p>

<p>2) Rhapsody offers artist information which is helpful when exploring a "new to me" artist.  There are also album reviews which are pretty useful as well.  I didn't see either of these in the MOG menus.</p>

<p>3) Minor, but Rhapsody has the "favorites" broken down by artist/album/genre right on the top level menu.  Your menu has them one level down, which is kind of annoying because it takes an extra click to get to the music I want.</p>

<p>4) I found it easier with Rhapsody to navigate around in "explore" mode.  I could get from an album listing to the artist page and then from there I could see similar artists and hop around further.  I missed this when trying out MOG.</p>

<p>Ok, so here's the other big thing that caused me to switch over... I didn't have a great experience using MOG on my Android phone.  Like I said, this wasn't a need of mine, but if I'm paying for it I want it to be good.  I have a 4G phone that gets good reception, but the MOG app would often get stuck in limbo trying to start a song.  When this would happen, I couldn't actually stop the song, it'd just get stuck.  I'd also see annoying behavior where I'd start an album or radio but it would instead start playing the song in the queue that I was listening to in my last session.  The experience was frustrating.  Now, I never tried the Rhapsody app, so I'm not comparing yours to theirs.  I have no idea how good/bad their app is.  But here's why, since mobile streaming service wasn't a 'need' of mine, I was perfectly happy getting Rhapsody's $5/mo basic plan which only offers Sonos & PC streaming.  Your mobile experience didn't convince me that I needed a streaming service on my phone, so I'm foregoing it for a $5/month savings.  This is kind of a big deal for me.  Service companies these days (phone & cable companies) seem to only offer bundle deals which require us to pay for a set of features (some of which we don't care about) instead of letting us pay ala carte for the features we want.  So annoying!  The fact that Rhapsody offered a reduced price for the exact service I wanted made it much more attractive than your $10/mo plan which added in sub-par service (at least in my experience) for my phone.</p>

<p>So, here's what I REALLY liked about MOG.  Your infinite radio feature on the phone and PC is absolutely genius!  At first I didn't quite "get it" but as soon as I actually experienced it, I discovered it to be one of those wonderful features that you always wanted/needed but didn't realize it.  Being able to pick an album to listen to, but have similar music continue after the album ends is so perfect!  Sometimes I'm available to pick the next thing to listen to, but when I'm not, it is great to have similar music continue to play rather than it going to "dead air."  The slider for controlling how many similar artists to play is also great and very intuitive.  Once I discovered these features on the computer, I was VERY disappointed that neither were available on Sonos.</p>

<p>Ok wow, this is a ridiculously long email...  But, hey, I have that "good will" feeling toward you guys and wanted to give you my Pepsi challenge feedback rather than just silently cancel my service.  Keep improving (and offer a cheaper home streaming option) and I can imagine trying you guys out again.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Wrong email</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2012/01/wrong_email.html" />
    <id>tag:www.lessthanme.com,2012://2.3427</id>

    <published>2012-01-09T21:32:40Z</published>
    <updated>2012-01-09T21:36:08Z</updated>

    <summary>I just got an email that, I assume, was meant for someone else. This is possibly the best random email I have ever received: Subject: Cake I found someone who will make a three layered cake out of styrophome -...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>I just got an email that, I assume, was meant for someone else.  This is possibly the best random email I have ever received:</p>

<p><strong>Subject: Cake</strong><br />
I found someone who will make a three layered cake out of styrophome - She's very professional and so that will be one less thing.  </p>]]>
        
    </content>
</entry>

<entry>
    <title>Flat Tire</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2011/12/flat_tire.html" />
    <id>tag:www.lessthanme.com,2011://2.3426</id>

    <published>2011-12-28T18:45:51Z</published>
    <updated>2011-12-28T18:49:14Z</updated>

    <summary>Today is our last day down in Portland for Christmas. We packed up the car but decided to stop by the gas station to fill up and check the air in the tires. I filled two of the tires, but...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>Today is our last day down in Portland for Christmas.  We packed up the car but decided to stop by the gas station to fill up and check the air in the tires.  I filled two of the tires, but when I went to fill the left front tire, the stem snapped and all the air in the tire rushed out!  We were about 5 blocks from Cindy's house, so I got the kids out and walked them back to the house.  Meanwhile Kara is calling our insurance company to get the car towed to Les Schwab so that we can get the stem replaced.  Arg, we were SO close to getting on the road!</p>]]>
        
    </content>
</entry>

<entry>
    <title>Seriously Netflix?</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2011/07/seriously_netflix.html" />
    <id>tag:www.lessthanme.com,2011://2.3414</id>

    <published>2011-07-13T03:28:38Z</published>
    <updated>2011-07-13T03:32:42Z</updated>

    <summary>Netflix just decided to charge WAY more for the same service... I&apos;m tempted to drop them completely, but for now I&apos;ve just dropped down to streaming only since we use it for kid shows a lot. So now I&apos;m paying...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>Netflix just decided to charge WAY more for the same service... I'm tempted to drop them completely, but for now I've just dropped down to streaming only since we use it for kid shows a lot.  So now I'm paying Netflix $7 less per month... Is this what they wanted?  I just checked my rental history and we rented 2 DVDs in May, 1 DVD in June, and 1 in July...  And Netflix got $21 for that... and that wasn't enough...  Ok?  Thanks for forcing the issue and saving me money, Netflix!</p>]]>
        
    </content>
</entry>

<entry>
    <title>Almost...</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2011/04/almost.html" />
    <id>tag:www.lessthanme.com,2011://2.3409</id>

    <published>2011-04-18T02:02:32Z</published>
    <updated>2011-04-18T02:06:29Z</updated>

    <summary>Miles and Jessica are climbing all over Kara Kara: You guys are animals! Me (to Jessica): Say &quot;I&apos;m not an animal! I&apos;m a human being!&quot; Jessica: I&apos;m not an animal, I&apos;m a BEAN!...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p><em>Miles and Jessica are climbing all over Kara</em><br />
<strong>Kara</strong>: You guys are animals!<br />
<strong>Me (to Jessica)</strong>: Say "I'm not an animal! I'm a human being!"<br />
<strong>Jessica</strong>: I'm not an animal, I'm a BEAN!</p>]]>
        
    </content>
</entry>

<entry>
    <title>Finished</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2011/01/finished.html" />
    <id>tag:www.lessthanme.com,2011://2.3402</id>

    <published>2011-01-31T02:01:10Z</published>
    <updated>2011-01-31T02:34:49Z</updated>

    <summary>I finished my Node.js program that pulls book covers for my site and it works great! I decided not to search the library site since I couldn&apos;t consistently get an ISBN from a title search. I&apos;m glad I failed at...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>I finished my Node.js program that pulls book covers for my site and it works great!  I decided not to search the library site since I couldn't consistently get an ISBN from a title search.  I'm glad I failed at that because I found a WAY better way to go from title search to ISBN with Google's book search API.</p>

<p>This exercise really drives home the saying "when all you have is a hammer, everything looks like a nail."  The <a href="http://lessthanme.com/archives/2004/08/movie_lookup.html">first version of this tool</a> that I wrote back in 2004 was written in C#, spanned multiple files, and was all OO-y for no real reason.  This version is simple and gets right to the point.  No need for classes or UI or anything; it just takes the title and downloads the damn file.  Here's the source: <a href="http://lessthanme.com/archives/files/book.js">book.js</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Where am I?</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2011/01/where_am_i.html" />
    <id>tag:www.lessthanme.com,2011://2.3394</id>

    <published>2011-01-30T20:52:15Z</published>
    <updated>2011-01-30T21:42:00Z</updated>

    <summary>I&apos;m having one of these days: http://xkcd.com/456 I&apos;ve fallen behind on updating my recently read books section because it&apos;s no longer easy to do... Many years ago I wrote a tool that would take a book title and search specific...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>I'm having one of these days: <a href="http://xkcd.com/456/">http://xkcd.com/456</a></p>

<p>I've fallen behind on updating my recently read books section because it's no longer easy to do...  Many years ago I wrote a tool that would take a book title and search specific sites for images and links and build the HTML needed for a book post.  A while back it stopped working because the sites I was scrapping data from have changed.  Since then I've not been able to find a consistent site to pull images from.</p>

<p>Today I decided that I would spend the time to just update my book list manually. I needed to add 9 books... I made it through three.  Searching for images of the right size is real pain, so I was keeping my eye open for a site that hosted the same sized images for every book.  I realized that the Seattle Public Library shows book covers, so I checked out their site.  Their cover image URLs look like this: http://www.syndetics.com/index.aspx?isbn=0596101996/LC.JPG&client=sepup&type=xw12&oclc=&upc=  This looked decent.  If I knew the book's ISBN, then I could get the cover image.  Except the image was bigger than I wanted... hmmm...  does LC.jpg = Large Cover?  What if I change it to MC.jpg, will I get a Medium Cover?  Yep, sweet!</p>

<p>At this point my simple plan of manually updating the site had been completely derailed.  I figured I could write a program that finds the ISBN from a book title, then pulls down the right sized image.  I still needed to find the Amazon product site for the ISBN, but I hoped that would be easy...  It is, apparently amzn.com/<i>isbn</i> works.</p>

<p>I decided to write the app in Javascript and use <a href="http://nodejs.org/">Node.js</a>...  Node.js wasn't installed on my Dreamhost server, so I had to download, build, and install it.  My first call in my program was going to do a Google search of the library page.  My original tool used the Google Search APIs, so I figured I'd just use the same key and call.  Nope, the Search APIs I originally used have been deprecated in favor of the Google Custom Search API.  So I had to figure that out (not too hard) and set up a custom search thingy.  Then I hit up the Node.js docs to see how to make a simple GET.  I copied an example which worked great.  Then I tweaked it to hit the secure googleapis.com url... and I got an error.  Searching for the error, I saw that the version of Node.js that I installed isn't yet stable.  Great.  So I downloaded the stable version and built/installed that instead.</p>

<p>The stable version had a different http API than the one I was using, so I copied an example and tweaked that one... It worked!  Ok, now I was in business.  I had all the necessary pieces and it was just a matter of coding it up.</p>

<p>Well... I was using a completely uncustomized version of emacs for editing, and I figured if I was really going to get serious about Javascript programming on my webserver, then I better download js2-mode.  I downloaded it but noticed that it works on Emacs 22 or higher...  Emacs on the webserver is 21.4.1.  So I downloaded emacs 23.2 and started building it.  At this point I asked myself "Woah! What am I doing?!?  I was going to simply update my blog and now here I am building Emacs!  How the heck did I get here?!?"</p>

<p>I instantly thought of that xkcd comic and then promptly abandoned my work to write this blog post... With that done, I guess it's time to start popping the stack...  &lt;POP&gt;</p>]]>
        
    </content>
</entry>

<entry>
    <title>Programming Challenge</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2010/12/programming_challenge.html" />
    <id>tag:www.lessthanme.com,2010://2.3390</id>

    <published>2010-12-08T09:46:17Z</published>
    <updated>2010-12-08T10:04:18Z</updated>

    <summary>I got the following email from Billy today: Jake, My family switched to a &quot;drawing&quot; system for choosing who to buy gifts for. This year, they did the drawing by hand. For fun, I decided to make a web page...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>I got the following email from Billy today:</p>

<blockquote>
Jake,

<p>My family switched to a "drawing" system for choosing who to buy gifts for. This year, they did the drawing by hand. For fun, I decided to make a web page for next year.</p>

<p>The rules:<br />
 * The drawing should result in each person as a giver once and a receiver once.<br />
 * There are no gifts to siblings/spouses.<br />
 * Kids are on a separate list from adults so that kids give to kids and adults give to adults.</p>

<p>I was amazed at how much more complicated this was than I thought. Not that 50 lines of code is complicated, but I thought it'd be like 5 lines.</p>

<p>  <a href="http://eyepits.com/xmas">http://eyepits.com/xmas</a><br />
  <a href="http://eyepits.com/comment.php?entry=/xmas/index.php">http://eyepits.com/comment.php?entry=/xmas/index.php</a></p>

<p>Is there a trick to this? Feel free to use any language and reformat the data.</p>

<p>Billy<br />
</blockquote></p>

<p>Making an elegant solution for this problem sounded like an interesting challenge and the more I thought about it, the more I realized that it was such a perfect problem to solve in Prolog.  So, I downloaded <a href="http://www.swi-prolog.org/">SWI-Prolog</a> and tried to remember how to write Prolog code.  It took quite a bit of effort to brush the 2+ year old cobwebs away, but I got it finished!  Below is my solution:</p>

<p>adult(kordell).<br />
adult(annemarie).<br />
adult(doug).<br />
adult(carla).<br />
adult(terry).<br />
adult(jennifer).<br />
adult(billy).<br />
adult(jacqui).<br />
adult(jim).<br />
adult(sue).</p>

<p>husband(kordell, annemarie).<br />
husband(doug, carla).<br />
husband(terry, jennifer).<br />
husband(billy, jacqui).<br />
husband(jim, sue).</p>

<p>spouse(X,Y) :-<br />
&nbsp;&nbsp;&nbsp;&nbsp;husband(X,Y).</p>

<p>spouse(X,Y) :-<br />
&nbsp;&nbsp;&nbsp;&nbsp;husband(Y,X).</p>

<p>child(wyatt).<br />
child(quinn).<br />
child(emma).<br />
child(douglasjr).<br />
child(meghan).<br />
child(mckenzie).<br />
child(mikayla).<br />
child(matthias).<br />
child(grace).<br />
child(kalin).<br />
child(ben).</p>

<p>father(kordell, wyatt).<br />
father(kordell, quinn).<br />
father(doug, emma).<br />
father(doug, douglasjr).<br />
father(terry, meghan).<br />
father(terry, mckenzie).<br />
father(terry, mikayla).<br />
father(billy, matthias).<br />
father(billy, grace).<br />
father(billy, kalin).<br />
father(billy, ben).</p>

<p>sibling(X,Y) :-<br />
&nbsp;&nbsp;&nbsp;&nbsp;child(X),<br />
&nbsp;&nbsp;&nbsp;&nbsp;child(Y),<br />
&nbsp;&nbsp;&nbsp;&nbsp;father(Z, X),<br />
&nbsp;&nbsp;&nbsp;&nbsp;father(Z, Y),<br />
&nbsp;&nbsp;&nbsp;&nbsp;X \= Y.</p>

<p><br />
valid_match(X,Y) :-<br />
&nbsp;&nbsp;&nbsp;&nbsp;adult(X),<br />
&nbsp;&nbsp;&nbsp;&nbsp;adult(Y),<br />
&nbsp;&nbsp;&nbsp;&nbsp;not(spouse(X,Y)),<br />
&nbsp;&nbsp;&nbsp;&nbsp;X \= Y.</p>

<p>valid_match(X,Y) :-<br />
&nbsp;&nbsp;&nbsp;&nbsp;child(X),<br />
&nbsp;&nbsp;&nbsp;&nbsp;child(Y),<br />
&nbsp;&nbsp;&nbsp;&nbsp;not(sibling(X,Y)),<br />
&nbsp;&nbsp;&nbsp;&nbsp;X \= Y.<br />
		<br />
find_matches([], Used).</p>

<p>find_matches([Person|Rest], Used) :-<br />
&nbsp;&nbsp;&nbsp;&nbsp;valid_match(Person, X),<br />
&nbsp;&nbsp;&nbsp;&nbsp;not(member(X, Used)),<br />
&nbsp;&nbsp;&nbsp;&nbsp;find_matches(Rest, [X | Used]),<br />
&nbsp;&nbsp;&nbsp;&nbsp;write(Person), write(' '), write(X), nl.<br />
	<br />
do_it :- <br />
&nbsp;&nbsp;&nbsp;&nbsp;findall(X,adult(X);child(X),Z),<br />
&nbsp;&nbsp;&nbsp;&nbsp;find_matches(Z, []).</p>]]>
        
    </content>
</entry>

<entry>
    <title>My Next Interview</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2010/09/my_next_interview.html" />
    <id>tag:www.lessthanme.com,2010://2.3383</id>

    <published>2010-09-03T22:44:16Z</published>
    <updated>2010-09-03T22:49:14Z</updated>

    <summary>Interviewer: What is your biggest weakness? Me: Hmm... I&apos;d say it&apos;s my inability to answer this question satisfactorily......</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p><strong>Interviewer</strong>: What is your biggest weakness?<br />
<strong>Me</strong>: Hmm... I'd say it's my inability to answer this question satisfactorily...</p>]]>
        
    </content>
</entry>

<entry>
    <title>Touche</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2010/09/touche.html" />
    <id>tag:www.lessthanme.com,2010://2.3382</id>

    <published>2010-09-03T05:54:50Z</published>
    <updated>2010-09-03T06:07:33Z</updated>

    <summary>Kara: Jessica&apos;s hair is so long now! Jake: She has Luke Skywalker hair. Kara: She won&apos;t let me put a barrette in it. Jake: That&apos;s &apos;cuz she wants to go to Tosche Station to pick up some power converters. Kara:...</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p><strong>Kara:</strong> Jessica's hair is so long now!<br />
<strong>Jake</strong>: She has Luke Skywalker hair.<br />
<strong>Kara</strong>: She won't let me put a barrette in it.<br />
<strong>Jake</strong>: That's 'cuz she wants to go to Tosche Station to pick up some power converters.<br />
<strong>Kara</strong>: She only lets me put a barrette in when she's in the car seat and she can't move.<br />
<strong>Jake</strong>: Haha, I like how you didn't even acknowledge that.<br />
<strong>Kara</strong>: What was I *supposed* to say?</p>]]>
        
    </content>
</entry>

<entry>
    <title>Birth Rate</title>
    <link rel="alternate" type="text/html" href="http://lessthanme.com/archives/2010/06/birth_rate.html" />
    <id>tag:www.lessthanme.com,2010://2.3377</id>

    <published>2010-06-27T22:16:47Z</published>
    <updated>2010-06-27T22:18:40Z</updated>

    <summary>Kara was in labor for 3 hours, so by my calculation she was going about .33333 Miles per hour....</summary>
    <author>
        <name></name>
        <uri>http://lessthanme.com</uri>
    </author>
    
        <category term="Entry" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.lessthanme.com/">
        <![CDATA[<p>Kara was in labor for 3 hours, so by my calculation she was going about .33333 Miles per hour.</p>]]>
        
    </content>
</entry>

</feed>

