<?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>Dobleve &#187; Software</title>
	<atom:link href="http://www.dobleve.org/blog/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dobleve.org/blog</link>
	<description>Brian and Shannon&#039;s adventures</description>
	<lastBuildDate>Mon, 16 May 2011 21:47:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Hacked</title>
		<link>http://www.dobleve.org/blog/2008/07/28/hacked/</link>
		<comments>http://www.dobleve.org/blog/2008/07/28/hacked/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 15:01:16 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.dobleve.org/blog/2008/07/28/hacked/</guid>
		<description><![CDATA[We discovered this weekend that someone hacked our photo site and added some code to the pages to try to run an ActiveX control &#8211; only IE users were affected. Unlike Windows or OS X, there are no automatic updates for our website when a security problem is found in the software we use; it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>We discovered this weekend that someone hacked our photo site and added some code to the pages to try to run an ActiveX control &#8211; only IE users were affected.  </p>
<p>  Unlike Windows or OS X, there are no automatic updates for our website when a security problem is found in the software we use; it&#8217;s up to me to do the updates.  Because we&#8217;re pretty busy, I let this slide for about 6 months, long enough for a security vulnerability to be discovered in <a href="http://gallery.menalto.com/">Gallery</a>, the software we use to share <a href="http://www.dobleve.org/photos/">our photos.</a></p>
<p>  The software is fixed now and I&#8217;m in the process of re-doing all of the customizations we had, hopefully I&#8217;ll finish it this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dobleve.org/blog/2008/07/28/hacked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A very long telecommute</title>
		<link>http://www.dobleve.org/blog/2008/07/24/a-very-long-telecommute/</link>
		<comments>http://www.dobleve.org/blog/2008/07/24/a-very-long-telecommute/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 10:04:58 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.dobleve.org/blog/2008/07/24/a-very-long-telecommute/</guid>
		<description><![CDATA[As some of you know I work from home in Granada, Spain, for Microsoft as a software developer on the Windows team. Prior to moving to Granada my wife and I lived in Seattle, Washington and I physically commuted to the Microsoft offices in Redmond. I can&#8217;t say I miss my daily hour and a [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you know I work from home in Granada, Spain, for Microsoft as a software developer on the Windows team.  Prior to moving to Granada my wife and I lived in Seattle, Washington and I physically commuted to the Microsoft offices in Redmond.  I can&#8217;t say I miss my daily hour and a half to 2 hour dose of <a href="http://seattletimes.nwsource.com/html/localnews/2008001922_webseattletraffic17m.html">Seattle to Redmond 520 traffic</a> but I do enjoy <a href="http://www.wsdot.wa.gov/Traffic/seattle/flowmaps/bridges.htm">seeing what I&#8217;m missing</a> once in a while. </p>
<p>People often ask how this works so I thought I&#8217;d explain how I do my job.  Briefly my job is to develop a part of the next version of Windows.  A few things make my telecommute possible.  None of these are unique to Microsoft, perhaps you&#8217;ll find some tips in here you can use to figure out how you could work from home (no matter how far from the office that is) and convince your employer that it will actually work.</p>
<p><strong>Good internet access</strong><br />
We have the fastest internet connection I could get in our neighborhood, which turned out to be 10mb ADSL.  Considering <a href="http://en.wikipedia.org/wiki/Albayzin">our neighborhood</a> is at least 1500 years old this seems pretty good.  The bandwidth is sufficient for me to be able to maintain an up-to-date copy of the source code for Windows on my home computer, which I use to create a new test version of Windows every day or two.  Typically this means transferring about 2gb of data each day.</p>
<p>I connect to the internal Microsoft network using the normal buzzwords &#8211;  a <a href="http://en.wikipedia.org/wiki/Vpn">VPN</a> that requires <a href="http://en.wikipedia.org/wiki/Two_factor_authentication">two factor authentication</a> and <a href="http://en.wikipedia.org/wiki/Ipsec">IPSEC</a>.</p>
<p>Good internet access these days also means really cheap international phone calls via <a href="http://en.wikipedia.org/wiki/Voip">VOIP</a>, I use the phone (in addition to email) to communicate with my teammates.</p>
<p><strong>Fast and inexpensive PC&#8217;s</strong><br />
Windows is not a small software project (according to <a href="http://www.knowing.net/PermaLink,guid,c4bdc793-bbcf-4fff-8167-3eb1f4f4ef99.aspx">these guys</a> there are 50 million lines of code in Windows), to be able to <a href="http://en.wikipedia.org/wiki/Compiler">compile the source code</a> requires either a lot of time or a very fast PC.  Most of my teammates in Redmond only compile the part of the project they work on and get a copy of the rest of it from one of our file servers; even with a good internet connection that isn&#8217;t feasible for me.  A complete copy of Windows suitable for development is about 25gb of files &#8211; this includes <a href="http://en.wikipedia.org/wiki/Debug_symbol">files to make debugging easier</a> in addition to other files to help with testing.  In short a huge amount of data to try to download over an ADSL connection.  I compile my own copy of Windows instead, using a fast but surprising inexpensive PC.</p>
<p>For the curious, I currently use a Dell Dimension 9200, with an Intel Core 2 Quad cpu, 4gb of memory and 4 <a href="http://www.hothardware.com/Articles/Western_Digital_Raptor_WD1500ADFD__Bigger_Faster_Stronger/?page=3">10krpm Raptor drives</a>, 3 of these are arranged as a <a href="http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks">stripe set (aka RAID 0)</a> to make the disks perform even faster.  The whole setup cost about $1500.  From start to finish it takes just under 12 hours for me to produce a new installable version of Windows.</p>
<p>I also have PC&#8217;s at home that I use to test my new versions of Windows.</p>
<p><strong>Remote controlled PC&#8217;s</strong><br />
I have a set of PC&#8217;s in a datacenter in Redmond, they allow me to share data with my teammates and minimize the data I need to transfer over the network &#8211; I don&#8217;t want to send 25gb of data to Redmond any more than I want to download it.  On any given day the size of the changes to the source code I have are on the order of 100kb; I transfer the small source changes and compile them in Redmond when I need to share my changes with other team members.</p>
<p>I access my machines remotely using <a href="http://en.wikipedia.org/wiki/Terminal_services">Terminal Services for Windows</a> for most of my work.  I use some of the machines for testing new versions of Windows, so I install new versions of Windows on PC&#8217;s in Redmond; this is tricky because installing a new version of Windows at times involves needing to interact with the <a href="http://en.wikipedia.org/wiki/BIOS">BIOS</a> of the PC.  I use an <a href="http://en.wikipedia.org/wiki/KVM_switch#KVM_over_IP">IP KVM</a> which allows me to control the PC even when it is in BIOS.  And finally, sometimes things go really wrong (especially when I&#8217;m testing new changes) and the PC hangs or <a href="http://en.wikipedia.org/wiki/Blue_Screen_of_Death">blue-screens.</a>  I use a <a href="http://apc.com/products/family/index.cfm?id=70">remote controlled power strip</a> so that I can turn the PC on and off remotely to reset it.</p>
<p>There is also a lab staff that I can call upon if things are really messed up and I need someone to physically do something to one of my PC&#8217;s.  That is rare, however I have had one machine catch on fire before and I wasn&#8217;t able to deal with that one myself from Spain.</p>
<p><strong>Good management</strong><br />
My manager and his manager (and his manager and his manager too) and I have all worked together for a long time; we have a solid foundation of trust and expectations and how to communicate those to each other when they are (or aren&#8217;t) being met.  Technology aside, I have found this to be essential.</p>
<p>I visit the offices in Redmond two times a year for a week or two at a time, this helps tremendously in terms of keeping my network of colleagues strong and allows me to meet new team members too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dobleve.org/blog/2008/07/24/a-very-long-telecommute/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saving the family jewels &#8211; Web edition</title>
		<link>http://www.dobleve.org/blog/2008/02/11/saving-the-family-jewels-web-edition/</link>
		<comments>http://www.dobleve.org/blog/2008/02/11/saving-the-family-jewels-web-edition/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 15:11:56 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.dobleve.org/blog/2008/02/11/saving-the-family-jewels-web-edition/</guid>
		<description><![CDATA[A while back I wrote about our home backup system here, I thought it was time for an update. We still use the same system I described, but have added another backup storage to it, this time on the web.  By good fortune the same people that host our website also allow us a huge [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I wrote about our home backup system <a href="http://www.dobleve.org/blog/2007/04/30/saving-the-family-jewels/">here</a>, I thought it was time for an update.</p>
<p></p>
<p>We still use the same system I described, but have added another backup storage to it, this time on the web.  By good fortune the same<a href="http://www.dreamhost.com/"> people that host our website</a> also allow us a huge amount of storage, it increases each month we are a customer.  At this point we have over 500mb of storage available, enough to consider backing up our data to their servers too.  </p>
<p></p>
<p>There is a great unix tool for web backups, in fact robocopy that I mentioned before is a simpler version of it.  The tool is <a href="http://samba.org/ftp/rsync/rsync.html">rsync</a>, and what it does is incrementally mirror one folder to another, allowing it to be very efficient and only upload things that have changed to our server.  I use it on my Mac which comes with rsync, if you have use Windows you need to get a package of Unix tools and install it, I like <a href="http://www.cygwin.com/">Cygwin</a>, its free.</p>
<p></p>
<p>We back up our data to an account on our web server, but that account is not web-accessible, eg you can&#8217;t reach it via http or ftp, meaning that while it is stored on a server on the internet its not generally accessible to anyone but us; I prefer that but its also possible to make it web-accessible if you want, but I wouldn&#8217;t recommend it if you have a choice.</p>
<p></p>
<p>Backing up becomes simple; from your command prompt, change directories to the place you want to back up, in my case the parent directory that contains my photos directory.  I then do this (substitute the my&#8217;s for your account and host) to put the files in the photos directory on our server.  Note that the trailing /&#8217;s on the folder names are important.  I get prompted to enter the account password on my server and then the upload begins.  This uses a secure (encrypted) channel to upload the data.</p>
<p></p>
<p>rsync -e ssh -av  photos/ <a href="mailto:wwfiles@crackerjack.dreamhost.com">my-account-name@my-web-host.com</a>:photos/</p>
<p></p>
<p>We have a lot of data to upload to our server so it never gets there in one upload session.  No matter, rsync as I said only uploads things that have changed, so when we restart an upload I use the same command and it automatically skips the files it already uploaded and picks up where it left off from the last upload.</p>
<p></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dobleve.org/blog/2008/02/11/saving-the-family-jewels-web-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update part 2</title>
		<link>http://www.dobleve.org/blog/2007/12/06/update-part-2/</link>
		<comments>http://www.dobleve.org/blog/2007/12/06/update-part-2/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 09:02:29 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.dobleve.org/blog/2007/12/06/update-part-2/</guid>
		<description><![CDATA[Looks like I&#8217;m not the only one who&#8217;s noticed the dip in quality lately over at One Infinite Loop, this was the headline yestarday morning over at CNet. http://www.news.com/8301-13579_3-9829091-37.html.  I don&#8217;t mean to poke fun at the competition, but this year has been a string of bad iTunes updates (I&#8217;ve lost count of the 7.x.1 [...]]]></description>
			<content:encoded><![CDATA[<p>Looks like I&#8217;m not the only one who&#8217;s noticed the dip in quality lately over at <a href="http://en.wikipedia.org/wiki/Infinite_Loop_(street)">One Infinite Loop</a>, this was the headline yestarday morning over at CNet. <a href="http://www.news.com/8301-13579_3-9829091-37.html.">http://www.news.com/8301-13579_3-9829091-37.html.</a>  I don&#8217;t mean to poke fun at the competition, but this year has been a string of bad iTunes updates (I&#8217;ve lost count of the 7.x.1 releases done a few days after the 7.x release to fix pretty major regressions in functionality), iPod bugs (my nano hangs every week or so and needs to be reset) and hosing my Mac mini was the final straw so to speak.</p>
<p></p>
<p>I won&#8217;t be installing the next software update on my Mac until a few weeks have passed, next time someone else can waste a day if it goes wrong.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dobleve.org/blog/2007/12/06/update-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Update&#8221;</title>
		<link>http://www.dobleve.org/blog/2007/12/03/update/</link>
		<comments>http://www.dobleve.org/blog/2007/12/03/update/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 09:23:00 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.dobleve.org/blog/2007/12/03/update/</guid>
		<description><![CDATA[We arrived home a week ago from a week in Mexico and a few days in Madrid.  We went to Tulum, Mexico for the wedding of our friends John &#38; Emily, it was a beautiful beach ceremony; we&#8217;d go back to Tulum again! We returned home and as seems normal these days all of our [...]]]></description>
			<content:encoded><![CDATA[<p>We arrived home a week ago from a week in Mexico and a few days in Madrid.  We went to Tulum, Mexico for the wedding of our friends John &amp; Emily, it was a beautiful beach ceremony; we&#8217;d go back to Tulum again!</p>
<p></p>
<p>We returned home and as seems normal these days all of our computers wanted to install the latest updates that had been released during the 2 weeks we were gone.  I do most of my personal work (including writing this stuff) on a Mac mini, the majority of our computers run some form on Windows.  </p>
<p></p>
<p>The Windows updates went fine of course (disclaimer: I work for Microsoft and help write Windows), but sadly the Mac was rendered unbootable by the &#8220;update&#8221; to OS X 10.4.11.  It looks like I wasn&#8217;t alone &#8211; <a href="http://apple.slashdot.org/article.pl?sid=07/11/27/0040206">http://apple.slashdot.org/article.pl?sid=07/11/27/0040206</a> talks a bit about it but focuses on bootcamp, sadly that&#8217;s a red herring as I don&#8217;t have bootcamp.  But, as Apple reminds me with smug taglines like &#8220;Think Different,&#8221; using and owning a Mac put me in an elite club of people who are in the know.  So I thought different and it helped; while I wasted the better part of a day copying, imaging, installing and trying to save all my data and make the Mac boot again I realized a lot of people were having a much different day, probably even having a fun.  But they don&#8217;t own a Mac.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dobleve.org/blog/2007/12/03/update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saving the family jewels</title>
		<link>http://www.dobleve.org/blog/2007/04/30/saving-the-family-jewels/</link>
		<comments>http://www.dobleve.org/blog/2007/04/30/saving-the-family-jewels/#comments</comments>
		<pubDate>Mon, 30 Apr 2007 18:22:25 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.dobleve.org/blog/2007/04/30/saving-the-family-jewels/</guid>
		<description><![CDATA[Over the years I&#8217;ve heard horror stories from friends who lost their photos when a hard drive on their computer crashed.  Another recent crash reminded of the pain.  With upwards of 30,000 photos and 100,000 music files stored on a computer in our house (which we also moved 9,000 miles), I&#8217;ve spent a lot of [...]]]></description>
			<content:encoded><![CDATA[<p>Over the years I&#8217;ve heard horror stories from friends who lost their photos when a hard drive on their computer crashed.  Another recent crash reminded of the pain.  With upwards of 30,000 photos and 100,000 music files stored on a computer in our house (which we also moved 9,000 miles), I&#8217;ve spent a lot of time thinking about how to ensure we don&#8217;t lose any of those precious files&#8230;..  </p>
<p></p>
<p>Caution/Cuidado, random boring technical junk to follow.  I thought I&#8217;d give a brain-dump of the system we use at our house, perhaps it is something you can use too, or, even better, I&#8217;ve missed something and you&#8217;ll tell me how to fix it before another one of our hard drives crashes.</p>
<p></p>
<p>We have a central server in our house with a<a href="http://en.wikipedia.org/wiki/RAID"> RAID-5 array</a> of 3 400GB hard drives, giving us roughly 800GB of space.  The only catch is you have to monitor this, its designed to keep working even if a drive fails and it does just that without a hitch &#8211; until a second drive fails, then the whole array needs to be recovered.  Our server is running Windows Server 2003, which has a neat feature known as “Timewarp” or “Volume Snapshots”.  This automatically saves versions of files for later recovery in a very space-efficient way.  Eg. if we accidentally delete a photo or otherwise corrupt it we can revert back to the older version from any PC in the house without having to find the copy on our backup drive.</p>
<p></p>
<p>We back up our server onto removable hard drives.  I use a generic external 1394 drive case which I plug various drives into when I need to do a backup.  My backup software is simple, a tool called “Robocopy” in the Windows Resource Kit, you can get it free <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&amp;displaylang=en">here.</a>  It has a mode of copying that will mirror one directory to another, perfect for backing up data.  </p>
<p></p>
<p>One key of our backup system is that it is on external hard drives and they are not connected to the server except when doing a backup.  This helps protect from virus&#8217;s and power spikes.  We have multiple backup drives and not all of them are stored in our home in case of a real disaster.  </p>
<p>The other key is the data is stored on the backup drives in a plain format &#8211; when you plug one of our backups into any other PC you can immediately access the data without needing special restore software.</p>
<p></p>
<p>We lose 1-2 hard drives per year (we have a lot of hard drives).  Expecting it to happen and practice with it happening rather than dreading it has kept us safe from data loss for a long time, I hope it continues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dobleve.org/blog/2007/04/30/saving-the-family-jewels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

