<?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>Antipatter &#187; commentary</title>
	<atom:link href="http://antipatter.com/category/commentary/feed/" rel="self" type="application/rss+xml" />
	<link>http://antipatter.com</link>
	<description>The Web, The Business, The Smoke and Mirrors</description>
	<lastBuildDate>Sat, 19 Jun 2010 14:32:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Everything but the Kitchen Sync</title>
		<link>http://antipatter.com/2008/07/everything-but-the-kitchen-sync/</link>
		<comments>http://antipatter.com/2008/07/everything-but-the-kitchen-sync/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 15:39:36 +0000</pubDate>
		<dc:creator>loren</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[commentary]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[contacts]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[just works]]></category>
		<category><![CDATA[linkfest]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://antipatter.com/?p=50</guid>
		<description><![CDATA[&#8220;Math Sync is hard&#8221; I keep hearing.  Why does this area suck so much?  Why is it so damn hard to synchronize my calendar and contacts with multiple sources?  What is up with that? I mean, seriously, isn&#8217;t this just version control?  Haven&#8217;t we solved this problem a million times with Subversion, Mercurial, Git and [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;<a title="Like, totally" href="http://en.wikipedia.org/wiki/Barbie" target="_blank"><span style="text-decoration: line-through;">Math</span></a> Sync is hard&#8221; I keep hearing.  Why does this area suck so much?  Why is it so damn hard to synchronize my calendar and contacts with multiple sources?  What is up with that?</p>
<p>I mean, seriously, isn&#8217;t this just version control?  Haven&#8217;t we solved this problem a million times with <a title="Subversion" href="http://subversion.tigris.org/" target="_blank">Subversion</a>, <a title="Mercurial" href="http://www.selenic.com/mercurial/wiki/" target="_blank">Mercurial</a>, <a title="Git" href="http://git.or.cz/" target="_blank">Git</a> and so on?  Why is this such a big deal?  Take the latest version of the content, merge it in.  If there&#8217;s concurrent modification then identify a conflict and kick it up to the user to resolve.  Done.  Look, they even came up with a standard, <a title="SyncML" href="http://en.wikipedia.org/wiki/SyncML" target="_blank">SyncML</a>, on order to normalize communication of sync information.</p>
<p>And yet still, in 2008, I&#8217;m sitting here on the verge of starting with a new employer, and I&#8217;m wondering about what I&#8217;m going to do about their Exchange server.  Do I go for a Mac and use Entourage?  Try to push everything into Google calendar?  Use <a href="http://spanningsync.com/" target="_blank">Spanning Sync</a> to connect up iCal?  These are a lot of acrobatics &#8211; why can&#8217;t this Just Work?</p>
<p>Just to demonstrate that I&#8217;m not completely talking out of a nether-oriented-orifice, I&#8217;ve even started to do some <a title="django-sync" href="http://code.google.com/p/django-sync/" target="_blank">work to lend sync services to Django</a>.  It should be no surprise that I&#8217;m letting Mercurial do the heavy lifting.</p>
<p>Why is this space so backwards?  Well, I&#8217;m tempted to blame Microsoft &#8211; they managed to get the whole world to buy in on Exchange.  Companies that made otherwise sane technology decisions went with classic vendor lock-in, probably because there wasn&#8217;t much else out there to compete at the time.  Microsoft (man, it feels tired just talking about this) plays well with other Microsoft products, but not well with others.  There&#8217;s no <a title="CalDav" href="http://en.wikipedia.org/wiki/CalDAV" target="_blank">CalDAV</a> connector for Exchange, for example, meaning there&#8217;s no standards-based access to their calendar.  Grr.</p>
<p>Another reason this space is so lame is because sync has been too long considered to be an application feature, rather than a service (perhaps an OS service?) available to be leveraged by various programs.  This is the approach <a title="Sync Service" href="http://developer.apple.com/macosx/syncservices.html" target="_blank">now taken by OS X</a>, so I guess there&#8217;s some hope.  Even in the relatively advanced world of OS X, there&#8217;s a lot of hacks still going on.  I&#8217;m currently sync&#8217;ing <a title="OmniFocus" href="http://www.omnigroup.com/applications/omnifocus/" target="_blank">OmniFocus</a> on my desktop with the <a title="OmniFocus on the iPhone" href="http://www.omnigroup.com/applications/omnifocus/iphone/" target="_blank">OmniFocus</a> on my iPhone, using a <a title="WebDav" href="http://en.wikipedia.org/wiki/WebDAV" target="_blank">WebDAV</a> server that I set up myself.  <a title="NetNewsWire" href="http://www.newsgator.com/INDIVIDUALS/NETNEWSWIRE/" target="_blank">NetNewsWire</a> syncs by using <a title="NewsGator" href="http://www.newsgator.com/" target="_blank">NewsGator</a>.</p>
<p>Dodgy.  I mean, this sort of works, but people don&#8217;t go around rolling their own disk i/o or network stacks just because their applications use them.  This stuff should just be available to use.  And it should Just Work.</p>
<p>UPDATE:  Ironically, <a href="http://www.google.com/support/calendar/bin/answer.py?answer=99355" target="_blank">Google calendar announced CalDAV support today</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://antipatter.com/2008/07/everything-but-the-kitchen-sync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Single Point of Failure</title>
		<link>http://antipatter.com/2008/07/single-point-of-failure/</link>
		<comments>http://antipatter.com/2008/07/single-point-of-failure/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 18:53:16 +0000</pubDate>
		<dc:creator>loren</dc:creator>
				<category><![CDATA[commentary]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[tech policy]]></category>

		<guid isPermaLink="false">http://antipatter.com/?p=14</guid>
		<description><![CDATA[If you follow tech news, you may have heard about how badly the city of San Francisco screwed up with their network administrator.  Although this is an unusually spectacular blowup, the conditions that existed to create this situation are, sadly, replicated throughout the I.T. world.  This is about an animal called the Bus Test.  In [...]]]></description>
			<content:encoded><![CDATA[<p>If you follow tech news, you may have heard about how badly the city of San Francisco <a title="SF Network Lockout" href="http://www.infoworld.com/article/08/07/18/30FE-sf-network-lockout_1.html" target="_blank">screwed up with their network administrator</a>.  Although this is an unusually spectacular blowup, the conditions that existed to create this situation are, sadly, replicated throughout the I.T. world.  This is about an animal called the <a title="Bus Test" href="http://www.isp-planet.com/business/bus-test.html" target="_blank">Bus Test</a>.  In essence, the Bus Test idea is that the overall system should survive if any one person who is closest to it is hit by a bus.  Or disappears.  Or goes rogue.</p>
<p>In system design, be it a network, application or any other piece of automated infrastructure, we eschew <em>single points of failure</em>.  We know that in the real world, things go wrong, and consequently we design systems that have redundancy built in.  If something fails, the system can transfer operations over to a redundant subsystem, and keep on going.  That&#8217;s why, for example, websites have back-up load balancers or data servers.  These apparently redundant elements are there to keep the system online if the primary subsystem breaks.</p>
<p>Unfortunately, in the I.T. world, it is common to neglect that <strong>the human operators of automated systems are also effectively part of that system</strong>.  They can also constitute a single point of failure, and we should be avoiding this problem with humans as well as machines, for the same reasons.</p>
<p><strong>No single operator (be they employee or principal) should ever control exclusive passwords or knowledge about a critical system.</strong> To do so makes the system fragile, and sets it up for the kind of snafus that are currently plaguing San Francisco.</p>
<p>In the linked article, it&#8217;s described how the network administrator in question was unwilling to allow anyone else to work with the network because he felt they were incompetent, and the configuration for the network was extremely complicated.  I can&#8217;t help thinking that centralizing control over the network was a band-aid on a tumor, however.  Essentially the city was running a network that was too complicated for them to staff properly, and was relying on a bad management decision in order to cover for it.</p>
<p>Essentially this is trading risk for cost.  However, it raises the question about whether it was acceptable risk and whether the decision was made consciously, or if it just happened through the ignorance of the network administrator&#8217;s supervisors.  I&#8217;m betting the latter.   This was sweeping the problem under the carpet, and the city of San Francisco is now paying the cost.  Bad policy.</p>
]]></content:encoded>
			<wfw:commentRss>http://antipatter.com/2008/07/single-point-of-failure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
