[prev in list] [next in list] [prev in thread] [next in thread] 

List:       unison-announce
Subject:    [unison-announce] New Unison beta-release (2.32)
From:       Benjamin Pierce <bcpierce () cis ! upenn ! edu>
Date:       2009-05-05 16:53:06
Message-ID: C1B13D24-3A48-48CF-96F8-E648D8827E3C () cis ! upenn ! edu
[Download RAW message or body]

Dear users of Unison,

I'm pleased to announce a new beta-release, version 2.32.  This  
version fixes a few issues in the old beta-release (2.31).  If no new  
issues emerge in the next few weeks, it will be promoted to an  
official stable version.

As usual, a big round of thanks to everybody who contributes their  
time to helping maintain and improve Unison, and a special thanks to  
all the people that share their expertise on the unison-users mailing  
list...

Enjoy,

       - Benjamin

------------------

    Changes since 2.31:
      * Minor fixes and improvements:
           + Ignore one hour differences when deciding whether a file  
may
             have been updated. This avoids slow update detection after
             daylight saving time changes under Windows. This makes  
Unison
             slightly more likely to miss an update, but it should be  
safe
             enough.
           + Fix a small bug that was affecting mainly windows users. We
             need to commit the archives at the end of the sync even if
             there are no updates to propagate because some files (in
             fact, if we've just switched to DST on windows, a LOT of
             files) might have new modtimes in the archive. (Changed the
             text UI only. It's less clear where to change the GUI.)
           + Don't delete the temp file when a transfer fails due to a
             fingerprint mismatch (so that we can have a look and see
             why!) We've also added more debugging code to give more
             informative error messages when we encounter the dreaded  
and
             longstanding "assert failed during file transfer" bug

    Changes since 2.27:
      * If Unison is interrupted during a directory transfer, it will  
now
        leave the partially transferred directory intact in a temporary
        location. (This maintains the invariant that new files/ 
directories
        are transferred either completely or not at all.) The next time
        Unison is run, it will continue filling in this temporary
        directory, skipping transferring files that it finds are already
        there.
      * We've added experimental support for invoking an external file
        transfer tool for whole-file copies instead of Unison's built-in
        transfer protocol. Three new preferences have been added:
           + copyprog is a string giving the name (and command-line
             switches, if needed) of an external program that can be  
used
             to copy large files efficiently. By default, rsync is
             invoked, but other tools such as scp can be used instead by
             changing the value of this preference. (Although this is  
not
             its primary purpose, rsync is actually a pretty fast way of
             copying files that don't already exist on the receiving
             host.) For files that do already exist on (but that have  
been
             changed in one replica), Unison will always use its built- 
in
             implementation of the rsync algorithm.
           + Added a "copyprogrest" preference, so that we can give
             different command lines for invoking the external copy
             utility depending on whether a partially transferred file
             already exists or not. (Rsync doesn't seem to care about
             this, but other utilities may.)
           + copythreshold is an integer (-1 by default), indicating  
above
             what filesize (in megabytes) Unison should use the external
             copying utility specified by copyprog. Specifying 0 will
             cause ALL copies to use the external program; a negative
             number will prevent any files from using it. (Default is  
-1.)
        Thanks to Alan Schmitt for a huge amount of hacking and to an
        anonymous sponsor for suggesting and underwriting this  
extension.
      * Small improvements:
           + Added a new preference, dontchmod. By default, Unison uses
             the chmod system call to set the permission bits of files
             after it has copied them. But in some circumstances (and
             under some operating systems), the chmod call always fails.
             Setting this preference completely prevents Unison from  
ever
             calling chmod.
           + Don't ignore files that look like backup files if the
             backuplocation preference is set to central
           + Shortened the names of several preferences. The old names  
are
             also still supported, for backwards compatibility, but they
             do not appear in the documentation.
           + Lots of little documentation tidying. (In particular,
             preferences are separated into Basic and Advanced! This
             should hopefully make Unison a little more approachable for
             new users.
           + Unison can sometimes fail to transfer a file, giving the
             unhelpful message "Destination updated during
             synchronization" even though the file has not been changed.
             This can be caused by programs that change either the  
file's
             contents or the file's extended attributes without changing
             its modification time. It's not clear what is the best fix
             for this - it is not Unison's fault, but it makes Unison's
             behavior puzzling - but at least Unison can be more helpful
             about suggesting a workaround (running once with fastcheck
             set to false). The failure message has been changed to give
             this advice.
           + Many improvements to the OS X GUI (thanks to Alan Schmitt  
and
             Craig Federighi), including a very nice new "nested
             directory" display style and per-file progress bars.
      * Very preliminary support for triggering Unison from an external
        filesystem-watching utility. The current implementation is very
        simple, not efficient, and almost completely untested--not ready
        for real users. But if someone wants to help improve it (e.g.,  
by
        writing a filesystem watcher for your favorite OS), please make
        yourself known!
        On the Unison side, the new behavior is very simple:
           + use the text UI
           + start Unison with the command-line flag "-repeat FOO",  
where
             FOO is name of a file where Unison should look for
             notifications of changes
           + when it starts up, Unison will read the whole contents of
             this file (on both hosts), which should be a
             newline-separated list of paths (relative to the root of  
the
             synchronization) and synchronize just these paths, as if it
             had been started with the "-path=xxx" option for each one  
of
             them
           + when it finishes, it will sleep for a few seconds and then
             examine the watchfile again; if anything has been added, it
             will read the new paths, synchronize them, and go back to
             sleep
           + that's it!
        To use this to drive Unison "incrementally," just start it in  
this
        mode and start up a tool (on each host) to watch for new changes
        to the filesystem and append the appropriate paths to the
        watchfile. Hopefully such tools should not be too hard to write.
      * Bug fixes:
           + Fixed a bug that was causing new files to be created with
             permissions 0x600 instead of using a reasonable default  
(like
             0x644), if the 'perms' flag was set to 0. (Bug reported by
             Ben Crowell.)
           + Follow maxthreads preference when transferring directories.


[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" \
"http://www.w3.org/TR/html4/strict.dtd"> <html>
<head>
</head>




<body style="background-color: #ffffff;">

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="width:655px; position:relative;">
<div id="ygrp-msg" style="width: 470px; margin:0; padding:0 25px 0 0; float:left; \
z-index:1;"> <!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
            <!--~-|**|PrettyHtmlStart|**|-~-->
            <br><br>
      <!--~-|**|PrettyHtmlEnd|**|-~-->
      <p>Dear users of Unison,<br>
<br>
I'm pleased to announce a new beta-release, version 2.32.  This  <br>
version fixes a few issues in the old beta-release (2.31).  If no new  <br>
issues emerge in the next few weeks, it will be promoted to an  <br>
official stable version.<br>
<br>
As usual, a big round of thanks to everybody who contributes their  <br>
time to helping maintain and improve Unison, and a special thanks to  <br>
all the people that share their expertise on the unison-users mailing  <br>
list...<br>
<br>
Enjoy,<br>
<br>
- Benjamin<br>
<br>
------------<wbr>------<br>
<br>
Changes since 2.31:<br>
      * Minor fixes and improvements:<br>
           + Ignore one hour differences when deciding whether a file  <br>
may<br>
             have been updated. This avoids slow update detection after<br>
             daylight saving time changes under Windows. This makes  <br>
Unison<br>
             slightly more likely to miss an update, but it should be  <br>
safe<br>
             enough.<br>
           + Fix a small bug that was affecting mainly windows users. We<br>
             need to commit the archives at the end of the sync even if<br>
             there are no updates to propagate because some files (in<br>
             fact, if we've just switched to DST on windows, a LOT of<br>
             files) might have new modtimes in the archive. (Changed the<br>
             text UI only. It's less clear where to change the GUI.)<br>
           + Don't delete the temp file when a transfer fails due to a<br>
             fingerprint mismatch (so that we can have a look and see<br>
             why!) We've also added more debugging code to give more<br>
             informative error messages when we encounter the dreaded  <br>
and<br>
             longstanding &quot;assert failed during file transfer&quot; bug<br>
<br>
Changes since 2.27:<br>
      * If Unison is interrupted during a directory transfer, it will  <br>
now<br>
        leave the partially transferred directory intact in a temporary<br>
        location. (This maintains the invariant that new files/ <br>
directories<br>
        are transferred either completely or not at all.) The next time<br>
        Unison is run, it will continue filling in this temporary<br>
        directory, skipping transferring files that it finds are already<br>
        there.<br>
      * We've added experimental support for invoking an external file<br>
        transfer tool for whole-file copies instead of Unison's built-in<br>
        transfer protocol. Three new preferences have been added:<br>
           + copyprog is a string giving the name (and command-line<br>
             switches, if needed) of an external program that can be  <br>
used<br>
             to copy large files efficiently. By default, rsync is<br>
             invoked, but other tools such as scp can be used instead by<br>
             changing the value of this preference. (Although this is  <br>
not<br>
             its primary purpose, rsync is actually a pretty fast way of<br>
             copying files that don't already exist on the receiving<br>
             host.) For files that do already exist on (but that have  <br>
been<br>
             changed in one replica), Unison will always use its built- <br>
in<br>
             implementation of the rsync algorithm.<br>
           + Added a &quot;copyprogrest&quot; preference, so that we can give<br>
             different command lines for invoking the external copy<br>
             utility depending on whether a partially transferred file<br>
             already exists or not. (Rsync doesn't seem to care about<br>
             this, but other utilities may.)<br>
           + copythreshold is an integer (-1 by default), indicating  <br>
above<br>
             what filesize (in megabytes) Unison should use the external<br>
             copying utility specified by copyprog. Specifying 0 will<br>
             cause ALL copies to use the external program; a negative<br>
             number will prevent any files from using it. (Default is  <br>
-1.)<br>
        Thanks to Alan Schmitt for a huge amount of hacking and to an<br>
        anonymous sponsor for suggesting and underwriting this  <br>
extension.<br>
      * Small improvements:<br>
           + Added a new preference, dontchmod. By default, Unison uses<br>
             the chmod system call to set the permission bits of files<br>
             after it has copied them. But in some circumstances (and<br>
             under some operating systems), the chmod call always fails.<br>
             Setting this preference completely prevents Unison from  <br>
ever<br>
             calling chmod.<br>
           + Don't ignore files that look like backup files if the<br>
             backuplocation preference is set to central<br>
           + Shortened the names of several preferences. The old names  <br>
are<br>
             also still supported, for backwards compatibility, but they<br>
             do not appear in the documentation.<br>
           + Lots of little documentation tidying. (In particular,<br>
             preferences are separated into Basic and Advanced! This<br>
             should hopefully make Unison a little more approachable for<br>
             new users.<br>
           + Unison can sometimes fail to transfer a file, giving the<br>
             unhelpful message &quot;Destination updated during<br>
             synchronization&quot; even though the file has not been changed.<br>
             This can be caused by programs that change either the  <br>
file's<br>
             contents or the file's extended attributes without changing<br>
             its modification time. It's not clear what is the best fix<br>
             for this - it is not Unison's fault, but it makes Unison's<br>
             behavior puzzling - but at least Unison can be more helpful<br>
             about suggesting a workaround (running once with fastcheck<br>
             set to false). The failure message has been changed to give<br>
             this advice.<br>
           + Many improvements to the OS X GUI (thanks to Alan Schmitt  <br>
and<br>
             Craig Federighi), including a very nice new &quot;nested<br>
             directory&quot; display style and per-file progress bars.<br>
      * Very preliminary support for triggering Unison from an external<br>
        filesystem-watching utility. The current implementation is very<br>
        simple, not efficient, and almost completely untested--not ready<br>
        for real users. But if someone wants to help improve it (e.g.,  <br>
by<br>
        writing a filesystem watcher for your favorite OS), please make<br>
        yourself known!<br>
        On the Unison side, the new behavior is very simple:<br>
           + use the text UI<br>
           + start Unison with the command-line flag &quot;-repeat FOO&quot;,  <br>
where<br>
             FOO is name of a file where Unison should look for<br>
             notifications of changes<br>
           + when it starts up, Unison will read the whole contents of<br>
             this file (on both hosts), which should be a<br>
             newline-separated list of paths (relative to the root of  <br>
the<br>
             synchronization) and synchronize just these paths, as if it<br>
             had been started with the &quot;-path=xxx&quot; option for each one  \
<br> of<br>
             them<br>
           + when it finishes, it will sleep for a few seconds and then<br>
             examine the watchfile again; if anything has been added, it<br>
             will read the new paths, synchronize them, and go back to<br>
             sleep<br>
           + that's it!<br>
        To use this to drive Unison &quot;incrementally,<wbr>&quot; just start it in  \
<br> this<br>
        mode and start up a tool (on each host) to watch for new changes<br>
        to the filesystem and append the appropriate paths to the<br>
        watchfile. Hopefully such tools should not be too hard to write.<br>
      * Bug fixes:<br>
           + Fixed a bug that was causing new files to be created with<br>
             permissions 0x600 instead of using a reasonable default  <br>
(like<br>
             0x644), if the 'perms' flag was set to 0. (Bug reported by<br>
             Ben Crowell.)<br>
           + Follow maxthreads preference when transferring directories.<br>
<br>
</p>
 

    </div>  

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div width="1" style="color: white; clear: both;">__._,_.___</div>

           
  
    
    <!-- Start the section with Message In topic -->
    <div id="ygrp-actbar" style="clear: both; margini-bottom: 25px; \
white-space:nowrap; color: #666; text-align: right;">  <span class="left" \
style="float: left; white-space:nowrap;">  <a \
href="http://groups.yahoo.com/group/unison-announce/message/52;_ylc=X3oDMTMwc2FsNnB1BF \
9TAzk3MzU5NzE0BGdycElkAzE4MTA3OTMEZ3Jwc3BJZAMxNzA1MDA0NzI2BG1zZ0lkAzUyBHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTI0MTU0MjU5OAR0cGNJZAM1Mg--">
                
            Messages in this topic          </a> (<span class="bld" \
style="font-weight:bold;">1</span>)  </span>
        <a href="http://groups.yahoo.com/group/unison-announce/post;_ylc=X3oDMTJubDU4c \
G9xBF9TAzk3MzU5NzE0BGdycElkAzE4MTA3OTMEZ3Jwc3BJZAMxNzA1MDA0NzI2BG1zZ0lkAzUyBHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTI0MTU0MjU5OA--?act=reply&messageNum=52">
  <span class="bld" style="font-weight:bold;">
            Reply          </span> (via web post)
        </a>  | 
        <a href="http://groups.yahoo.com/group/unison-announce/post;_ylc=X3oDMTJlaXM2c \
GRoBF9TAzk3MzU5NzE0BGdycElkAzE4MTA3OTMEZ3Jwc3BJZAMxNzA1MDA0NzI2BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTI0MTU0MjU5OA--" \
class="bld" style="font-weight:bold;">  Start a new topic        </a>
          </div> 
    <!-------     Start Nav Bar  ------>
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-vitnav" style="padding-top: 10px; font-family: Verdana; font-size: \
77%; margin: 0;">  <a \
href="http://groups.yahoo.com/group/unison-announce/messages;_ylc=X3oDMTJlcGJhYXZwBF9T \
Azk3MzU5NzE0BGdycElkAzE4MTA3OTMEZ3Jwc3BJZAMxNzA1MDA0NzI2BHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTI0MTU0MjU5OA--">Messages</a> \
  
        
        
        
        
        
        
    </div>  
    <!-- |**|end egp html banner|**| -->

                
                  <div id="ygrp-mkp">
      <div id="hd">MARKETPLACE</div>
      <div id="ads">
                  <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <a \
href="http://us.ard.yahoo.com/SIG=14kv71df2/M=733250.13416488.13509112.10835568/D=grou \
ps/S=1705004726:MKP1/Y=YAHOO/EXP=1241549798/L=/B=rUodIEPDhEE-/J=1241542598383655/K=I50 \
4fYBItdKAxIYzCbnOZg/A=5687713/R=0/SIG=12ecgaa63/*http://www.socialtrack.net/redir.aspx?CID=18601&AFID=43106&DID=81069&SID=ad2">I'm \
happy I lost my Job. Now I make $12,000/mo online! See how I do it: \
                WealthResource.org.</a>          </div>
                          <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <hr size=1 noshade>
                        <a \
href="http://us.ard.yahoo.com/SIG=14k3ro0m7/M=733250.13416487.13509111.10835568/D=grou \
ps/S=1705004726:MKP1/Y=YAHOO/EXP=1241549798/L=/B=rkodIEPDhEE-/J=1241542598383655/K=I50 \
4fYBItdKAxIYzCbnOZg/A=5710655/R=0/SIG=12g2jn47v/*http://www.socialtrack.net/redir.aspx?CID=18601&AFID=43106&DID=81069&SID=fired">I \
                Got Fired But now make $350/day online!.</a>          </div>
                          <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <hr size=1 noshade>
                        <p><a \
href="http://us.ard.yahoo.com/SIG=14ki164eb/M=493064.12016295.13271503.10835568/D=grou \
ps/S=1705004726:MKP1/Y=YAHOO/EXP=1241549798/L=/B=sEodIEPDhEE-/J=1241542598383655/K=I50 \
4fYBItdKAxIYzCbnOZg/A=5697381/R=0/SIG=11eaa5dke/*http://groups.yahoo.com/group/mompowergroup/">Mom \
Power: Discover the community of moms doing more for their families, for the world \
and for each other</a></p>           </div>  </div>
    </div>
      
    <!-- yahoo logo -->
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-ft" style="font-family: verdana; font-size: 77%; border-top: 1px \
solid #666; padding: 5px 0;">  <a \
href="http://groups.yahoo.com/;_ylc=X3oDMTJkaTM3a3FoBF9TAzk3MzU5NzE0BGdycElkAzE4MTA3OTMEZ3Jwc3BJZAMxNzA1MDA0NzI2BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjQxNTQyNTk4">
                
      <img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" \
height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br>  <a \
href="http://groups.yahoo.com/group/unison-announce/join;_ylc=X3oDMTJmaTJucmlqBF9TAzk3 \
MzU5NzE0BGdycElkAzE4MTA3OTMEZ3Jwc3BJZAMxNzA1MDA0NzI2BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyNDE1NDI1OTg-">Change \
settings via the Web</a> (Yahoo! ID required) <br>  Change settings via email: <a \
href="mailto:unison-announce-digest@yahoogroups.com?subject=Email Delivery: \
Digest">Switch delivery to Daily Digest</a> | <a href = \
"mailto:unison-announce-traditional@yahoogroups.com?subject=Change Delivery Format: \
Traditional">Switch format to Traditional</a> <br>

      <a href="http://groups.yahoo.com/group/unison-announce;_ylc=X3oDMTJkOWkyY2hjBF9T \
Azk3MzU5NzE0BGdycElkAzE4MTA3OTMEZ3Jwc3BJZAMxNzA1MDA0NzI2BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjQxNTQyNTk4">
  Visit Your Group 
      </a> |
      <a href="http://docs.yahoo.com/info/terms/">
        Yahoo! Groups Terms of Use      </a> |
      <a href="mailto:unison-announce-unsubscribe@yahoogroups.com?subject=">
        Unsubscribe      </a> 
    </div>     <!-- |**|end egp html banner|**| -->
  </div> <!-- ygrp-msg -->

  
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px \
0; background: white;">  <!-- Network content -->
    
<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->

	    <!-- Start vitality -->
	    <div id="ygrp-vital" style="background-color: #e0ecee; margin-bottom: 20px; \
                padding: 2px 0 8px 8px;">
	      		<div id="vithd" style="font-size: 77%; font-family: Verdana; font-weight: \
bold; color: #333; text-transform: uppercase;">Recent Activity</div>  <ul \
                style="list-style-type:none; padding: 0; margin: 2px 0;">
		        <li style="clear: both; list-style-type: none; border: 1px solid #e0ecee;">
      <div class="ct" style="float: right; font-weight: bold; color: #ff7900; float: \
right; width: 2em; text-align:right; padding-right: .5em;"><span \
style="display:none">&nbsp;</span>3</div>  <div class="cat" style="font-weight: \
bold;"><a href="http://groups.yahoo.com/group/unison-announce/members;_ylc=X3oDMTJmaXV \
taXJzBF9TAzk3MzU5NzE0BGdycElkAzE4MTA3OTMEZ3Jwc3BJZAMxNzA1MDA0NzI2BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyNDE1NDI1OTg-">New \
Members</a></div>  </li>
  
		    
		    
		    
		    
		    
		</ul>
	      	      <a href="http://groups.yahoo.com/group/unison-announce;_ylc=X3oDMTJlOWo4 \
NnZwBF9TAzk3MzU5NzE0BGdycElkAzE4MTA3OTMEZ3Jwc3BJZAMxNzA1MDA0NzI2BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTI0MTU0MjU5OA--">
  Visit Your Group	      </a>
	    </div> 
	    	    	      
	    <!-- Network content -->
	    	      <div style="background-color:#EEEEEE; margin-bottom:20px; padding:10px \
                8px;">    <div id="nc">
              <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <div id="hd1">Y! Messenger</div> 
<p><a href="http://us.ard.yahoo.com/SIG=14hdb2lb8/M=493064.12016274.12445679.8674578/D \
=groups/S=1705004726:NC/Y=YAHOO/EXP=1241549798/L=/B=skodIEPDhEE-/J=1241542598383655/K= \
I504fYBItdKAxIYzCbnOZg/A=3848584/R=0/SIG=12ceqob45/*http://us.rd.yahoo.com/evt=42403/*http://messenger.yahoo.com/feat_conf.php">Group \
get-together</a></p>  <p>Host a free online</p> 
<p>conference on IM.</p>                  </div>
                    <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <div id="hd1">Search Ads</div> 
<p><a href="http://us.ard.yahoo.com/SIG=14hvbd1n2/M=493064.12016308.12445700.8674578/D \
=groups/S=1705004726:NC/Y=YAHOO/EXP=1241549798/L=/B=s0odIEPDhEE-/J=1241542598383655/K= \
I504fYBItdKAxIYzCbnOZg/A=3848641/R=0/SIG=1312g85fq/*http://searchmarketing.yahoo.com/arp/srchv2.php?o=US2003&cmp=Yahoo&ctv=Groups2&s=Y&s2=&s3=&b=50">Get \
new customers.</a></p>  <p>List your web site</p> 
<p>in Yahoo! Search.</p>                  </div>
                    <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <div id="hd1">Yahoo! Finance</div> 
<p><a href="http://us.ard.yahoo.com/SIG=14htg2fq2/M=493064.12016257.12445664.8674578/D \
=groups/S=1705004726:NC/Y=YAHOO/EXP=1241549798/L=/B=tEodIEPDhEE-/J=1241542598383655/K= \
I504fYBItdKAxIYzCbnOZg/A=4507179/R=0/SIG=12de4rskk/*http://us.rd.yahoo.com/evt=50284/*http://finance.yahoo.com/personal-finance">It's \
Now Personal</a></p>  <p>Guides, news,</p> 
<p>advice & more.</p>                   </div>
          </div>
</div>
	    
	  </div> 	  <!-- |**|end egp html banner|**| -->
	  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
	</div> 		  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=1810793/grpspId=1705004726/msgId=52/stime=1241542598/nc1=3848584/nc2=3848641/nc3=4507179" \
width="1" height="1"> <br>  
	<div style="color: white; clear: both;">__,_._,___</div>
	<!--~-|**|PrettyHtmlEnd|**|-~-->
	</body>
	<!--~-|**|PrettyHtmlStart|**|-~-->
	<head>
<style type="text/css">
<!--
#ygrp-mkp{
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 14px 0px;
  padding: 0px 14px;
}
#ygrp-mkp hr{
  border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd{
  color: #628c2a;
  font-size: 85%;
  font-weight: bold;
  line-height: 122%;
  margin: 10px 0px;
}
#ygrp-mkp #ads{
  margin-bottom: 10px;
}
#ygrp-mkp .ad{
  padding: 0 0;
}
#ygrp-mkp .ad a{
  color: #0000ff;
  text-decoration: none;
}
-->
</style>
</head>
	<head>
<style type="text/css">
<!--
#ygrp-sponsor #ygrp-lc{
  font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd{
  margin: 10px 0px;
  font-weight: bold;
  font-size: 78%;
  line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad{
  margin-bottom: 10px;
  padding: 0 0;
}
-->
</style>
</head>
	<head>
	<style type="text/css">
	<!--
	#ygrp-mlmsg {font-size:13px; font-family: \
arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}  #ygrp-mlmsg table \
{font-size:inherit;font:100%;}  #ygrp-mlmsg select, input, textarea {font:99% \
arial,helvetica,clean,sans-serif;}  #ygrp-mlmsg pre, code {font:115% \
monospace;*font-size:100%;}  #ygrp-mlmsg * {line-height:1.22em;}
	#ygrp-text{
	    font-family: Georgia;	
	}
	#ygrp-text p{
	    margin: 0 0 1em 0;
	}

	dd.last p a {
          font-family: Verdana;
          font-weight: bold;
	}

	#ygrp-vitnav{
		padding-top: 10px;
		font-family: Verdana;
		font-size: 77%;
		margin: 0;
	}
	#ygrp-vitnav a{
		padding: 0 1px;
	}
	#ygrp-mlmsg #logo{
	  padding-bottom: 10px;
	}

	#ygrp-reco {
	margin-bottom: 20px;
	padding: 0px;
	}
	#ygrp-reco #reco-head {
		font-weight: bold;
		color: #ff7900;
	}

	#reco-category{
        	font-size: 77%;
	}
	#reco-desc{
        	font-size: 77%;
	}

	#ygrp-vital a{
		text-decoration: none;
	}

	#ygrp-vital a:hover{
	  text-decoration: underline;
	}

	#ygrp-sponsor #ov ul{
		padding: 0 0 0 8px;
		margin: 0;
	}
	#ygrp-sponsor #ov li{
		list-style-type: square;
		padding: 6px 0;
		font-size: 77%;
	}
	#ygrp-sponsor #ov li a{
		text-decoration: none;
		font-size: 130%;
	}
	#ygrp-sponsor #nc{
	  background-color: #eee;
	  margin-bottom: 20px;
	  padding: 0 8px;
	}
	#ygrp-sponsor .ad{
		padding: 8px 0;
	}
	#ygrp-sponsor .ad #hd1{
		font-family: Arial;
		font-weight: bold;
		color: #628c2a;
		font-size: 100%;
		line-height: 122%;
	}
	#ygrp-sponsor .ad a{
		text-decoration: none;
	}
	#ygrp-sponsor .ad a:hover{
		text-decoration: underline;
	}
	#ygrp-sponsor .ad p{
		margin: 0;
		font-weight: normal;
		color: #000000;
	}
	o{font-size: 0; }
	.MsoNormal{
	   margin: 0 0 0 0;
	}
	#ygrp-text tt{
	  font-size: 120%;
	}
	blockquote{margin: 0 0 0 4px;}
	.replbq{margin:4}

dd.last p span {
  margin-right: 10px;
  font-family: Verdana;
  font-weight: bold;
}

dd.last p span.yshortcuts {
  margin-right: 0;
}

div.photo-title a,
div.photo-title a:active,
div.photo-title a:hover,
div.photo-title a:visited {
    text-decoration: none;
}

div.file-title a,
div.file-title a:active,
div.file-title a:hover,
div.file-title a:visited {
    text-decoration: none;
}

#ygrp-msg p#attach-count {
    clear: both;
    padding: 15px 0 3px 0;
    overflow: hidden;
}

#ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: bold;
}

div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
}

#ygrp-msg p a {
    font-family: Verdana;
    font-size: 10px;
}

#ygrp-mlmsg a {
    color: #1E66AE;
}

div.attach-table div div a {
    text-decoration: none;
}

div.attach-table {
    width: 400px;
}

	-->
	</style>
	</head>
	<!--~-|**|PrettyHtmlEnd|**|-~-->
	</html><!--End group email -->



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic