<?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>Yesterday's Thoughts &#187; Synchronization</title>
	<atom:link href="http://www.warmroom.com/yesterdays/category/software-internet/synchronization/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.warmroom.com</link>
	<description>Reflections on family life, software, politics and endurance sports.</description>
	<lastBuildDate>Wed, 26 May 2010 05:53:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Beginning of the End for Google Notebook?</title>
		<link>http://www.warmroom.com/yesterdays/2009/01/15/the-beginning-of-the-end-for-google-notebook/</link>
		<comments>http://www.warmroom.com/yesterdays/2009/01/15/the-beginning-of-the-end-for-google-notebook/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 19:55:38 +0000</pubDate>
		<dc:creator>Ray Baxter</dc:creator>
				<category><![CDATA[Synchronization]]></category>

		<guid isPermaLink="false">http://www.warmroom.com/?p=251</guid>
		<description><![CDATA[Synchronization and cloud services rear the heads once again as Ars has it, &#8220;Google closes down lesser-known services, lays off staff.&#8221;
I don&#8217;t use Jaiku or Dodgeball, although there is sure to be a wailing and gnashing of teeth over the closing of Dodgeball. I had been using Google Noteboook, semi-extensively and although it is not [...]]]></description>
			<content:encoded><![CDATA[<p>Synchronization and cloud services rear the heads once again as Ars has it, &#8220;<a href='http://arstechnica.com/news.ars/post/20090115-google-closes-down-lesser-known-services-lays-off-staff.html'>Google closes down lesser-known services, lays off staff</a>.&#8221;</p>
<p>I don&#8217;t use Jaiku or Dodgeball, although there is sure to be a wailing and gnashing of teeth over the closing of Dodgeball. I had been using Google Noteboook, semi-extensively and although it is not being shutdown, development on Notebook is ceasing, which for my purposes anyway, amounts to the same thing. </p>
<p>This just reinforces one of my current productivity goals: to get all of my stuff in one place. Where is that one place? Really nicely solving this problem is 1) hard and 2) lucrative. </p>
<p>Hm&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.warmroom.com/yesterdays/2009/01/15/the-beginning-of-the-end-for-google-notebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Synchronization Should Work &#8211; Part 1</title>
		<link>http://www.warmroom.com/yesterdays/2005/02/24/how-synchronization-should-work-part-1/</link>
		<comments>http://www.warmroom.com/yesterdays/2005/02/24/how-synchronization-should-work-part-1/#comments</comments>
		<pubDate>Fri, 25 Feb 2005 03:46:41 +0000</pubDate>
		<dc:creator>Ray Baxter</dc:creator>
				<category><![CDATA[Software & Internet]]></category>
		<category><![CDATA[Synchronization]]></category>

		<guid isPermaLink="false">http://www.warmroom.com/yesterdays/2005/02/24/how-synchronization-should-work-part-1/</guid>
		<description><![CDATA[I had a plan. I was going to write up a description of how every synchronizable device that I had access to worked, point out the flaws in each of them, and then synthesize the use cases and best practices to create a model for synchronization.
Instead, I am going to invert this. I think that [...]]]></description>
			<content:encoded><![CDATA[<p>I had a plan. I was going to write up a description of how every synchronizable device that I had access to worked, point out the flaws in each of them, and then synthesize the use cases and best practices to create a model for synchronization.</p>
<p>Instead, I am going to invert this. I think that I already know how synchronization should work so I am going to describe that model and then see how my devices compare to my model and what could be changed about them to move them closer to the model.</p>
<p><b>What kinds of synchronization?</b></p>
<p>Right now I am addressing the user&#8217;s perspective on synchronizing a small peripheral device, a Palm, a cell phone, or a watch, to a more fixed central storage location on a desktop, laptop or server. There are three cases, 1) the peripheral is a data collection device with limited storage, so the goal is to transfer most data from the peripheral to the central location (although there may be some data transfer in the opposite direction), 2) the peripheral is a data storage device (data from the central location is sent out to the peripheral) and 3) true synchronization, the data in the domain of interest can originate at either location and need to move to the other location.</p>
<p><b>The Ideal Case</b><br />
The ideal case is simple. The user would do nothing at all and the data would be synchronized as appropriate. There could be an initialization step where the devices would be introduced, the types of data and the role of the device would be specified, rules for dealing with conflicting data agreed upon, but beyond that nothing would be required of the user. The devices would periodically synchronized when the data changed on one.</p>
<p>The nothing-at-all requirement is the hardest to meet, in practice, but since it is my ideal, here is an example. A user downloads a train schedule to their Bluetooth enabled PDA. At the train stations there are Bluetooth transmitters at each entrance. When the user walks past the transmitter, their schedule is updated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.warmroom.com/yesterdays/2005/02/24/how-synchronization-should-work-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem with Windows File Synchronization</title>
		<link>http://www.warmroom.com/yesterdays/2005/02/19/problem-with-windows-file-synchronization/</link>
		<comments>http://www.warmroom.com/yesterdays/2005/02/19/problem-with-windows-file-synchronization/#comments</comments>
		<pubDate>Sun, 20 Feb 2005 04:08:28 +0000</pubDate>
		<dc:creator>Ray Baxter</dc:creator>
				<category><![CDATA[Software & Internet]]></category>
		<category><![CDATA[Synchronization]]></category>

		<guid isPermaLink="false">http://www.warmroom.com/wordpress/?p=21</guid>
		<description><![CDATA[There is one additional problem that I didn&#8217;t mention about synchronizing files using Windows file synchronization over a wireless connection.
I am currently using a Linksys Wireless-G Notebook Adapter (WPC54G) on my Windows 2000 notebook. Windows attempts to establish a connection to the shared drive before the wireless network connection is established. This causes Windows to [...]]]></description>
			<content:encoded><![CDATA[<p>There is one additional problem that I didn&#8217;t mention about synchronizing files using Windows file synchronization over a wireless connection.</p>
<p>I am currently using a Linksys Wireless-G Notebook Adapter (WPC54G) on my Windows 2000 notebook. Windows attempts to establish a connection to the shared drive before the wireless network connection is established. This causes Windows to throw up an error message, &#8220;Connection to server cannot be established, blah, blah, blah,&#8221; with a an option to not reconnect next time and an OK to click. Nothing too objectionable there, except that this halts the login so when I come back ten minutes later, expecting to get to work, I have to click the OK and wait.</p>
<p>Part of this is a Linksys specific problem. My previous adapter (a D-Link) installed earlier. I would only get this message if the network weren&#8217;t available, or I was out of range. Even in that case though, this is not a helpful message. I mapped this drive and I have synchronized files from it. I want to be available if physically possible and if not, use the synchronized files.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.warmroom.com/yesterdays/2005/02/19/problem-with-windows-file-synchronization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More on Subversion</title>
		<link>http://www.warmroom.com/yesterdays/2005/02/16/more-on-subversion/</link>
		<comments>http://www.warmroom.com/yesterdays/2005/02/16/more-on-subversion/#comments</comments>
		<pubDate>Thu, 17 Feb 2005 04:19:08 +0000</pubDate>
		<dc:creator>Ray Baxter</dc:creator>
				<category><![CDATA[Software & Internet]]></category>
		<category><![CDATA[Synchronization]]></category>

		<guid isPermaLink="false">http://www.warmroom.com/wordpress/?p=20</guid>
		<description><![CDATA[I completed the move to Subversion for synchronization between my server, desktop and laptop.
I created four Subversion repositories: for my home directory and basic personal files, for code (personal and archive), for training documents, and for work related documents. All four of these are checked out to my server. The work documents are not checked [...]]]></description>
			<content:encoded><![CDATA[<p>I completed the <a href="http://www.warmroom.com/blog/archive/2005/02/using_subversio.html">move </a>to <a href="http://subversion.tigris.org/">Subversion </a>for synchronization between my server, desktop and laptop.</p>
<p>I created four Subversion repositories: for my home directory and basic personal files, for code (personal and archive), for training documents, and for work related documents. All four of these are checked out to my server. The work documents are not checked out to my desktop, the code doesn&#8217;t go to my laptop and the training documents don&#8217;t go to work. I am not sure this is the ultimate mechanism. It might be easier to create only one repository and then control what is checked out to various locations by ignore directives (see below.)</p>
<p>There have been a couple of problems. I am learning Subversion, but the mechanism for ignoring files seems clumsy in comparison to CVS. In CVS, there are .cvsignore files that list patterns to ignore. The is a repository level ignore directives and then directory level .cvsignore files. The mechanism is pretty straight-forward. In Subversion, you add the pattern to the properties of the repository and the directory. I assume these are also stored in the file system, but they may be stored in the repository. In any case I can&#8217;t located them to edit easily.</p>
<p>The result of being at the low point on the learning curve is that I am getting files into the repository that aren&#8217;t really useful to share between multiple machines (.emacs.desktop, .bash_history) (Maybe I want different branches for the different machines?)</p>
<p>This problem is compounded by problems I am having with <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a>, the Windows client. Tortoise installs on the Windows Explorer context menu so that it is available when you right click, but I&#8217;ll be damned if I can understand the context rules. There is an &#8220;Add to Ignore List&#8221; command that appears when right clicking on some files or folders. Whether it is folders that are or are not currently under version control I can&#8217;t tell. The it seems like there is a low probability of it appearing.</p>
<p>Worse, it doesn&#8217;t work. Every time I have been luck enough to encounter the menu, I get the message, &#8220;Could not add <em>file</em> to the ignore list!&#8221; (The exclamation point is inside the quotes on purpose.)</p>
<p>I have also had a couple of problems with not being able to do anything because files are lock, or cannot be renamed for mysterious reasons which cause Tortoise to tell me to &#8220;Please execute the &#8216;Cleanup&#8217; command.&#8221; Then the Cleanup command fails.</p>
<p>To be fair, I haven&#8217;t read the Tortoise documentation so perhaps I am doing something fundamentally wrong.</p>
<p>If you are following this shaggy dog story carefully, you will realize that I am having to do this synchronization by hand. This is a large drawback, and also a drawback because I have four repositories, so I have go navigate into each relevant directory (the root of the corresponding tree) to perform the synchronization. This can eventually be handled with scripting.</p>
<p>Otherwise, this system deals well with my seven objections to Windows synchronization.</p>
<p>1) The synchronization is fast and it happens on my schedule.</p>
<p>2) The response times are fast and uniform. All operations are working on files on my local disk.</p>
<p>3) This mechanism should work for all applications.</p>
<p>4) The issues of different config files on different boxes should be resolvable.</p>
<p>5) There are no problems with Windows synchronization.</p>
<p>6) I haven&#8217;t tested it yet, but I should be able to move a file or a folder on one box and have it migrate on the others.</p>
<p>7) There is a central storage point, so I can back it up regularly.</p>
<p>I haven&#8217;t tried this with my Music files yet; the next thing to do is to move all my web server files into the repositories.</p>
<p>The other drawback is that committing a check in requires a comment. This will save my butt many times in the future I am sure, but there are times it is more of a bother.</p>
<p>[Update 2005-02-17] I have added a link to TortoiseSVN. Having read the documentation, I see that I can add an ignore on a per directory basis through the directories properties. This simplifies things for me, but I don&#8217;t understand the context menu command not working. Perhaps I am still missing something. This seems easier to make happen using the command line.</p>
<p>The other property that I came across is the svn:external which allows you to have a single directory that comes for a separate svn repository. This will come in handy for my multiple repositories.</p>
<p>Example using bash:<br />
<code><br />
stork$ svn propset svn:externals 'Training http://fq.d.n/Training<br />
&gt; Work http://fq.d.n/svn/Work<br />
&gt; code http://fq.d.n/svn/code' .<br />
</code><br />
The newlines separate the properties, so they are required.<br />
I cribbed this example from <a href="http://svn.bitflux.org/repos/public/bxcmsdemo/bin/switch-to-1_0.sh">here</a>.  The use of propset in Subversion is poorly documented in general; most of the examples show the results of setting the properties via <code>svn propget</code>, but that is not necessarily helpful.</p>
<p>With this in place, I can do a single <code>svn up </code>or <code>svn status</code> and see the status of the whole tree. For commits and adds, I have to move into the subdirectory, which seems like a good thing, although perhaps this should be configurable.</p>
<p>Also, according to <a href="http://www.looneys.net/index.cgi/2003/Nov/25">this page</a> the support for this mechanism is not necessarily permanent.</p>
<blockquote><p>Interestingly, the subversion developers consider externals a horrible hack which is likely to go away post-1.0. Fortunately, they also claim it will be replaced with a yet-unspecified &#8220;something better&#8221;.</p></blockquote>
<p>I like this particular horrible hack for my purposes. It is useful for synchronization to have multiple data sources and to have them interoperate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.warmroom.com/yesterdays/2005/02/16/more-on-subversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Subversion for File Synchronization</title>
		<link>http://www.warmroom.com/yesterdays/2005/02/14/using-subversion-for-file-synchronization/</link>
		<comments>http://www.warmroom.com/yesterdays/2005/02/14/using-subversion-for-file-synchronization/#comments</comments>
		<pubDate>Mon, 14 Feb 2005 19:11:45 +0000</pubDate>
		<dc:creator>Ray Baxter</dc:creator>
				<category><![CDATA[Software & Internet]]></category>
		<category><![CDATA[Synchronization]]></category>

		<guid isPermaLink="false">http://www.warmroom.com/wordpress/?p=19</guid>
		<description><![CDATA[I am experimenting with using Subversion on Linux keep the files on my laptop, desktop and server synchronized. I have been keeping most of my working copies on the server and using Windows sychronization to keep any files I need at all times available. But, I am dissatisfied with Windows synchronization in a couple of [...]]]></description>
			<content:encoded><![CDATA[<p>I am experimenting with using Subversion on Linux keep the files on my laptop, desktop and server synchronized. I have been keeping most of my working copies on the server and using Windows sychronization to keep any files I need at all times available. But, I am dissatisfied with Windows synchronization in a couple of ways.</p>
<p>1) Synchronization is slow and doesn&#8217;t always happen at a convenient time.<br />
2) The response time in unpredictable. When using a local copy operations can be very quick; when using the copy from the network &#8211; especially writing &#8211; can be very slow. This isn&#8217;t surprising, but I don&#8217;t like it.<br />
3) Applications don&#8217;t always find the local copy when the network is unavailable. (Does the application call the wrong level of the API?)<br />
4) Some programs cannot use the same preferences when working on a different box. For instance, Emacs saves a list of the files that I am currently using when it exits and reloads these files next time. Obviously the versions of this file that are saved on Windows have paths that are different than those saved on Linux, but even saving on two different Windows boxes causes problems.<br />
5) Windows file synchronization doesn&#8217;t work correctly with the vaguries of wireless networking, particularly with Microsoft applications. Example: when editing an Excel doc that is available on and offline, if the network is lost, and then found, it is impossible to save the document.<br />
6) It is limiting to have to change three boxes to move one folder.<br />
7) The are multiple copies of each file saved in various location. On the one hand this is a good backup mechanism, but I would be more comfortable having known backups in known locations.</p>
<p>I have installed Subversion on all three boxes. I am using the Server as the repository and so far using the TortoiseSVN extensions on Windows, although I expect to use the command line interface to script some of this synchronization.</p>
<p>I have tried a couple of setups so far. Currently I am using 5 repositories, more or less parallel to the categories of this blog: Computers, Code, Training, Household and Home (as in ~ or home directory or My Documents). I envision that only the sever will have all of these categories, the others will be selected to different machines depending on use. </p>
<p>I may also use a different repository for iTunes &#8211; sharing between multiple servers with iTunes is very awkward, and iTunes doesn&#8217;t work well with a share drive. There is no need to keep versioned music files, but this would have the advantage of consistency.</p>
<p>The only problem that I have had so far is security. I am currently using http to synchronize between the various sources because it is available from anywhere, but I wanted to protect some of the files with a password. Somehow the version of Apache that I have has a bug in htpasswd and I can&#8217;t create a password file, so I am using Apache directives to block access except from my home. I will probably move this to ssh, but I don&#8217;t understand the client ssh configuration.</p>
<p>[Updated 2005-02-16: Some text in point 5) was lost, or maybe I never completed the thought.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.warmroom.com/yesterdays/2005/02/14/using-subversion-for-file-synchronization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Palm HotSync Using Bluetooth</title>
		<link>http://www.warmroom.com/yesterdays/2005/01/31/palm-hotsync-using-bluetooth/</link>
		<comments>http://www.warmroom.com/yesterdays/2005/01/31/palm-hotsync-using-bluetooth/#comments</comments>
		<pubDate>Mon, 31 Jan 2005 20:21:59 +0000</pubDate>
		<dc:creator>Ray Baxter</dc:creator>
				<category><![CDATA[Palm]]></category>
		<category><![CDATA[Software & Internet]]></category>
		<category><![CDATA[Synchronization]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.warmroom.com/wordpress/?p=8</guid>
		<description><![CDATA[I wanted to sync my Palm Tungsten T3 to my desktop. I wasn&#8217;t sure that I could do this. I have a Microsoft Bluetooth Keyboard and Mouse and I have seen reports  (also here) that the implementation of Bluetooth is broken on this product.
I got it working on my desktop following the instructions in [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to sync my <a href="http://www.amazon.com/exec/obidos/redirect?tag=warmroomcom-20&amp;path=tg%2Fdetail%2F-%2FB0000DBJJT%2Fqid%3D1107206688%2Fsr%3D8-1%2Fref%3Dpd_csp_1%3Fv%3Dglance%26s%3Dpc%26n%3D507846">Palm Tungsten T3</a> to my desktop. I wasn&#8217;t sure that I could do this. I have a <a href="http://www.amazon.com/exec/obidos/redirect?tag=warmroomcom-20&amp;path=tg%2Fdetail%2F-%2FB00006Y0CW%2Fqid%3D1107207249%2Fsr%3D52-8%2Fref%3Dsr_52_8_etk-software%3Fv%3Dglance%26s%3Delectronics%26n%3D229534">Microsoft Bluetooth Keyboard and Mouse</a> and I have seen <a href="http://weblogs.asp.net/rhoward/archive/2004/05/31/145083.aspx">reports </a> (also <a href="http://www.whizoo.com/bt_setup/">here</a>) that the implementation of Bluetooth is broken on this product.</p>
<p>I got it working on my desktop following the instructions in  <a href="http://www.palmzone.net/modules.php?name=Sections&amp;artid=2">this </a>article. </p>
<p>The important bit: </p>
<blockquote><p>If you want to get started with Bluetooth, then you might want to get the Bluetooth Hotync working. This will at least verify that the Bluetooth on your desktop and Palm are working properly and that they can be paired with each other.</p></blockquote>
<blockquote><p>Be sure to update your Bluetooth drivers as per the above section, then follow the directions in your device&#8217;s user guide. The Tungsten T-series and Sony UX50 and TH55E (Euro version) all have decent Bluetooth Hotsync information in them. If you are using an SD card, you need the Palm Bluetooth Card Handbook (PDF).</p></blockquote>
<blockquote><p>These instructions cover using a &#8220;Serial Profile&#8221; which is the easiest way to get Hotsync working. The Palm Connection should be to a &#8220;PC&#8221;, not to a LAN. You must have &#8220;Local&#8221; check in the Hotsync Manager on your PC and you must have the COM port for it assigned to whatever COM port your BT Serial service is attached to. In my particular setup this is COM5, but yours may vary.</p></blockquote>
<blockquote><p>If you also want to have internet connectivity from your Palm, then continue reading the rest of this article.</p></blockquote>
<p>The downsides are that I need to remember to turn the Bluetooth on and off on the Palm, else it runs down the battery <em>really</em> quickly and I need to remember to manually synchronize. My dream is that I could just set the Palm down in the vicinity of the desktop and they would find each other and synchronize automatically. Why do I need to be involved?</p>
<p>Does anyone know if the throughput would be faster if I went to the trouble of configuring the Bluetooth LAN support?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.warmroom.com/yesterdays/2005/01/31/palm-hotsync-using-bluetooth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
