<?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>VerySimple &#187; Hardware</title>
	<atom:link href="http://verysimple.com/category/hardware/feed/" rel="self" type="application/rss+xml" />
	<link>http://verysimple.com</link>
	<description>Custom Software</description>
	<lastBuildDate>Fri, 06 Jan 2012 18:12:28 +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>iPhone &#8211; This message has not been downloaded from the server</title>
		<link>http://verysimple.com/2008/02/29/iphone-this-message-has-not-been-downloaded-from-the-server/</link>
		<comments>http://verysimple.com/2008/02/29/iphone-this-message-has-not-been-downloaded-from-the-server/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 17:20:51 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.verysimple.com/blog/2008/02/29/iphone-this-message-has-not-been-downloaded-from-the-server/</guid>
		<description><![CDATA[[Update 1 - I switched to IMAP instead of POP on both my iPhone and desktop client and configured the desktop client to never remove messages after downloading.  IMAP seems to be much more stable in general on the iPhone and also keeps read/unread status in sync between the phone and desktop.  I'd recommend IMAP [...]]]></description>
			<content:encoded><![CDATA[<p><em>[Update 1 - I switched to IMAP instead of POP on <strong>both</strong> my iPhone and desktop client and configured the desktop client to never remove messages after downloading.  IMAP seems to be much more stable in general on the iPhone and also keeps read/unread status in sync between the phone and desktop.  I'd recommend IMAP if it's available to you.]</em></p>
<p><em>[Update 2 - A few people have posted annoyed replies in response to my post.  All I can say is that there may be multiple causes to this problem, but the one I found is easily verified and reproduced.  Some people mis-read into my post that IMAP alone is the solution, this is not true.  I will say that I have not personally heard of this error happening to anyone who is not running multiple email clients.  I would recommend taking a close look at any running email client and double-check that none of them are set to remove messages from the server after downloading.  IMAP or POP is irrelevant, either protocol can be used and the client may still be removing messages.  GMail or any other webmail can be a culprit as well.]</em></p>
<p><em>[Original Post Below]</em></p>
<p>I have my iPhone set to retrieve email messages from my POP3 account.  This works great except  that about every 10th message would show &#8220;This message has not been downloaded from the server&#8221; instead of the message text.</p>
<p>I discovered that this was not actually a problem with the iPhone, rather with my email setup.  I also have Outlook on my desktop which is configured to delete messages from the server after downloading.  What happens is that the iPhone downloads the headers of all messages in the inbox, but only downloads the body of the messages from the server one at a time as you view them.  (This is done for speed and bandwidth on the mobile device.)  Meanwhile, if Outlook is open on my desktop it is automatically downloading all new messages and immediately deleting them from the server.  The iPhone still shows the email headers in the inbox, but when you go to view the message it is unable to retrieve it from the server because it was deleted by Outlook .  So there is no way for the iPhone to get the message body because the message no longer exists on the server.</p>
<p>It would make sense if the iPhone would re-load the inbox, in which case you would not see all of those deleted messages.  However, my guess is that this is another bandwidth/performance issue to keep the headers constantly in sync.</p>
<p>There is a fairly simple work-around to this problem.   Just configure your desktop email client so it doesn&#8217;t immediately remove messages after downloading.  In my case using Outlook, there is a setting to leave mail on the server for X days (I set mine to 3 days).  This resolved the issue for me entirely, however if I try to read an email on the iPhone that is more than 3 days old it won&#8217;t be available.  Basically the number of days you configure your client to retain messages on the server is how far back they will be available via your iPhone.  For me 3 days is plenty.  However, if you want to have access to older messages you can set the retention to 30 days or whatever your email client and host will allow.</p>
]]></content:encoded>
			<wfw:commentRss>http://verysimple.com/2008/02/29/iphone-this-message-has-not-been-downloaded-from-the-server/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Migrating Windows NT From Legacy Hardware to a Parallels Virtual Machine</title>
		<link>http://verysimple.com/2007/06/09/migrating-windows-nt-from-legacy-hardware-to-a-parallels-virtual-machine/</link>
		<comments>http://verysimple.com/2007/06/09/migrating-windows-nt-from-legacy-hardware-to-a-parallels-virtual-machine/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 02:52:45 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.verysimple.com/blog/2007/06/09/migrating-windows-nt-from-legacy-hardware-to-a-parallels-virtual-machine/</guid>
		<description><![CDATA[I recently had to rescue a legacy application that was running on an old Compaq Proliant server. This custom application is primarily a web application running on MS SQL Server, however there are various services and automated tasks and the application is fairly well embedded onto this hardware. The application has gone through various changes [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had to rescue a legacy application that was running on an old Compaq Proliant server.  This custom application is primarily a web application running on MS SQL Server, however there are various services and automated tasks and the application is fairly well embedded onto this hardware.  The application has gone through various changes and development teams since it was originally written in 1997, but has always lived on this particular Windows NT 4.0 Server.</p>
<p>The machine itself is huge, heavy and requires three power cords to run.  It&#8217;s also extremely loud.  Though it was a mighty workhorse in it&#8217;s day, now there are cellphones and PDAs that would give it&#8217;s CPU a run for it&#8217;s money.   I thought the hardware was so old that it would make sense to migrate the whole thing to a virtual disk image and run in using Parallels.  What I had thought would only take an hour or two wound up being an entire weekend saga.  But end the end I was victorious and the virtual server now runs like a champ on my Mac Mini.  What follows are the steps and software tools that I used to make the migration.</p>
<p><strong><em>Note: </em></strong>if you are using an Windows OS more recent than NT, you can use <a href="http://www.parallels.com/products/desktop/transporter/" target="_blank">Parallels Transporter</a> to easily convert an older server into a virtual machine.  The technique below is much more labor, however will work on older Windows systems and, theoretically, any other OS.  Also, I suspect these steps could be followed for use with another emulator such as VMWare or VirtualBox.</p>
<p>The first step of the process was to make a disk image of the drive.  This actually can be done using a variety of GUI utilities if you can physically remove the drive and place it into another machine.  In my case the two disk volumes were spread across 4 physical disks on an old Compaq RAID array.   Not to mention they were old SCSI drives and I didn&#8217;t have the hardware to plug them into another machine anyway.  What I did find was a nice little app called <a href="http://www.feyrer.de/g4u/" target="_blank">G4U</a> (Ghost for Linux)</p>
<p>G4U basically did all of the hard work, but it didn&#8217;t quite get me all the way home.  Following the G4U instructions I created a boot disk CD and booted the old hardward.  G4U is a command-line utility with a command <em>uploaddisk</em>.  This command basically converts the drive of your choosing to a raw image file and simultaneously uploads it to the FTP server of your choosing.  I did this using a local FTP server and the result was a .gz file containing the raw disk image.</p>
<p>Now that I had the disk image the next step is to get the data out of that image and into a Parallels virtual machine.  I created a Parallels virtual machine with a blank virtual drive the same size as the old server drive (actually I made it a little bigger to be safe).  I then booted up this virtual machine as if I was going to install Windows, only I booted from the G4U boot disk.  At the G4U prompt the command <em>slurpdisk </em>connects to an FTP server, decompresses the raw .gz image file to a physical drive.  (In my case, I copied it to the new, blank virtual drive.)</p>
<p>Once this step was complete I had what should have been an exact copy of the drive from the hardware duplicated on a parallels .hdd drive file.   And indeed I did have this; however, there was a problem &#8211; it wouldn&#8217;t boot!  Apparently something with the old RAID controller or the conversion process had not correctly copied the boot sector.  I could mount the disk image and see that all the data was there but Parallels would just not recognize the drive as being a bootable image.</p>
<p>I know there are ways to fix the boot sector using special fdisk options, however they tend to wipe out the data &#8211; which obviously wouldn&#8217;t work.  There&#8217;s probably non-destructive ways as well.  What I wound up doing, though, was to create a new Parallels machine with a new/blank drive and install on it a fresh copy of Windows NT.    In other words, I basically created a regular virtual machine running Windows NT.  (In hindsight I probably could have just copied any existing virtual machine that I had)</p>
<p>So at this point I had a) A virtual drive copy of the old hardware drive that was non-bootable and b) A  clean NT virtual machine that was bootable.  I needed to get the files from A onto B.  I figured a straight copy using windows explorer would wipe out critical NTFS system data, but I couldn&#8217;t copy the whole partition either and lose the boot sector info.  I located another free utility program called <a href="http://www.xxcopy.com/" target="_blank">XXCOPY </a>which promised to copy NTFS files as-is preserving all system meta-data.  (Vista has a new feature called RoboCopy which may also work for this purpose.)  I mounted both disk images on my main XP installation so I would work with the filesystems.  I deleted all of the NT files from the clean install using Windows Explorer, thus I have a blank, but bootable drive.  Then using XXCOPY I copied the old serer&#8217;s entire C drive contents to the blank, bootable drive.</p>
<p>To be honest, I wasn&#8217;t expecting this to work.  The copy took a while, but after I was done I booted up from that drive and to my amazement it started! It took a lot of trial and error, but in the end the application was liberated from it&#8217;s old hardware and now runs happily on any decent computer with Parallels installed.</p>
]]></content:encoded>
			<wfw:commentRss>http://verysimple.com/2007/06/09/migrating-windows-nt-from-legacy-hardware-to-a-parallels-virtual-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

