<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Twilight Sun &#187; Computers</title>
	<atom:link href="http://jonathan.com/category/computers/feed" rel="self" type="application/rss+xml" />
	<link>http://jonathan.com</link>
	<description></description>
	<lastBuildDate>Thu, 12 May 2011 10:35:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Aspect&#8217;s messaging model</title>
		<link>http://jonathan.com/aspects-messaging-model</link>
		<comments>http://jonathan.com/aspects-messaging-model#comments</comments>
		<pubDate>Wed, 28 Jul 2010 18:06:53 +0000</pubDate>
		<dc:creator>Jonathan C.</dc:creator>
				<category><![CDATA[Aspect]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jonathan.com/?p=151</guid>
		<description><![CDATA[(Before I begin, I should warn you that I haven&#8217;t had much time to actively work on this yet.) I found an article about Starbuck&#8217;s method of handling coffee orders on Hacker News today. I was surprised, because I had explained this exact concept to some friends already, but using Pat &#038; Oscar&#8217;s instead! This [...]]]></description>
			<content:encoded><![CDATA[<p>(Before I begin, I should warn you that I haven&#8217;t had much time to actively work on this yet.)</p>
<p>I found <a href="http://www.eaipatterns.com/ramblings/18_starbucks.html">an article</a> about Starbuck&#8217;s method of handling coffee orders on Hacker News today. I was surprised, because I had explained this exact concept to some friends already, but using <a href="http://www.patandoscars.com/">Pat &#038; Oscar&#8217;s</a> instead! This kind of query-response architecture strikes me as the perfect model for Aspect, because everything you do constitutes a request, and everything Aspect tells you is some form of response.</p>
<p>The Pat &#038; Oscar&#8217;s analogy is a little different from the Starbucks one, though, and it highlights a few key points. If you&#8217;ve never been to a Pat &#038; Oscar&#8217;s, it works like this: You go to the counter, make your order, receive a number, sit down at a table, and place the number card in the little holder on the table so they can find you. When the order&#8217;s ready, they come to you with the food. Importantly, you can make multiple orders and receive multiple numbers, and the orders will be served whenever they&#8217;re ready.</p>
<p>Now, how do you apply this to web communication? The classic HTTP protocol has a strictly blocking request/response format, meaning that every request must wait until the response is sent before you can reuse the connection. Most browsers have a cap on how many active connections you can have, and the bare minimum is IE&#8217;s two connections. So we need to make this work by using only two connections.</p>
<p>The solution is to use one connection for making requests, and the other for receiving results! You keep the results connection open constantly, and use the other whenever you make a request. The request connection must be closed as quickly as possible, so you just return an &#8220;order number&#8221;, a job ID. When the job is done, it&#8217;s pushed down the response connection along with its job ID. Then you re-connect the response connection so it&#8217;s constantly open. The approach the response connection is using is called long polling. Instead of polling periodically, the server hangs on to the connection until it has something to send.</p>
<p>I believe that this is a powerful approach to Comet-like communication. Unlike pure long polling &#8211; where the server simply holds the connection instead of responding immediately, and the client doesn&#8217;t need to care &#8211; it does require some infrastructure on both sides of the network gap. But if it can be abstracted properly, it should really be very easy to use. It&#8217;s just a layer you can work on top of.</p>
<p>I&#8217;ll be working on this as time permits, and of course I&#8217;ll open-source my work on this (though probably not Aspect itself) after a certain point. I&#8217;m a firm believer in open-sourcing platforms so everyone can benefit. If anyone else is interested in helping though, I&#8217;d be glad to make it public sooner! I think this is a useful model that definitely has applications beyond Aspect.</p>
<p>~Jonathan Castello</p>
]]></content:encoded>
			<wfw:commentRss>http://jonathan.com/aspects-messaging-model/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Ubuntu Installation Problems</title>
		<link>http://jonathan.com/my-ubuntu-installation-problems</link>
		<comments>http://jonathan.com/my-ubuntu-installation-problems#comments</comments>
		<pubDate>Tue, 19 Feb 2008 06:02:32 +0000</pubDate>
		<dc:creator>Jonathan C.</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://66.161.7.52/wordpress/?p=18</guid>
		<description><![CDATA[Having installed Ubuntu myself, I ran into a few annoying (but fixable) problems. I have an HP Pavillion dv900 series laptop, with the touch-sensitive media buttons and a built in wireless receiver. When I installed Ubuntu, I found that (a) my wireless connector wouldn&#8217;t work, and (b) that my audio wouldn&#8217;t work. And later, when [...]]]></description>
			<content:encoded><![CDATA[<p>Having installed Ubuntu myself, I ran into a few annoying (but fixable) problems. I have an HP Pavillion dv900 series laptop, with the touch-sensitive media buttons and a built in wireless receiver. When I installed Ubuntu, I found that (a) my wireless connector wouldn&#8217;t work, and (b) that my audio wouldn&#8217;t work.</p>
<p>And later, when I fixed (b), I found that <a href="http://www.pandora.com/" target="_blank">Pandora</a> wouldn&#8217;t work either. Oh, the horror!</p>
<p>I talked with my Ubuntu-using friend again &#8211; knowing another Linux user is a great help! &#8211; and I found I had to use something called &quot;ndiswrapper&quot; to use the Windows drivers I had for Linux, to fix my wireless problems. Let&#8217;s see if I can dig up the link he gave me&#8230; <a href="https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper" target="_blank">Here</a> it is. Starting from section 3.3, I followed the instructions, and it worked. The only problem is that the light next to the on/off switch for the wireless is always orange, it never turns green (on). But that doesn&#8217;t affect the fact that it works.</p>
<p>The audio problem&#8230; slightly trickier. I actually can&#8217;t remember what fixed it, but it was a pain to solve. I guess I wasn&#8217;t very helpful on this one.</p>
<p>And Pandora.com, the problem seemed to be that I didn&#8217;t have Flash installed, but when I installed it, it still didn&#8217;t work.. suffice to say, it was annoying to try to fix, but eventually I got it.</p>
<p>&nbsp;</p>
<p>I can&#8217;t overstate the importance of being able to talk with someone else who has Ubuntu while doing this. It&#8217;s a huge help.</p>
]]></content:encoded>
			<wfw:commentRss>http://jonathan.com/my-ubuntu-installation-problems/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

