<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns: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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Three till Seven</title>
	
	<link>http://www.3till7.net</link>
	<description>Programming, espresso, and grumbling.</description>
	<lastBuildDate>Tue, 09 Mar 2010 15:23:47 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/3till7" /><feedburner:info uri="3till7" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>38.039322</geo:lat><geo:long>-84.542597</geo:long><feedburner:emailServiceId>3till7</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>apartment + cable deals suck</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/v3fySG0Udyo/</link>
		<comments>http://www.3till7.net/2010/03/09/apartment-cable-deals-suck/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 14:51:54 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Opinions]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=4036</guid>
		<description><![CDATA[In searching for apartments, I found one place that I was really pleased with.  It was in my price range; had a dishwasher, washer, and dryer in every apartment; and was in a generally pleasant area of town.  I just found out that they&#8217;re working out an agreement with a local cable company [...]]]></description>
			<content:encoded><![CDATA[<p>In searching for apartments, I found one place that I was really pleased with.  It was in my price range; had a dishwasher, washer, and dryer in every apartment; and was in a generally pleasant area of town.  I just found out that they&#8217;re working out an agreement with a local cable company that would require residents to buy cable TV, though, which is a big part of why I&#8217;m leaving my current apartment.  I don&#8217;t watch TV and I don&#8217;t want to pay for some service that I&#8217;ll never use!  It&#8217;s so frustrating.  The guy at the new apartment that I&#8217;ve been talking with told me it will &#8220;guarantee 252 customers for [cable company]&#8220;.  Yeah, and it will piss off a bunch of your residents, I&#8217;m guessing, and perhaps make potential residents like myself pass by your apartments.  Whose side are they on?  Are they in the apartment business to have residents, or to line the pockets of <em>x</em> cable company?  I&#8217;m entering an agreement with the apartment complex, not with the apartment complex and whatever other companies it wants to tack on.  Let the cable company get its business from customers who actually want their service, not from people that just happen to live at an apartment complex and are forced to pay for television they do not want.  Residents would get cable at a discounted rate, but why not let individual residents choose which services to buy and from whom?  I don&#8217;t want to be locked in to cable TV for the duration of my lease, nor do I want to be required to buy it from a particular company.  My apartment search continues, apparently.</p>
<p><em>Edit:</em>  I&#8217;ve been continuing my apartment search online and I&#8217;ve discovered one thing that is both baffling and annoying.  Apartment complexes brag about all kinds of extra stuff, e.g., &#8220;We have a duck pond!!  Come see our manicured lawns!  OMG we have a <em>fitness center!!!1</em>&#8221; without having things like a dishwasher or washer/dryer.  I would give up crap like the duck pond and fitness center in exchange for an apartment with a dishwasher, washer, and dryer.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=v3fySG0Udyo:-pRJSQHonyQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=v3fySG0Udyo:-pRJSQHonyQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=v3fySG0Udyo:-pRJSQHonyQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=v3fySG0Udyo:-pRJSQHonyQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=v3fySG0Udyo:-pRJSQHonyQ:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/v3fySG0Udyo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/03/09/apartment-cable-deals-suck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/03/09/apartment-cable-deals-suck/</feedburner:origLink></item>
		<item>
		<title>got a PS3</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/wNpz5yXH8qo/</link>
		<comments>http://www.3till7.net/2010/03/04/got-a-ps3/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 02:08:42 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Video games]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[video games]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=4032</guid>
		<description><![CDATA[Just a quick note to say Best Buy happened to get some 120GB PS3&#8217;s in today and I just happened to call at the right time, squeal &#8220;Omigod, can you hold one?!&#8221;, and buy one.  :)  I couldn&#8217;t find Eternal Sonata at either Best Buy or Gamestop, so I ended up with Bayonetta [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note to say Best Buy happened to get some 120GB PS3&#8217;s in today and I just happened to call at the right time, squeal &#8220;Omigod, can you hold one?!&#8221;, and buy one.  :)  I couldn&#8217;t find Eternal Sonata at either Best Buy or Gamestop, so I ended up with Bayonetta instead.  After dying repeatedly in the prologue on Normal setting (the hardest setting there is, for some reason), I realized that using Triangle + Circle does combos a lot better, or something, and I&#8217;ve since progressed to Chapter 3.  I&#8217;m really enjoying it.  Anyone who has a PSN account, my user name is cheshire137, if you want to friend me.  :)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=wNpz5yXH8qo:MRF9WDqoN7c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=wNpz5yXH8qo:MRF9WDqoN7c:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=wNpz5yXH8qo:MRF9WDqoN7c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=wNpz5yXH8qo:MRF9WDqoN7c:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=wNpz5yXH8qo:MRF9WDqoN7c:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/wNpz5yXH8qo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/03/04/got-a-ps3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/03/04/got-a-ps3/</feedburner:origLink></item>
		<item>
		<title>up early for test and soup-bowl latte</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/TOuXs6SDSqE/</link>
		<comments>http://www.3till7.net/2010/03/04/up-early-for-test-and-soup-bowl-latte/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 14:24:45 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Daily life]]></category>
		<category><![CDATA[zombies again]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=4029</guid>
		<description><![CDATA[I feel like the walking dead but will be heading to a coffee shop for studying this morning since I have a test in my Linux kernel class.  I did this last week in preparation for my requirements engineering test and it went pretty well.  They gave me a latte in what looked [...]]]></description>
			<content:encoded><![CDATA[<p>I feel like the walking dead but will be heading to a coffee shop for studying this morning since I have a test in my Linux kernel class.  I did this last week in preparation for my requirements engineering test and it went pretty well.  They gave me a latte in what looked like a soup bowl with a handle, and I snuggled into a loveseat in the back corner that was mostly quiet.</p>
<p>I&#8217;m so tired because I have the worst time falling asleep, so I stay up late and then of course end up waking up late which repeats the whole cycle.  I got up last night after I&#8217;d been lying down a bit and just wandered around the apartment, stretching and doing yoga.  Everyone loves lights-out, 1-AM yoga!  I ended up stretching out on my rug in the living room and almost fell asleep there before panic about not hearing the alarm the next morning woke me, so up I got, surprisingly stiff after that brief time on the floor.  I&#8217;m going to the gym after I get out of class today and will hopefully be so exercised and exhausted tonight that I&#8217;ll fall asleep at the ripe old time of 11 o&#8217;clock.</p>
<p>In web site news, I recently adjusted my .htaccess file, using <a href="http://perishablepress.com/press/2008/03/25/redirect-wordpress-feeds-to-feedburner-via-htaccess-redux/">this guy&#8217;s tutorial</a>, to redirect all non-Feedburner traffic that goes to my posts RSS feed to the Feedburner one.  If you&#8217;ve had any trouble with my RSS feed recently, it may be due to that, so please let me know.  I was also amused that a friend called me &#8220;a one-woman <a href="http://consumerist.com/">consumerist.com</a>&#8221; after all the cell phone and PS3 posts here.  I can&#8217;t help having trouble with these online purchases!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=TOuXs6SDSqE:RD2bdzl1JbI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=TOuXs6SDSqE:RD2bdzl1JbI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=TOuXs6SDSqE:RD2bdzl1JbI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=TOuXs6SDSqE:RD2bdzl1JbI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=TOuXs6SDSqE:RD2bdzl1JbI:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/TOuXs6SDSqE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/03/04/up-early-for-test-and-soup-bowl-latte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/03/04/up-early-for-test-and-soup-bowl-latte/</feedburner:origLink></item>
		<item>
		<title>more corporate confusion</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/j9zaLecQwug/</link>
		<comments>http://www.3till7.net/2010/03/03/more-corporate-confusion/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 01:07:24 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Daily life]]></category>
		<category><![CDATA[Opinions]]></category>
		<category><![CDATA[shopping]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=4019</guid>
		<description><![CDATA[First there was Toys R Us and a PS3, now there&#8217;s AT&#38;T and my refurbished phone purchase.  I blogged just this morning about buying a refurbished Samsung Magnet to replace my dying Sony Ericsson Z750, but I had some hassle today when I checked the AT&#38;T web site and saw that I could&#8217;ve gotten [...]]]></description>
			<content:encoded><![CDATA[<p>First there was <a href="/2010/03/02/mad-lib-forms-and-backordered-ps3/">Toys R Us and a PS3</a>, now there&#8217;s AT&amp;T and my refurbished phone purchase.  I blogged just <a href="/2010/03/03/new-phone-on-the-way-after-mine-snooped-on-me/">this morning</a> about buying a refurbished Samsung Magnet to replace my dying Sony Ericsson Z750, but I had some hassle today when I checked the AT&amp;T web site and saw that I could&#8217;ve gotten a new Magnet for <em>less</em> than what I paid for the used one.  How that slipped past the marketing department is beyond me, and it wasn&#8217;t just the price that differed:</p>
<table>
<thead>
<tr>
<td></td>
<th>Refurbished Magnet</th>
<th>New Magnet</th>
</tr>
</thead>
<tbody>
<tr>
<th>Age</th>
<td>Der, it&#8217;s used</td>
<td>Shiny!!</td>
</tr>
<tr>
<th>Price</th>
<td>$9.99</td>
<td>$0.00</td>
</tr>
<tr>
<th>Warranty</th>
<td>90 days</td>
<td>365 days</td>
</tr>
<tr>
<th>Contract required?</th>
<td>Yes</td>
<td>Yes</td>
</tbody>
</table>
<p>When I saw that I was pretty much getting the short end of the stick in every way, I tried to cancel my order online.  Couldn&#8217;t do it, so I called AT&amp;T.  I spoke to one guy for a few minutes before he told me I&#8217;m a Premium customer, whatever that means, and transferred my call.  I then spoke to another guy who said he couldn&#8217;t cancel my order and he couldn&#8217;t refund any money, so I asked to speak to his manager.  I was then put on hold for the longest time ever, around fifty minutes according to my call timer.  I was at work so I went back to my desk and continued working, letting the happy hold music play while the phone sat on my desk.</p>
<p>Finally some lady picked up and I explained what happened and that I either wanted to cancel the refurb order or get $9.99 credited back to my credit card.  Neither could happen, apparently, because the order was already processed.  She told me what I could do was wait until Fedex had a tracking number for my package, then call Fedex and refuse the package, causing them to send it back to AT&amp;T.  She checked AT&amp;T&#8217;s site and confirmed the new Magnet&#8217;s price.  She explained AT&amp;T would then exchange my refurbished phone for a new phone, give me a refund, and I would get the new phone for free.  I asked if there would be any kind of restocking fee or any fees at all:  yep, a $9.95 &#8220;Buyer&#8217;s Remorse&#8221; shipping fee.  Well, of <em>course</em> I had buyer&#8217;s remorse when I saw AT&amp;T&#8217;s web site sold me an inferior product at a higher cost without so much as a peep that I could save some money by buying a new phone instead!  I confirmed that there would be no other fees and that, essentially, I was going to get a $0.04 discount.  Yep, pretty much.  I get the $9.99 back for the refurbished phone but have to pay $9.95 in Buyer&#8217;s Remorse fees.</p>
<p>I went ahead and okay-ed this plan of action because of the extended warranty I would get with a new phone, plus it&#8217;ll be new and I can hope it will be in better condition than a used version.  The delay is a bit annoying:  when I called Fedex, they said it would have to reach its destination center before it would be turned around and sent back to AT&amp;T.  They estimate that will happen on Friday, so then its status should be updated to &#8220;return to sender&#8221; and I can call AT&amp;T and have them send me a new Magnet.  I confirmed with the AT&amp;T manager that this was all being noted on my file so that I would get the right phone for free and there wouldn&#8217;t be any confusion, and I wouldn&#8217;t have to reiterate my story.  I also asked the manager if she had any sway over prices of refurbished phones versus new ones, and why it was that a used phone could ever be sold for more than the same model new.  Nope, she said, these are just every-other-day deals that change and so sometimes this happens.  Still seems to me like a case of the right hand not knowing what the left is doing.</p>
<p>When I told the story to a friend at work, she hoped that AT&amp;T would send my $0.04 refund to me in a check.  If they did, I would totally try to take it to a supermarket and see if they would cash my third-party check.  I&#8217;d probably get some runaround about how they couldn&#8217;t go out on a limb in case the check was no good, haha.  Nah, I figure I&#8217;ll get the four cents credited back to my credit card, which will be a fun line item in my next statement.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=j9zaLecQwug:rqYpRaOyn-I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=j9zaLecQwug:rqYpRaOyn-I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=j9zaLecQwug:rqYpRaOyn-I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=j9zaLecQwug:rqYpRaOyn-I:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=j9zaLecQwug:rqYpRaOyn-I:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/j9zaLecQwug" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/03/03/more-corporate-confusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/03/03/more-corporate-confusion/</feedburner:origLink></item>
		<item>
		<title>new phone on the way after mine snooped on me</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/0SBIjvZnkRA/</link>
		<comments>http://www.3till7.net/2010/03/03/new-phone-on-the-way-after-mine-snooped-on-me/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 15:20:41 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Daily life]]></category>
		<category><![CDATA[shopping]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=4013</guid>
		<description><![CDATA[I&#8217;ve had a few problems with my current phone, a Sony Ericsson Z750, over the past few months.  It started when I would try to make a call and it wouldn&#8217;t ring, it just sat there silently displaying the text &#8220;Calling whoever&#8230;&#8221;.  I would hang up, try again, and it would usually work. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a few problems with my current phone, a Sony Ericsson Z750, over the past few months.  It started when I would try to make a call and it wouldn&#8217;t ring, it just sat there silently displaying the text &#8220;Calling <em>whoever</em>&#8230;&#8221;.  I would hang up, try again, and it would usually work.  It later proceeded to the weirdness of starting to ring when calling someone, then would suddenly stop ringing with a depressing BE-BOOP! sound, dumping me back to the main screen.  So I&#8217;d try again&#8230;  That problem would repeat itself many times before finally connecting me to a person; I blamed it on AT&amp;T&#8217;s shoddy network, but who knows.</p>
<p>More recently, the phone would cut out audio on my end when I was talking with someone.  I would keep talking to them, asking &#8220;hello? hello?&#8221;, but it was dead silent on my end.  The phone would vibrate once (its &#8220;death rattle&#8221;, I decided), the screen would go completely black, and I&#8217;d just shut the phone in disgust.  A couple minutes later, the phone would come back, the outside display once again showing the time, the inside screen no longer black.  It would take it a bit for the bars to come back, and then I would call the person back and find that they had been able to hear me the whole time, had been talking, and I had just been unable to hear them.  Not cool.  This seemed to happen with a frequency of every other call I made or received, and I was no longer chalking it up to AT&amp;T&#8217;s network.</p>
<p>Last night, I talked with Jon on the phone for a while before we each [voluntarily] hung up.  He had recommended I watch <a href="http://www.youtube.com/watch?v=VFl-MxXZWx4&#038;feature=player_embedded">this YouTube video</a>, so I proceeded to do so, speakers turned up, phone nearby on the coffee table.  Jon apparently tried to call me back three times, the first time failing somehow, but the second time he seemed to be connected&#8230;  He heard music in the background and he heard me cough, but I didn&#8217;t respond.  Now I didn&#8217;t respond because <em>I never answered the phone</em>, it was still by my feet on the table, shut (it&#8217;s a flip phone).  He disconnected and called me back a third time, and this time it rang as expected and I answered.  He told me what had just happened, I confirmed I was watching the music video and had possibly coughed.  Yeah&#8230;  Kinda creepy.  No one likes the feeling of being spied on by their technology.</p>
<p>So I dug around last night and my phone was upgradeable through AT&amp;T&#8217;s site.  I ended up buying a refurbished <a href="http://reviews.cnet.com/cell-phones/samsung-magnet-sgh-a257/4505-6454_7-33573211.html">Samsung Magnet</a> for $10, though it did require I extend my contract again.  *shrug*  Everyone I talk to uses AT&amp;T, and I haven&#8217;t been impressed with some of the policies (Verizon) or coverage (T-Mobile) of other companies, so I&#8217;m not too bothered by sticking with AT&amp;T.  When I get the phone in, I&#8217;ll take photos and post on here.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=0SBIjvZnkRA:H7sQMRqW40I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=0SBIjvZnkRA:H7sQMRqW40I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=0SBIjvZnkRA:H7sQMRqW40I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=0SBIjvZnkRA:H7sQMRqW40I:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=0SBIjvZnkRA:H7sQMRqW40I:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/0SBIjvZnkRA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/03/03/new-phone-on-the-way-after-mine-snooped-on-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/03/03/new-phone-on-the-way-after-mine-snooped-on-me/</feedburner:origLink></item>
		<item>
		<title>mad lib forms and backordered PS3</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/S6CNoLlKZLo/</link>
		<comments>http://www.3till7.net/2010/03/02/mad-lib-forms-and-backordered-ps3/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 18:39:42 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Daily life]]></category>
		<category><![CDATA[shopping]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=4011</guid>
		<description><![CDATA[Devin just sent this to me via StumbleUpon:  &#8220;Mad Libs&#8221; Style Form Increases Conversion 25-40%.  I think those examples look totally neat and I want to try out a mad lib-style form or two on 3till7.  Maybe the comments form and contact me form.
Also, it seems as though the left hand doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Devin just sent this to me via StumbleUpon:  <a href="http://www.lukew.com/ff/entry.asp?1007">&#8220;Mad Libs&#8221; Style Form Increases Conversion 25-40%</a>.  I think those examples look totally neat and I want to try out a mad lib-style form or two on 3till7.  Maybe the comments form and contact me form.</p>
<p>Also, it seems as though the left hand doesn&#8217;t know what the right is doing at Toys R Us:  I got an email promptly yesterday morning saying that the PS3 120GB I ordered is backordered, despite 1) their web site saying at the time I placed the order that they were in stock and 2) not trusting the web site, I called and spoke to a person at Toys R Us who again assured me that yes, the 120GB PS3 was in stock and there should be no delay in my order.  *rolls eyes*  Seems like they should update their inventory list more often.  I canceled the order and will wait to spend my money elsewhere.  I&#8217;ve called my local Best Buys for the past few days but no luck so far; I will prevail!</p>
<p>My landlord seems interested in keeping me around.  I&#8217;ve been going back and forth with her for the past few days about the rent increase and she had the maintenance guy come out yesterday to fix my patio door.  I still don&#8217;t have a latch and the guy said he doesn&#8217;t know where he&#8217;d find one.  It&#8217;s a modern door, it just doesn&#8217;t have a latch because the previous tenant was an asshole or something.  Anyway, he fixed the seal on it so it no longer functions as a <em>big heat-sucking hole in my wall</em>, and he installed one of those frame-mounted bars that lifts up so you can open the door.  I&#8217;m still using the trusty length of wood and my non-mounted metal bar to keep the door shut firmly, hoping for a better seal/more safety.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=S6CNoLlKZLo:A7Zou3x1Uog:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=S6CNoLlKZLo:A7Zou3x1Uog:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=S6CNoLlKZLo:A7Zou3x1Uog:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=S6CNoLlKZLo:A7Zou3x1Uog:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=S6CNoLlKZLo:A7Zou3x1Uog:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/S6CNoLlKZLo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/03/02/mad-lib-forms-and-backordered-ps3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/03/02/mad-lib-forms-and-backordered-ps3/</feedburner:origLink></item>
		<item>
		<title>cheap apartment not worth the rent increase</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/Bzq31SV58vY/</link>
		<comments>http://www.3till7.net/2010/02/28/cheap-apartment-not-worth-the-rent-increase/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 20:02:07 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Opinions]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=4007</guid>
		<description><![CDATA[I&#8217;m so annoyed right now.  I found posted in the hallway of my apartment several copies of the same notice saying that rent would be going up at the end of everyone&#8217;s lease.  The rent for one bedroom apartments is only going up &#8220;by $55&#8243; and we&#8217;ll somehow get &#8220;FREE high speed internet [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m so annoyed right now.  I found posted in the hallway of my apartment several copies of the same notice saying that rent would be going up at the end of everyone&#8217;s lease.  The rent for one bedroom apartments is only going up &#8220;by $55&#8243; and we&#8217;ll somehow get &#8220;FREE high speed internet and basic cable&#8221;, but somehow they forgot to mention how much studio apartments would go up.  I don&#8217;t have a one bedroom apartment because I have one giant room, a kitchen, one closet with a door, and a bathroom.  That is decidedly a studio.  If I don&#8217;t have a damn bedroom door, you can&#8217;t call the area where I keep my bed a bedroom.  Well, so I emailed my landlord and asked what the increase would be for my studio apartment.  Sorry, it&#8217;s going to the same price as the one bedrooms.  So for me, that $55 increase is actually an $80 increase.  For this apartment, I don&#8217;t think so.</p>
<p>I lived in a larger apartment here in town that actually <em>did</em> have a separate bedroom and it was cheaper than the new rent.  I lived in another apartment the same size as this one, and it was still cheaper by $450.  And let&#8217;s not get started on the problems with my apartment that the landlord has refused to fix!  How about my sliding patio door that has <em>never had a latch</em>?  How do I keep it shut, you might ask?  Why, with a stick and a sliding door bar I bought from Home Depot.  This is the same missing-lock door that was supposed to be fixed before I moved in.  Nope, sorry.  Or what about the inside-door doorknob on my front door, the one where if you accidentally lock the bottom lock, you cannot unlock it from the outside and you&#8217;re thus locked out of your apartment?  Yeah, that was put on by mistake and was supposed to be changed shortly after I moved in.  Never happened.  I don&#8217;t have doors on my closets, nor did they remove the old sliding-door rails that were there from the previous doors.  I only recently got a door over the closet with the water heater and that was because I badgered the landlord and asked their maintenance man myself to do it.</p>
<p>Basically, I live in el-cheapo apartment and I was fine with this for the rent that I&#8217;m paying now.  I chose to live with this apartment because the rent was so cheap, but if rent is going up to more than what I&#8217;ve paid for much nicer apartments in the past, in this same vicinity, I&#8217;m out of here.  It just pisses me off because I was hoping I had found a place where I could live for more than one year.  I hate moving and now I&#8217;m stuck digging through all the online apartment-finding sites again.  I guess I should work on getting rid of unnecessary things again, before I have to move out.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=Bzq31SV58vY:nudDYRdYgxs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=Bzq31SV58vY:nudDYRdYgxs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=Bzq31SV58vY:nudDYRdYgxs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=Bzq31SV58vY:nudDYRdYgxs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=Bzq31SV58vY:nudDYRdYgxs:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/Bzq31SV58vY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/02/28/cheap-apartment-not-worth-the-rent-increase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/02/28/cheap-apartment-not-worth-the-rent-increase/</feedburner:origLink></item>
		<item>
		<title>PS3’s hard to find</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/qvUASkl18eM/</link>
		<comments>http://www.3till7.net/2010/02/27/ps3s-hard-to-find/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 19:55:02 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Video games]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[video games]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=4003</guid>
		<description><![CDATA[I just wanted to buy a 120GB Playstation 3 but apparently everyone around here is sold out of them.  I figured the console has been out for a few years and the 120GB version came out in I think September, so I didn&#8217;t even consider that they would be hard to come by.  [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to buy a 120GB Playstation 3 but apparently everyone around here is sold out of them.  I figured the console has been out for a few years and the 120GB version came out in I think September, so I didn&#8217;t even consider that they would be hard to come by.  The Best Buy rep I talked to said he didn&#8217;t know if Sony was intentionally trying to dry out the market or what; some online news I read said they were having manufacturing difficulties.</p>
<p>I found the 120GB version on Toys R Us&#8217;s web site for $299 and it said it was in stock.  Not trusting that to be accurate, since every other store I checked online was out of stock, and stores I called in person were sold out, I decided to call Toys R Us.  I fortunately got stuck with a phone menu that you talk into instead of the kind where you hit different buttons.  I say fortunately because the speak-aloud ones are easy to circumvent:  just wail and squeak and squeal different inhuman noises.  It frustrates the machine and causes it to say things like &#8220;I&#8217;m sorry, I didn&#8217;t get that&#8221; and eventually &#8220;Please hold while I connect you with a representative.&#8221;  Score!  I got a guy who checked for me and said it did indeed appear to be in their warehouse and that there shouldn&#8217;t be a delay in shipping.  We&#8217;ll see.  I went ahead and ordered it from their web site; $299 PS3, $13 shipping, and $18 in taxes later, my PS3 order was placed.</p>
<p>Games I&#8217;m looking forward to playing:</p>
<ul>
<li>Eternal Sonata</li>
<li>Heavy Rain</li>
<li>Katamari Damacy</li>
<li>Dragon Age</li>
<li>Heavenly Sword</li>
<li>Little Big Planet</li>
</ul>
<p>If you have any PS3 game suggestions, let me know.  :)  Also, has anyone else had trouble finding these things?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=qvUASkl18eM:-R5GzSEQ5SA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=qvUASkl18eM:-R5GzSEQ5SA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=qvUASkl18eM:-R5GzSEQ5SA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=qvUASkl18eM:-R5GzSEQ5SA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=qvUASkl18eM:-R5GzSEQ5SA:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/qvUASkl18eM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/02/27/ps3s-hard-to-find/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/02/27/ps3s-hard-to-find/</feedburner:origLink></item>
		<item>
		<title>grumbling about personal blogs changing</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/IYHmKb7ZKf8/</link>
		<comments>http://www.3till7.net/2010/02/24/grumbling-about-personal-blogs-changing/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 23:32:19 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Opinions]]></category>
		<category><![CDATA[reading]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=3993</guid>
		<description><![CDATA[This will just be a brief post to grumble about blogs that I used to enjoy that have changed such that I no longer care about their content.  This is probably going to sound whiny but it&#8217;s been bugging me for a while, so of course I&#8217;ve got to vent about it on my [...]]]></description>
			<content:encoded><![CDATA[<p>This will just be a brief post to grumble about blogs that I used to enjoy that have changed such that I no longer care about their content.  This is probably going to sound whiny but it&#8217;s been bugging me for a while, so of course I&#8217;ve got to vent about it on my own blog.  First off, there was <a href="http://www.jemjabella.co.uk/">Jem&#8217;s blog</a> that I read for years.  She&#8217;d gripe about stupid people she found online and their web site issues, and that was mainly what I subscribed for.  Then she went and had a baby (congrats to her!) and I teased her about making a mommy blog, not ever thinking she&#8217;d actually go and do it.  She apparently wants to have a mommy blog, though, and that&#8217;s cool, I respect that&#8230;  But I don&#8217;t care to read it.</p>
<p><a href="http://eleven.3till7.net/">Melissa</a> had stopped blogging for a while but, after having a child, got back in the scene.  I was worried I wouldn&#8217;t be interested in what she has to say about motherhood because, damn, I&#8217;m a far way from wanting to have kids <em>at all</em> yet, but it&#8217;s nice to see that I do still enjoy her posts.  I haven&#8217;t seen the girl IRL in several years and it&#8217;s nice to keep up with what&#8217;s going on in her life, even if she&#8217;s in a stage beyond mine.</p>
<p>When everyone around me (Facebook, blogs I read) seemed to be going baby-crazy, I considered <a href="http://lifeasrose.ca/">Rose&#8217;s blog</a> to be a bastion of what I find entertaining in blogs.  She wrote funny, &uuml;ber-personal entries about her family dog, the assholes she has to deal with in retail, and her musings about the weird things in life.  I just read an <a href="http://lifeasrose.ca/2010/02/the-new-and-improved/">entry</a> today though saying her blog will go in a more technical, professional direction, and this saddens me.  I read Eric Lippert&#8217;s blog, Joel Spolsky&#8217;s blog, Ars Technica, and Stack Overflow for technical stuff.  Rose&#8217;s blog was a break from all the geeky, technical things in my life, like a more personal <a href="http://notalwaysright.com/">Not Always Right</a>-<a href="http://reddit.com/">Reddit</a> duo written by a single person.  So hers is another blog from which I&#8217;ll probably unsubscribe.  :(</p>
<p>As it stands, I read the blogs of a couple folks I know IRL, Melissa&#8217;s blog, and <a href="http://www.mermaidpark.com/">Leslie&#8217;s</a> blog.  I&#8217;m going to have to scrounge around some in people&#8217;s link lists to see what other blogs I might enjoy, because the &#8216;Personal&#8217; folder in my Google Reader has slim pickings.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=IYHmKb7ZKf8:DdcK2zj7Tw0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=IYHmKb7ZKf8:DdcK2zj7Tw0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=IYHmKb7ZKf8:DdcK2zj7Tw0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=IYHmKb7ZKf8:DdcK2zj7Tw0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=IYHmKb7ZKf8:DdcK2zj7Tw0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/IYHmKb7ZKf8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/02/24/grumbling-about-personal-blogs-changing/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/02/24/grumbling-about-personal-blogs-changing/</feedburner:origLink></item>
		<item>
		<title>convenient file searching with Ruby, grep, and file</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/VZ4TxZKDlzw/</link>
		<comments>http://www.3till7.net/2010/02/23/convenient-file-searching-with-ruby-grep-and-file/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 18:26:30 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=3990</guid>
		<description><![CDATA[For my Linux kernel class, I often know that some struct exists somewhere, or remember seeing a macro defined in some file and it might be useful, but I can't remember where I saw something.  I also end up trying to track down all the places a particular function is called, and don't want [...]]]></description>
			<content:encoded><![CDATA[<p>For my Linux kernel class, I often know that some <code>struct</code> exists somewhere, or remember seeing a macro defined in some file and it might be useful, but I can't remember where I saw something.  I also end up trying to track down all the places a particular function is called, and don't want grep to go digging through every... single... file in the entire kernel directory structure when I only care about .c files.  So, I dug up a lengthy combination of file and grep that limits grep's searching to particular files.  I'm lazy about remembering this and retyping it on different computers, too, though, so I wrote a quick Ruby script to do it for me:</p>
<div class="synthi_code" style="display:block;" id="styled_synthi_4b966818c56b3">
<h2 class="synthi_header"> Ruby</h2>
<div class="ruby" style="font-family: monospace;"><span style="color:#008000; font-style:italic;">#!/usr/bin/ruby</span></p>
<p><span style="color:#9966CC; font-weight:bold;">unless</span> ARGV.<span style="color:#9900CC;">length</span> &gt;= <span style="color:#006666;">2</span><br />
&nbsp; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Usage:&nbsp; #$0 file_extension query&quot;</span><br />
&nbsp; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;<span style="color:#000099;">\t</span>Example: #$0 '*.h' 'struct list_head'&quot;</span><br />
&nbsp; <span style="color:#CC0066; font-weight:bold;">exit</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></p>
<p><span style="color:#9966CC; font-weight:bold;">unless</span> ARGV.<span style="color:#9900CC;">length</span> == <span style="color:#006666;">2</span><br />
&nbsp; extra_args = ARGV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">2</span>...<span style="color:#9900CC;">ARGV</span>.<span style="color:#9900CC;">length</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#9900CC;">join</span> ', '<br />
&nbsp; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Warning:&nbsp; extra arguments ignored: &quot;</span> &lt;&lt; extra_args<br />
<span style="color:#9966CC; font-weight:bold;">end</span></p>
<p>file_extension = ARGV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span><br />
query = ARGV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><br />
command = <span style="color:#996600;">&quot;find . -type f -name '#{file_extension}' -print0 | xargs -0 grep --line-number --color -H -o '#{query}'&quot;</span><br />
<span style="color:#CC0066; font-weight:bold;">system</span> 'clear'<br />
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Searching #{file_extension} for <span style="color:#000099;">\&quot;</span>#{query}<span style="color:#000099;">\&quot;</span>...&quot;</span><br />
<span style="color:#CC0066; font-weight:bold;">system</span> command</div>
</div>
<p>Here's sample output on my Mac:</p>
<pre>Searching *.rb for "puts"...
./finder.rb:4:puts
./finder.rb:5:puts
./finder.rb:11:puts
./finder.rb:22:puts</pre>
<p>And here's some sample output from a Linux machine:</p>
<pre>Searching *.c for "struct task_struct"...
./fs/fcntl.c:414:struct task_struct
./fs/fcntl.c:423:struct task_struct
./fs/fcntl.c:462:struct task_struct
./fs/fcntl.c:481:struct task_struct
./fs/fcntl.c:490:struct task_struct</pre>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=VZ4TxZKDlzw:u7566Fc8b8A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=VZ4TxZKDlzw:u7566Fc8b8A:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=VZ4TxZKDlzw:u7566Fc8b8A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=VZ4TxZKDlzw:u7566Fc8b8A:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=VZ4TxZKDlzw:u7566Fc8b8A:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/VZ4TxZKDlzw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/02/23/convenient-file-searching-with-ruby-grep-and-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/02/23/convenient-file-searching-with-ruby-grep-and-file/</feedburner:origLink></item>
		<item>
		<title>merge sort, the eater of nodes</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/wcfhWgIeEhY/</link>
		<comments>http://www.3till7.net/2010/02/23/merge-sort-the-eater-of-nodes/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 15:51:08 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Class]]></category>
		<category><![CDATA[Daily life]]></category>
		<category><![CDATA[boyfriend]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=3986</guid>
		<description><![CDATA[I&#8217;m so tickled to have completed an assignment for my Linux kernel class.  The specification was as follows:
Modify the algorithm that allocates a file descriptor for the open() and socket() calls. Implement a per-process variable availableFileDescriptor whose value is always the number of the first available file descriptor. Make sure that when a process [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m so tickled to have completed an assignment for my Linux kernel class.  The specification was as follows:</p>
<blockquote><p>Modify the algorithm that allocates a file descriptor for the <code>open()</code> and <code>socket()</code> calls. Implement a per-process variable <code>availableFileDescriptor</code> whose value is always the number of the first available file descriptor. Make sure that when a process closes a file descriptor and or a socket, <code>availableFileDescriptor</code> is properly updated. Use your driver harness to compare the performance of your modified kernel with the original kernel, both for situations in which the original algorithm should work fast and situations in which the original algorithm should not work fast. You might want to remove the restrictions in the kernel on the <code>setrlimit(RLIMIT_NOFILE,...)</code> call.</p></blockquote>
<p>I banged around on that thing for almost two weeks, variously getting a modified kernel that would a) segfault immediately, b) fail to reach the login prompt and just kind of hang out, or c) reach the login prompt but fail to allow me to log in.  Turned out one of my main problems was that the sorting function I was using, an implementation of merge sort that I had found posted on a Linux kernel mailing list, was <em>eating</em> my nodes instead of just sorting them.  It would delete one at a time in a sneaky fashion.  I thought I had checked the thing, and who knows, maybe it worked it at first and then I changed something that caused it to grow an appetite for my <code>struct</code> type.  At any rate, I replaced the function with my own implementation of selection sort since it was quick and easy to implement.  Upon doing that, things started to behave as I expected, and it was a short road to getting my modified kernel to work properly then.</p>
<p>Poor Jon was sick this past weekend and so he did a lot of sleeping and sniffling.  This actually worked out okay for me because, while he slept, I worked on my Linux project.  He still has to go to work this week, which sucks for him, and his job is in Cincinnati, which sucks even more because of the traffic.  I&#8217;m hoping he&#8217;ll be well by this weekend so he&#8217;ll be back to his usual self, plus the two of us could then go to Carly&#8217;s birthday party.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=wcfhWgIeEhY:N4_ePg0akfA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=wcfhWgIeEhY:N4_ePg0akfA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=wcfhWgIeEhY:N4_ePg0akfA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=wcfhWgIeEhY:N4_ePg0akfA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=wcfhWgIeEhY:N4_ePg0akfA:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/wcfhWgIeEhY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/02/23/merge-sort-the-eater-of-nodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/02/23/merge-sort-the-eater-of-nodes/</feedburner:origLink></item>
		<item>
		<title>big-blue-man date</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/AgVWOPj2GqE/</link>
		<comments>http://www.3till7.net/2010/02/11/big-blue-man-date/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 22:48:22 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Funny]]></category>
		<category><![CDATA[friends]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=3976</guid>
		<description><![CDATA[I was walking with Mark to our cars after class today and he told me about his plans for a date he has this Saturday.  We go to cross the street and a couple girls walk in front of us, cutting us off.  Mark, unperturbed by other matter occupying a space in which [...]]]></description>
			<content:encoded><![CDATA[<p>I was walking with Mark to our cars after class today and he told me about his plans for a date he has this Saturday.  We go to cross the street and a couple girls walk in front of us, cutting us off.  Mark, unperturbed by other matter occupying a space in which he wanted to be, keeps going at the same speed, so he and one of the girls bump into each other.  Maybe one of the girls apologized, I don&#8217;t remember, but Mark, still plowing on, cries &#8220;Watch out people!&#8221; which, after a surprised pause, made me laugh.  I mean sure, we all think such things or even grumble incoherently under our breath, but we don&#8217;t say them <em>aloud</em>.  Or at least I don&#8217;t, because I worry people will think I&#8217;m rude or something.  Mark didn&#8217;t sound annoyed-rude, more like dry, why-don&#8217;t-people-watch-where-they&#8217;re-going amused.  One of the girls apparently heard Mark, because she looked back over her shoulder with this annoyed look on her face and I tried to not laugh so obviously for fear she&#8217;d think I was laughing at her.  So after the girl looks back at us, though I don&#8217;t think Mark noticed, he cries &#8220;Big blue man coming through!&#8221; due to wearing a large, puffy <a href="http://www.uky.edu/">UK-blue</a> coat.  We&#8217;re across the road at this point and I can&#8217;t stop laughing.  As we branch off to go to our different cars, I continue our conversation about his upcoming date with &#8220;You do have a way with women, Mark.&#8221;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=AgVWOPj2GqE:J6MF5UCV1j4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=AgVWOPj2GqE:J6MF5UCV1j4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=AgVWOPj2GqE:J6MF5UCV1j4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=AgVWOPj2GqE:J6MF5UCV1j4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=AgVWOPj2GqE:J6MF5UCV1j4:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/AgVWOPj2GqE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/02/11/big-blue-man-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/02/11/big-blue-man-date/</feedburner:origLink></item>
		<item>
		<title>quick lesson in love and groceries</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/kIGJBT_x398/</link>
		<comments>http://www.3till7.net/2010/02/08/quick-lesson-in-love-and-groceries/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 02:45:57 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Daily life]]></category>
		<category><![CDATA[boyfriend]]></category>
		<category><![CDATA[food]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=3970</guid>
		<description><![CDATA[Do not let your boyfriend convince you that he just loooooves eggnog and that three one-quart cartons of it in its various incarnations (e.g., Silk Nog, Custard Nog, and old-fashioned eggnog) is just barely enough; that yes, he&#8217;ll definitely drink all of it before its expiration date; that goodness! he&#8217;ll most likely drink it all [...]]]></description>
			<content:encoded><![CDATA[<p>Do not let your boyfriend convince you that he just <em>loooooves</em> eggnog and that three one-quart cartons of it in its various incarnations (e.g., Silk Nog, Custard Nog, and old-fashioned eggnog) is just <em>barely</em> enough; that yes, he&#8217;ll definitely drink all of it before its expiration date; that goodness! he&#8217;ll most likely drink it all within the next two days, in fact, because he just enjoys it <em>so </em>much.  For if you do listen to your boyfriend and buy three quarts of *nog, you will surely regret it when that very evening said boyfriend drinks a swig of *nog and decides that it has been a while since he last had eggnog and, really, it isn&#8217;t as good as he remembered.  Moral of the story:  two months after listening to your boyfriend, you will find the *nog still sitting forlornly in your fridge, taking up space that other, tastier drinks could be occupying.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=kIGJBT_x398:QcXxsFVf3zg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=kIGJBT_x398:QcXxsFVf3zg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=kIGJBT_x398:QcXxsFVf3zg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=kIGJBT_x398:QcXxsFVf3zg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=kIGJBT_x398:QcXxsFVf3zg:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/kIGJBT_x398" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/02/08/quick-lesson-in-love-and-groceries/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/02/08/quick-lesson-in-love-and-groceries/</feedburner:origLink></item>
		<item>
		<title>representing rational numbers in Smalltalk</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/0o-cqv7cpmI/</link>
		<comments>http://www.3till7.net/2010/02/07/representing-rational-numbers-in-smalltalk/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 22:09:20 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Smalltalk]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=3957</guid>
		<description><![CDATA[For my graduate-level programming languages class, I wrote this class that represents a rational number in Smalltalk.  I figured I would share my source code with the interwebs for anyone else trying to learn the language.   I release the code under the GNU General Public License v3.
Note for students: my professor requested [...]]]></description>
			<content:encoded><![CDATA[<p>For my graduate-level programming languages class, I wrote this class that represents a rational number in Smalltalk.  I figured I would share my source code with the interwebs for anyone else trying to learn the language.   I release the code under the <a href="http://www.gnu.org/licenses/gpl-3.0.html">GNU General Public License v3</a>.</p>
<p><em>Note for students:</em> my professor requested I state that, should you be taking his programming languages class CS 655 at the University of Kentucky and you try to use this code, (1) you'll get in trouble for using someone else's work and (2) you have to include the GPL and my copyright notice, which would be a big hint that it's not entirely your work. ;)</p>
<div class="synthi_code" style="display:block;" id="styled_synthi_4b9668191b423">
<h2 class="synthi_header"> Smalltalk</h2>
<div class="smalltalk" style="font-family: monospace;"><span style="color: #007f00; font-style: italic;">&quot; Copyright 2009 Sarah Vessels<br />
This program is free software: you can redistribute it and/or modify<br />
it under the terms of the GNU General Public License as published by<br />
the Free Software Foundation, either version 3 of the License, or<br />
(at your option) any later version.<br />
This program is distributed in the hope that it will be useful,<br />
but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&nbsp; See the<br />
GNU General Public License for more details.<br />
You should have received a copy of the GNU General Public License<br />
along with this program.&nbsp; If not, see &lt;http://www.gnu.org/licenses/&gt;. &quot;</span><br />
<span style="color: #0000ff;">Object</span> subclass: <span style="color: #7f0000;">#Rational</span>.<br />
<span style="color: #0000ff;">Rational</span> instanceVariableNames: <span style="color: #7f0000;">'numerator denominator'</span>.<br />
<span style="color: #0000ff;">Rational</span> comment: <span style="color: #7f0000;">'I represent a fraction'</span>.</p>
<p><span style="color: #007f00; font-style: italic;">&quot; Thanks to http://en.wikipedia.org/wiki/Euclidean_algorithm &quot;</span><br />
<span style="color: #0000ff;">Rational</span> class extend <span style="">&#91;</span><br />
&nbsp; <span style="color: #00007f;">getGCD</span>: <span style="color: #00007f;">a</span> other: <span style="color: #00007f;">b</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; |<span style="color: #0000ff;">A</span> <span style="color: #0000ff;">B</span>|<br />
&nbsp; &nbsp; <span style="color: #0000ff;">A</span> := <span style="color: #00007f;">a</span>.<br />
&nbsp; &nbsp; <span style="color: #0000ff;">B</span> := <span style="color: #00007f;">b</span>.<br />
&nbsp; &nbsp; <span style="">&#91;</span><span style="color: #0000ff;">B</span> ~= <span style="color: #00007f;"><span style="color: #7f0000;">0</span></span><span style="">&#93;</span> whileTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; |<span style="color: #00007f;">tmp</span>|<br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">tmp</span> := <span style="color: #0000ff;">B</span>.<br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">B</span> := <span style="color: #0000ff;">A</span> \\ <span style="color: #0000ff;">B</span>.<br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">A</span> := <span style="color: #00007f;">tmp</span>.<br />
&nbsp; &nbsp; <span style="">&#93;</span>.<br />
&nbsp; &nbsp; ^<span style="color: #0000ff;">A</span><br />
&nbsp; <span style="">&#93;</span><br />
<span style="">&#93;</span></p>
<p><span style="color: #007f00; font-style: italic;">&quot; Rational instance methods &quot;</span><br />
<span style="color: #0000ff;">Rational</span> extend <span style="">&#91;</span><br />
&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Given a numerator and a non-zero denominator, this will initialize the<br />
&nbsp; &nbsp; Rational. &quot;</span><br />
&nbsp; init: <span style="color: #00007f;">num</span> over: <span style="color: #00007f;">denom</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; |<span style="color: #00007f;">gcd</span>|<br />
&nbsp; &nbsp; denom = <span style="color: #00007f;"><span style="color: #7f0000;">0</span></span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #7f007f;">self</span> error: <span style="color: #7f0000;">'Cannot have a 0 denominator'</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">num</span> isKindOf: <span style="color: #0000ff;">Integer</span><span style="">&#41;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #7f007f;">self</span> error: <span style="color: #7f0000;">'Must have an Integer numerator'</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">denom</span> isKindOf: <span style="color: #0000ff;">Integer</span><span style="">&#41;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #7f007f;">self</span> error: <span style="color: #7f0000;">'Must have a nonzero Integer denominator'</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;">gcd</span> := <span style="">&#40;</span><span style="color: #0000ff;">Rational</span> class new<span style="">&#41;</span> getGCD: <span style="color: #00007f;">num</span> other: <span style="color: #00007f;">denom</span>.<br />
&nbsp; &nbsp; <span style="color: #00007f;">numerator</span> := <span style="">&#40;</span><span style="color: #00007f;">num</span> / <span style="color: #00007f;">gcd</span><span style="">&#41;</span>.<br />
&nbsp; &nbsp; <span style="color: #00007f;">denominator</span> := <span style="">&#40;</span><span style="color: #00007f;">denom</span> / <span style="color: #00007f;">gcd</span><span style="">&#41;</span>.<br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Given another Rational instance, this will return the Rational sum of this<br />
&nbsp; &nbsp; instance and the other instance. &quot;</span><br />
&nbsp; add: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; |<span style="color: #00007f;">otherRat</span>|<br />
&nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isKindOf: <span style="color: #0000ff;">Integer</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">otherRat</span> := <span style="">&#40;</span><span style="color: #0000ff;">Rational</span> new<span style="">&#41;</span> init: <span style="">&#40;</span><span style="color: #00007f;">other</span> * <span style="color: #00007f;">denominator</span><span style="">&#41;</span> over: <span style="color: #00007f;">denominator</span><br />
&nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isKindOf: <span style="color: #0000ff;">Rational</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">otherRat</span> := <span style="color: #00007f;">other</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="color: #7f007f;">self</span> error: <span style="color: #7f0000;">'Do not know how to add '</span>, <span style="">&#40;</span><span style="">&#40;</span><span style="color: #00007f;">other</span> class<span style="">&#41;</span> printString<span style="">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #7f0000;">' to Rational'</span><span style="">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;">denominator</span> = <span style="">&#40;</span><span style="color: #00007f;">otherRat</span> getDenominator<span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; ^<span style="">&#40;</span><span style="color: #0000ff;">Rational</span> new<span style="">&#41;</span> init: <span style="">&#40;</span><span style="color: #00007f;">numerator</span> + <span style="">&#40;</span><span style="color: #00007f;">otherRat</span> getNumerator<span style="">&#41;</span><span style="">&#41;</span> over: <span style="color: #00007f;">denominator</span><br />
&nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; |<span style="color: #00007f;">lcd scaledNum1 scaledNum2</span>|<br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">lcd</span> := <span style="color: #7f007f;">self</span> getLCD: <span style="color: #00007f;">otherRat</span>.<br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">scaledNum1</span> := <span style="color: #7f007f;">self</span> scaleNumerator: <span style="color: #00007f;">lcd</span>.<br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">scaledNum2</span> := <span style="color: #00007f;">otherRat</span> scaleNumerator: <span style="color: #00007f;">lcd</span>.<br />
&nbsp; &nbsp; &nbsp; ^<span style="">&#40;</span><span style="color: #0000ff;">Rational</span> new<span style="">&#41;</span> init: <span style="">&#40;</span><span style="color: #00007f;">scaledNum1</span> + <span style="color: #00007f;">scaledNum2</span><span style="">&#41;</span> over: <span style="color: #00007f;">lcd</span><br />
&nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Will approximate the decimal value of the Rational. &quot;</span><br />
&nbsp; approximate <span style="">&#91;</span> ^<span style="">&#40;</span><span style="color: #00007f;">numerator</span> * <span style="color: #00007f;"><span style="color: #7f0000;">1</span></span>.<span style="color: #00007f;"><span style="color: #7f0000;">0</span></span><span style="">&#41;</span> / <span style="color: #00007f;">denominator</span> <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Given a Rational, compareTo compares this instance with the other Rational<br />
&nbsp; &nbsp; instance, returning -1, 0, or 1 depending on whether this instance is less<br />
&nbsp; &nbsp; than, equal to, or greater than the given instance, respectively. &quot;</span><br />
&nbsp; compareTo: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; |<span style="color: #00007f;">otherDenom otherNum lcd</span>|<br />
&nbsp; &nbsp; <span style="">&#40;</span><span style="color: #7f007f;">self</span> equals: <span style="color: #00007f;">other</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span> ^<span style="color: #7f0000;">0</span> <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="">&#40;</span><span style="color: #7f007f;">self</span> isPositive<span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isNegative<span style="">&#41;</span> ifTrue: <span style="">&#91;</span> ^<span style="color: #7f0000;">1</span> <span style="">&#93;</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="">&#40;</span><span style="color: #7f007f;">self</span> isNegative<span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isPositive<span style="">&#41;</span> ifTrue: <span style="">&#91;</span> ^-<span style="color: #00007f;"><span style="color: #7f0000;">1</span></span> <span style="">&#93;</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;">otherDenom</span> := <span style="color: #00007f;">other</span> getDenominator.<br />
&nbsp; &nbsp; <span style="color: #00007f;">otherNum</span> := <span style="color: #00007f;">other</span> getNumerator.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;">denominator</span> = <span style="color: #00007f;">otherDenom</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">numerator</span> &amp;gt; otherNum ifTrue: <span style="">&#91;</span> ^<span style="color: #7f0000;">1</span> <span style="">&#93;</span><br />
&nbsp; &nbsp; &nbsp; ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">numerator</span> = <span style="color: #00007f;">otherNum</span> ifTrue: <span style="">&#91;</span> ^<span style="color: #7f0000;">0</span> <span style="">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ifFalse: <span style="">&#91;</span> ^-<span style="color: #00007f;"><span style="color: #7f0000;">1</span></span> <span style="">&#93;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;">numerator</span> = <span style="color: #00007f;">otherNum</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">denominator</span> &amp;gt; otherDenom ifTrue: <span style="">&#91;</span> ^-<span style="color: #00007f;"><span style="color: #7f0000;">1</span></span> <span style="">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ifFalse: <span style="">&#91;</span> ^<span style="color: #7f0000;">1</span> <span style="">&#93;</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;">lcd</span> := <span style="color: #7f007f;">self</span> getLCD: <span style="color: #00007f;">other</span>.</p>
<p>&nbsp; &nbsp; <span style="">&#40;</span><span style="">&#40;</span><span style="color: #7f007f;">self</span> scaleNumerator: <span style="color: #00007f;">lcd</span><span style="">&#41;</span> &amp;gt; <span style="">&#40;</span><span style="color: #00007f;">other</span> scaleNumerator: <span style="color: #00007f;">lcd</span><span style="">&#41;</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; ^<span style="color: #7f0000;">1</span><br />
&nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; ^-<span style="color: #00007f;"><span style="color: #7f0000;">1</span></span><br />
&nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Given an Integer or Rational, this will divide this Rational by that<br />
&nbsp; &nbsp; value. &quot;</span><br />
&nbsp; divide: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; |<span style="color: #00007f;">otherFrac reciprocal</span>|<br />
&nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isKindOf: <span style="color: #0000ff;">Integer</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">otherFrac</span> := <span style="">&#40;</span><span style="color: #0000ff;">Rational</span> new<span style="">&#41;</span> init: <span style="color: #00007f;">other</span> over: <span style="color: #00007f;"><span style="color: #7f0000;">1</span></span>.<br />
&nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isKindOf: <span style="color: #0000ff;">Rational</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">otherFrac</span> := <span style="color: #00007f;">other</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="color: #7f007f;">self</span> error: <span style="color: #7f0000;">'Do not know how to divide a Ratioanl by '</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="">&#40;</span><span style="color: #00007f;">other</span> class<span style="">&#41;</span> printString<span style="">&#41;</span><span style="">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;">reciprocal</span> := <span style="">&#40;</span><span style="">&#40;</span><span style="color: #0000ff;">Rational</span> new<span style="">&#41;</span> init: <span style="">&#40;</span><span style="color: #00007f;">otherFrac</span> getDenominator<span style="">&#41;</span><br />
&nbsp; &nbsp; &nbsp; over: <span style="">&#40;</span><span style="color: #00007f;">otherFrac</span> getNumerator<span style="">&#41;</span><span style="">&#41;</span>.<br />
&nbsp; &nbsp; ^<span style="color: #7f007f;">self</span> multiply: <span style="color: #00007f;">reciprocal</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Returns true if the given Rational equals this Rational, either as the same<br />
&nbsp; &nbsp; object or it represents the same fraction. &quot;</span><br />
&nbsp; equals: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; <span style="color: #7f007f;">self</span> = <span style="color: #00007f;">other</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; ^<span style="color: #7f007f;">true</span><br />
&nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">numerator</span> = <span style="">&#40;</span><span style="color: #00007f;">other</span> getNumerator<span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">denominator</span> = <span style="">&#40;</span><span style="color: #00007f;">other</span> getDenominator<span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<span style="color: #7f007f;">true</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<span style="color: #7f007f;">false</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; ^<span style="color: #7f007f;">false</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Returns the denominator of the Rational. &quot;</span><br />
&nbsp; getDenominator <span style="">&#91;</span> ^denominator <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Given another instance of Rational, this will get the least common<br />
&nbsp; &nbsp; denominator (a.k.a. least common multiple) of the two denominators. &quot;</span><br />
&nbsp; getLCD: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; |<span style="color: #00007f;">diff denominator2 product gcd</span>|<br />
&nbsp; &nbsp; <span style="color: #00007f;">denominator2</span> := <span style="color: #00007f;">other</span> getDenominator.<br />
&nbsp; &nbsp; <span style="color: #00007f;">diff</span> := <span style="">&#40;</span><span style="color: #00007f;">denominator</span> - <span style="color: #00007f;">denominator2</span><span style="">&#41;</span> abs.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;"><span style="color: #7f0000;">1</span></span> = <span style="color: #00007f;">diff</span> ifTrue: <span style="">&#91;</span> ^denominator * <span style="color: #00007f;">denominator2</span> <span style="">&#93;</span>.<br />
&nbsp; &nbsp; <span style="color: #00007f;"><span style="color: #7f0000;">0</span></span> = <span style="color: #00007f;">diff</span> ifTrue: <span style="">&#91;</span> ^denominator <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;">product</span> := <span style="">&#40;</span><span style="color: #00007f;">denominator</span> * <span style="color: #00007f;">denominator2</span><span style="">&#41;</span> abs.<br />
&nbsp; &nbsp; <span style="color: #00007f;">gcd</span> := <span style="">&#40;</span><span style="color: #0000ff;">Rational</span> class new<span style="">&#41;</span> getGCD: <span style="color: #00007f;">denominator</span> other: <span style="color: #00007f;">denominator2</span>.<br />
&nbsp; &nbsp; ^product / <span style="color: #00007f;">gcd</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Returns the numerator of the Rational. &quot;</span><br />
&nbsp; getNumerator <span style="">&#91;</span> ^numerator <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Returns the reciprocal of this Rational. &quot;</span><br />
&nbsp; getReciprocal <span style="">&#91;</span> ^<span style="">&#40;</span><span style="color: #0000ff;">Rational</span> new<span style="">&#41;</span> init: <span style="color: #00007f;">denominator</span> over: <span style="color: #00007f;">numerator</span> <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Returns true if this Rational is larger than the one given. &quot;</span><br />
&nbsp; greaterThan: <span style="color: #00007f;">other</span> <span style="">&#91;</span> ^<span style="">&#40;</span><span style="color: #7f007f;">self</span> compareTo: <span style="color: #00007f;">other</span><span style="">&#41;</span> = <span style="color: #00007f;"><span style="color: #7f0000;">1</span></span> <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Returns true if this Rational is larger than the one given, or has the<br />
&nbsp; &nbsp; same value. &quot;</span><br />
&nbsp; greaterThanOrEqualTo: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; ^<span style="">&#40;</span><span style="color: #7f007f;">self</span> compareTo: <span style="color: #00007f;">other</span><span style="">&#41;</span> &amp;gt; -<span style="color: #00007f;"><span style="color: #7f0000;">1</span></span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Will return true if this Rational is &amp;lt; 0. &quot;</span><br />
&nbsp; isNegative <span style="">&#91;</span><br />
&nbsp; &nbsp; ^<span style="color: #7f007f;">self</span> isPositive not<br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Will return true if this Rational number is &amp;gt;= 0. &quot;</span><br />
&nbsp; isPositive <span style="">&#91;</span><br />
&nbsp; &nbsp; <span style="color: #00007f;">numerator</span> &amp;gt; <span style="color: #7f0000;">0</span> ifTrue: <span style="">&#91;</span> <span style="color: #00007f;">denominator</span> &amp;gt; <span style="color: #7f0000;">0</span> ifTrue: <span style="">&#91;</span> ^<span style="color: #7f007f;">true</span> <span style="">&#93;</span> <span style="">&#93;</span>.<br />
&nbsp; &nbsp; <span style="color: #00007f;">numerator</span> &amp;lt; <span style="color: #7f0000;">0</span> ifTrue: <span style="">&#91;</span> <span style="color: #00007f;">denominator</span> &amp;lt; <span style="color: #7f0000;">0</span> ifTrue: <span style="">&#91;</span> ^<span style="color: #7f007f;">true</span> <span style="">&#93;</span> <span style="">&#93;</span>.<br />
&nbsp; &nbsp; <span style="color: #00007f;">numerator</span> = <span style="color: #00007f;"><span style="color: #7f0000;">0</span></span> ifTrue: <span style="">&#91;</span> ^<span style="color: #7f007f;">true</span> <span style="">&#93;</span>.<br />
&nbsp; &nbsp; ^<span style="color: #7f007f;">false</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Returns true if this Rational is smaller than the one given. &quot;</span><br />
&nbsp; lessThan: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; ^<span style="">&#40;</span><span style="color: #7f007f;">self</span> compareTo: <span style="color: #00007f;">other</span><span style="">&#41;</span> = -<span style="color: #00007f;"><span style="color: #7f0000;">1</span></span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Returns true if this Rational is smaller than the one given, or has the<br />
&nbsp; &nbsp; same value. &quot;</span><br />
&nbsp; lessThanOrEqualTo: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; ^<span style="">&#40;</span><span style="color: #7f007f;">self</span> compareTo: <span style="color: #00007f;">other</span><span style="">&#41;</span> &amp;lt; <span style="color: #7f0000;">1</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Given an Integer, this will scale the Rational by that amount.&nbsp; Given<br />
&nbsp; &nbsp; another Rational, this will return the product of this Rational and the one<br />
&nbsp; &nbsp; given. &quot;</span><br />
&nbsp; multiply: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; |<span style="color: #00007f;">newNum newDenom</span>|<br />
&nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isKindOf: <span style="color: #0000ff;">Integer</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">newNum</span> := <span style="color: #00007f;">numerator</span> * <span style="color: #00007f;">other</span>.<br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">newDenom</span> := <span style="color: #00007f;">denominator</span><br />
&nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isKindOf: <span style="color: #0000ff;">Rational</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">newNum</span> := <span style="color: #00007f;">numerator</span> * <span style="">&#40;</span><span style="color: #00007f;">other</span> getNumerator<span style="">&#41;</span>.<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">newDenom</span> := <span style="color: #00007f;">denominator</span> * <span style="">&#40;</span><span style="color: #00007f;">other</span> getDenominator<span style="">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7f007f;">self</span> error: <span style="color: #7f0000;">'Do not know how to multiply by '</span>, <span style="">&#40;</span><span style="">&#40;</span><span style="color: #00007f;">other</span> class<span style="">&#41;</span> printString<span style="">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; ^<span style="">&#40;</span><span style="">&#40;</span><span style="color: #0000ff;">Rational</span> new<span style="">&#41;</span> init: <span style="color: #00007f;">newNum</span> over: <span style="color: #00007f;">newDenom</span><span style="">&#41;</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Returns a string representation of the Rational. &quot;</span><br />
&nbsp; printString <span style="">&#91;</span><br />
&nbsp; &nbsp; ^<span style="">&#40;</span><span style="color: #00007f;">numerator</span> printString<span style="">&#41;</span>, <span style="color: #7f0000;">'/'</span>, <span style="">&#40;</span><span style="color: #00007f;">denominator</span> printString<span style="">&#41;</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Given a least common denominator, this will return the numerator scaled up<br />
&nbsp; &nbsp; such that it pairs with the least common denominator. &quot;</span><br />
&nbsp; scaleNumerator: <span style="color: #00007f;">lcd</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; <span style="color: #00007f;">denominator</span> = <span style="color: #00007f;">lcd</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; ^numerator<br />
&nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; |<span style="color: #00007f;">factor</span>|<br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">factor</span> := <span style="color: #00007f;">lcd</span> / <span style="color: #00007f;">denominator</span>.<br />
&nbsp; &nbsp; &nbsp; ^numerator * <span style="color: #00007f;">factor</span><br />
&nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; <span style="">&#93;</span></p>
<p>&nbsp; <span style="color: #007f00; font-style: italic;">&quot; Given another Rational, this will subtract the given Rational from this<br />
&nbsp; &nbsp; instance, returning the result as a Rational. &quot;</span><br />
&nbsp; subtract: <span style="color: #00007f;">other</span> <span style="">&#91;</span><br />
&nbsp; &nbsp; |<span style="color: #00007f;">negated negNum otherRat</span>|<br />
&nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isKindOf: <span style="color: #0000ff;">Integer</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #00007f;">otherRat</span> := <span style="">&#40;</span><span style="color: #0000ff;">Rational</span> new<span style="">&#41;</span> init: <span style="">&#40;</span><span style="color: #00007f;">denominator</span> * <span style="color: #00007f;">other</span><span style="">&#41;</span> over: <span style="color: #00007f;">denominator</span><br />
&nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="color: #00007f;">other</span> isKindOf: <span style="color: #0000ff;">Rational</span><span style="">&#41;</span> ifTrue: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">otherRat</span> := <span style="color: #00007f;">other</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span> ifFalse: <span style="">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="">&#40;</span><span style="color: #7f007f;">self</span> error: <span style="color: #7f0000;">'Do not know how to subtract '</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="">&#40;</span><span style="">&#40;</span><span style="color: #00007f;">other</span> class<span style="">&#41;</span> printString<span style="">&#41;</span>, <span style="color: #7f0000;">' from Rational'</span><span style="">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="">&#93;</span><br />
&nbsp; &nbsp; <span style="">&#93;</span>.</p>
<p>&nbsp; &nbsp; <span style="color: #00007f;">negNum</span> := <span style="color: #00007f;"><span style="color: #7f0000;">0</span></span> - <span style="">&#40;</span><span style="color: #00007f;">otherRat</span> getNumerator<span style="">&#41;</span>.<br />
&nbsp; &nbsp; <span style="color: #00007f;">negated</span> := <span style="">&#40;</span><span style="color: #0000ff;">Rational</span> new<span style="">&#41;</span> init: <span style="color: #00007f;">negNum</span> over: <span style="">&#40;</span><span style="color: #00007f;">otherRat</span> getDenominator<span style="">&#41;</span>.<br />
&nbsp; &nbsp; ^<span style="color: #7f007f;">self</span> add: <span style="color: #00007f;">negated</span><br />
&nbsp; <span style="">&#93;</span><br />
<span style="">&#93;</span></div>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=0o-cqv7cpmI:0PhhcqjKls8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=0o-cqv7cpmI:0PhhcqjKls8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=0o-cqv7cpmI:0PhhcqjKls8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=0o-cqv7cpmI:0PhhcqjKls8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=0o-cqv7cpmI:0PhhcqjKls8:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/0o-cqv7cpmI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/02/07/representing-rational-numbers-in-smalltalk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/02/07/representing-rational-numbers-in-smalltalk/</feedburner:origLink></item>
		<item>
		<title>House of Leaves</title>
		<link>http://feedproxy.google.com/~r/3till7/~3/52LFVtztWNk/</link>
		<comments>http://www.3till7.net/2010/02/06/house-of-leaves/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 21:33:55 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Opinions]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[boyfriend]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[Twilight is ridiculous]]></category>

		<guid isPermaLink="false">http://www.3till7.net/?p=3873</guid>
		<description><![CDATA[I bought a new book last night:  House of Leaves by Mark Z. Danielewski.  And by &#8220;new&#8221;, I mean new to me, not new as in it just came out.  It apparently was published in 2000 but I just now heard about it (on Reddit, actually) and got intrigued so I bought [...]]]></description>
			<content:encoded><![CDATA[<p>I bought a new book last night:  <em>House of Leaves</em> by Mark Z. Danielewski.  And by &#8220;new&#8221;, I mean new to me, not new as in it just came out.  It apparently was published in 2000 but I just now heard about it (on <a href="http://reddit.com/">Reddit</a>, actually) and got intrigued so I bought it.  Folks on Amazon were saying it&#8217;s the scariest book they&#8217;ve ever read, et cetera, and folks on Reddit said it&#8217;d be impossible to make into a movie.  It&#8217;s supposed to be some crazy postmodern book and I didn&#8217;t even know what that meant; I now think I have an inkling just by flipping through the book when I picked it up at the store.  There are pages with only a line of text, pages with square cut-outs missing from the paragraph, narrow columns written backward, chunks in German and Italian but the majority is in English, and so on.  Apparently the book is supposed to be self-aware and it&#8217;s about a self-aware house.  So, postmodern = freaky layout and ideas?  Anywho, I&#8217;m enjoying it so far, though I like Zampanò&#8217;s book about the Navidson family more than Johnny&#8217;s three-page footnotes.  So far, Johnny is a pretty boring character to me, telling lies to girls in bars and rambling about his water heater.  I&#8217;m more interested in the Navidson family because of their freaky house; I like haunted-house books, especially <em>The Haunting of Hill House</em> by Shirley Jackson and <em>The Shining</em> by Stephen King.</p>
<p>The name of the book, &#8220;House of Leaves,&#8221; seemed familiar to me but I didn&#8217;t pay much attention to it.  Then I noticed on the back the word &#8220;Poe&#8221; and it looked like the same logo the singer Poe uses but I thought it was a coincidence.  Then I noticed the word &#8220;Haunted&#8221; in quotes above the logo, and that&#8217;s a song by Poe that I love (and to which I am currently listening) and thought &#8220;okay, there&#8217;s got to be a connection here.&#8221;  Then when I started reading the book and saw the phrase &#8220;five and a half minute hallway&#8221; I just had to check into it.  I&#8217;d never heard that phrase before except on Poe&#8217;s album &#8220;Haunted&#8221;:  there&#8217;s a song titled 5 &frac12; Minute Hallway.  Turns out the author, Mark Danielewski, is Poe&#8217;s brother and her album &#8220;Haunted&#8221; is meant to parallel the book <em>House of Leaves</em>.  Neato.</p>
<p>Now I had the album &#8220;Haunted&#8221; back in high school and <em>loved</em> it but, like a dork, gave it away to a friend and all I have left are crappy MP3 rips.  Even worse, several of the tracks on the album are dialogue and I didn&#8217;t care about them at the time so I didn&#8217;t rip them from the CD.  Well, I&#8217;m thinking those tracks might be interesting now that I&#8217;m reading the book, and I wanted better quality audio than 128K, so I re-bought the album on Amazon MP3 just now.  It&#8217;s nice to be rehearing it.  As usual, I debated between getting it off iTunes or Amazon MP3.  Both had the 18-track album with the extra Hey Pretty remix, but Amazon offered it for $8.99 while iTunes had it for $9.99.  I&#8217;ve <a href="/2008/06/13/new-portishead-album/">written about this before</a>, but iTunes often loses out to Amazon for me when it comes to buying MP3s, all due to price.</p>
<p>I got P.S. I Love You in on Netflix yesterday and, for the life of me, I don&#8217;t know why.  I mean, I intentionally put it on my Netflix queue, but I dunno <em>why</em>.  I don&#8217;t normally go for romance movies and now poor old Jon&#8217;s going to sit through it with me, haha.  Speaking of movies he&#8217;ll have to sit through, I&#8217;ve already told him that he may have avoided seeing New Moon in theaters with me, but he won&#8217;t get out of watching it when it comes out on DVD.  It&#8217;s already in my Netflix queue, in fact.  Listen at me, saying I don&#8217;t go for romance movies and then saying I&#8217;ll inflict New Moon upon my boyfriend!  Let me clarify:  I enjoy the Twilight movie series because I like the book series, even though the movies are really pretty terrible.  Anyway, I&#8217;ll now discontinue this line of discussion since your opinion of my Twilight-liking intellect has sunk through the floor&#8230;  In other news, the next movie on my Netflix queue is The Machinist!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/3till7?a=52LFVtztWNk:2YB6vn6zCx8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/3till7?i=52LFVtztWNk:2YB6vn6zCx8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=52LFVtztWNk:2YB6vn6zCx8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/3till7?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/3till7?a=52LFVtztWNk:2YB6vn6zCx8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/3till7?i=52LFVtztWNk:2YB6vn6zCx8:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/3till7/~4/52LFVtztWNk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.3till7.net/2010/02/06/house-of-leaves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.3till7.net/2010/02/06/house-of-leaves/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.982 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-03-09 11:24:09 -->
