<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Creating extensible programs is hard</title>
	<atom:link href="http://bytebaker.com/2008/12/16/creating-extensible-programs-is-hard/feed/" rel="self" type="application/rss+xml" />
	<link>http://bytebaker.com/2008/12/16/creating-extensible-programs-is-hard/</link>
	<description>Computer Science isn&#039;t a science and it&#039;s not about computers</description>
	<lastBuildDate>Wed, 23 May 2012 15:01:29 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: arandomjohn</title>
		<link>http://bytebaker.com/2008/12/16/creating-extensible-programs-is-hard/#comment-235</link>
		<dc:creator><![CDATA[arandomjohn]]></dc:creator>
		<pubDate>Wed, 17 Dec 2008 23:30:49 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=289#comment-235</guid>
		<description><![CDATA[One technique that I&#039;ve found to be very flexible for this sort of thing is to define a network interface and have a client-server architecture.  This helps in several ways.  One is that you can write pluggins in any language.  Another is that while you might assume everything running on one machine initially later you can split the tasks (client and server) to two or more machines very easily.

For instance, I once needed to be able to control a digital camera from multiple computers.  I wrote a camera server in C++ and then the client in VB (unfortunately) which allowed a system in which any computer in the office could access any camera very easily.  This wasn&#039;t even a requirement of the project, we were simply required to have two computers be able to use one camera, but by going client-server we ended up with an n*m ability that gave us increased flexibility.]]></description>
		<content:encoded><![CDATA[<p>One technique that I&#8217;ve found to be very flexible for this sort of thing is to define a network interface and have a client-server architecture.  This helps in several ways.  One is that you can write pluggins in any language.  Another is that while you might assume everything running on one machine initially later you can split the tasks (client and server) to two or more machines very easily.</p>
<p>For instance, I once needed to be able to control a digital camera from multiple computers.  I wrote a camera server in C++ and then the client in VB (unfortunately) which allowed a system in which any computer in the office could access any camera very easily.  This wasn&#8217;t even a requirement of the project, we were simply required to have two computers be able to use one camera, but by going client-server we ended up with an n*m ability that gave us increased flexibility.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

