Book Reviews: "Programming Pearls", "More Programming Pearls" and "The Algorithm Design Manual"

Shlomi Fish <shlomif-ik1l9ssToec+JF/[email protected]> Wed, 8 Dec 2010 23:34:22 +0200
Newsgroups gmane.culture.hackers.israel
Message-ID <[email protected]>
--pmpaMNlHLc2G6arCskd9PPkCDMKcmkONZCyZNGK
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 7bit

Hi all,

in this message I will review three programming books that I've read lately:

* Programming Pearls, 2nd Edition.
* More Programming Pearls (1st and only edition so far).
* The Algorithm Design Manual

so without further ado, here are the book reviews:

1. Programming Pearls, 2nd edition:
-----------------------------------

[info]
* Author: Jon Bentley ( http://en.wikipedia.org/wiki/Jon_Bentley ).

* Book homepage: http://www.cs.bell-labs.com/cm/cs/pearls/ .

* On Amazon:

http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880

* 2nd edition published on 1999.
[/info]

I've heard this book mentioned in several places before buying it and reading
it and it did not disappoint me. This book is absolutely great, with
interesting coverage of interesting programming and computer-science related 
topics. It has an extensive discussion of optimising code, which I could
appreciate, being very interested in it (see:
http://en.wikibooks.org/wiki/Optimizing_Code_for_Speed ), and lots of other
interesting stuff. The second edition was updated for modern times, and feels
quite fresh.

Bentley mentions in the book that he has written a book called "Writing
Efficient Programs" which is now out-of-print with some techniques for
optimising code, and I was saddened to hear that it is indeed out-of-print,
because I'd like to read it. He does give a summary of the book in an 
appendix,
though.

The book contains many exercises, which I've mentally thought about most, but
did not actually solve using the computer. But otherwise, I enjoyed reading 
this
book and can wholeheartedly recommend it.

2. More Programming Pearls:
---------------------------

[info]
* Author: Jon Bentley ( http://en.wikipedia.org/wiki/Jon_Bentley ).

* Book homepage: http://www.cs.bell-labs.com/cm/cs/pearls/ .

* On Amazon:

http://www.amazon.com/More-Programming-Pearls-Confessions-Coder/dp/0201118890

* 1st and only edition published on 1988.
[/info]

A fellow Perl programmer bought me this book as a birthday present from my 
Amazon.com wishlist because I put it there out of wishing to read the followup
to the previous book in the series which I enjoyed. However, this book failed
to meet my expectations, and I found it disappointing.

It does not have the same focus on topics that interest me and instead 
contains
many different topics. While not being completely bad, it fails to live up
to the promise of the previous book, and I cannot really recommend it. The
book is also showing its age.

The book page on Amazon.com contains a single 3-star review for "More
Programming Pearls" which kinda summarises my feelings.

3. The Algorithm Design Manual:
-------------------------------

[info]
* Author: Steven Skiena .

* Book homepage: http://www.algorist.com/ .

* On Amazon:

http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/

* 2nd edition published on 1988.
[/info]

I received this book as an Amazon.com gift, after I placed it
on my wishlist by inspiration from that of someone else. For some reason, it
was sent to an old address of ours, which caused some confusion because
I did not recall ordering it. But eventually I realised what happened.

Based on the cover of the book, and its title, I got a somewhat different
idea of what it would be about than what it really was, and thought it would
be very technical and formal. However, this preconception was dis-spelled 
shortly after I started reading it. In fact, the book is quite offbeat, 
without
too many rigorous proofs.

The book is split into two parts. In the first one, we are given an overview
of the theory behind algorithms with a lot of sample code in C, and with
some "take home lessons", detailed "war stories", where the author explains
how he implemented the topics covered in his work as a professor and algorithm
designer, some exercises, and an accessible coverage of the subject. Some
topics I liked there was the coverage of simulated annealing, his explanation
of why he found genetic algorithms lacking, and the coverage of back tracking,
all of which were missing from my formal computer science education.

The second part of the book was nicknamed "The Hitchhiker's Guide to
Algorithms" and provides an overview of the various algorithms and their
implementations available for the various algorithmic objectives. While also
good and enlightening, my only qualm is that it took me a long time to read,
and by that time, felt the first part of the book was a distant memory.

Still, this is a good book with good coverage of the subject of algorithmics.
I can recommend it.

==================

I'll be happy to answer any questions you have.

Regards,

	Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
Funny Anti-Terrorism Story - http://shlom.in/enemy

<rindolf> She's a hot chick. But she smokes.
<go|dfish> She can smoke as long as she's smokin'.

Please reply to list if it's a mailing list post - http://shlom.in/reply .

--pmpaMNlHLc2G6arCskd9PPkCDMKcmkONZCyZNGK
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit




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







<body style="background-color: #fff;">
<span style="display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
  <div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
      
      
      <p>Hi all,<br>
<br>
in this message I will review three programming books that I've read lately:<br>
<br>
* Programming Pearls, 2nd Edition.<br>
* More Programming Pearls (1st and only edition so far).<br>
* The Algorithm Design Manual<br>
<br>
so without further ado, here are the book reviews:<br>
<br>
1. Programming Pearls, 2nd edition:<br>
-----------------------------------<br>
<br>
[info]<br>
* Author: Jon Bentley ( <a href="http://en.wikipedia.org/wiki/Jon_Bentley">http://en.wikipedia.org/wiki/Jon_Bentley</a> ).<br>
<br>
* Book homepage: <a href="http://www.cs.bell-labs.com/cm/cs/pearls/">http://www.cs.bell-labs.com/cm/cs/pearls/</a> .<br>
<br>
* On Amazon:<br>
<br>
<a href="http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880">http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880</a><br>
<br>
* 2nd edition published on 1999.<br>
[/info]<br>
<br>
I've heard this book mentioned in several places before buying it and reading<br>
it and it did not disappoint me. This book is absolutely great, with<br>
interesting coverage of interesting programming and computer-science related <br>
topics. It has an extensive discussion of optimising code, which I could<br>
appreciate, being very interested in it (see:<br>
<a href="http://en.wikibooks.org/wiki/Optimizing_Code_for_Speed">http://en.wikibooks.org/wiki/Optimizing_Code_for_Speed</a> ), and lots of other<br>
interesting stuff. The second edition was updated for modern times, and feels<br>
quite fresh.<br>
<br>
Bentley mentions in the book that he has written a book called &quot;Writing<br>
Efficient Programs&quot; which is now out-of-print with some techniques for<br>
optimising code, and I was saddened to hear that it is indeed out-of-print,<br>
because I'd like to read it. He does give a summary of the book in an <br>
appendix,<br>
though.<br>
<br>
The book contains many exercises, which I've mentally thought about most, but<br>
did not actually solve using the computer. But otherwise, I enjoyed reading <br>
this<br>
book and can wholeheartedly recommend it.<br>
<br>
2. More Programming Pearls:<br>
---------------------------<br>
<br>
[info]<br>
* Author: Jon Bentley ( <a href="http://en.wikipedia.org/wiki/Jon_Bentley">http://en.wikipedia.org/wiki/Jon_Bentley</a> ).<br>
<br>
* Book homepage: <a href="http://www.cs.bell-labs.com/cm/cs/pearls/">http://www.cs.bell-labs.com/cm/cs/pearls/</a> .<br>
<br>
* On Amazon:<br>
<br>
<a href="http://www.amazon.com/More-Programming-Pearls-Confessions-Coder/dp/0201118890">http://www.amazon.com/More-Programming-Pearls-Confessions-Coder/dp/0201118890</a><br>
<br>
* 1st and only edition published on 1988.<br>
[/info]<br>
<br>
A fellow Perl programmer bought me this book as a birthday present from my <br>
Amazon.com wishlist because I put it there out of wishing to read the followup<br>
to the previous book in the series which I enjoyed. However, this book failed<br>
to meet my expectations, and I found it disappointing.<br>
<br>
It does not have the same focus on topics that interest me and instead <br>
contains<br>
many different topics. While not being completely bad, it fails to live up<br>
to the promise of the previous book, and I cannot really recommend it. The<br>
book is also showing its age.<br>
<br>
The book page on Amazon.com contains a single 3-star review for &quot;More<br>
Programming Pearls&quot; which kinda summarises my feelings.<br>
<br>
3. The Algorithm Design Manual:<br>
-------------------------------<br>
<br>
[info]<br>
* Author: Steven Skiena .<br>
<br>
* Book homepage: <a href="http://www.algorist.com/">http://www.algorist.com/</a> .<br>
<br>
* On Amazon:<br>
<br>
<a href="http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/">http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/</a><br>
<br>
* 2nd edition published on 1988.<br>
[/info]<br>
<br>
I received this book as an Amazon.com gift, after I placed it<br>
on my wishlist by inspiration from that of someone else. For some reason, it<br>
was sent to an old address of ours, which caused some confusion because<br>
I did not recall ordering it. But eventually I realised what happened.<br>
<br>
Based on the cover of the book, and its title, I got a somewhat different<br>
idea of what it would be about than what it really was, and thought it would<br>
be very technical and formal. However, this preconception was dis-spelled <br>
shortly after I started reading it. In fact, the book is quite offbeat, <br>
without<br>
too many rigorous proofs.<br>
<br>
The book is split into two parts. In the first one, we are given an overview<br>
of the theory behind algorithms with a lot of sample code in C, and with<br>
some &quot;take home lessons&quot;, detailed &quot;war stories&quot;, where the author explains<br>
how he implemented the topics covered in his work as a professor and algorithm<br>
designer, some exercises, and an accessible coverage of the subject. Some<br>
topics I liked there was the coverage of simulated annealing, his explanation<br>
of why he found genetic algorithms lacking, and the coverage of back tracking,<br>
all of which were missing from my formal computer science education.<br>
<br>
The second part of the book was nicknamed &quot;The Hitchhiker's Guide to<br>
Algorithms&quot; and provides an overview of the various algorithms and their<br>
implementations available for the various algorithmic objectives. While also<br>
good and enlightening, my only qualm is that it took me a long time to read,<br>
and by that time, felt the first part of the book was a distant memory.<br>
<br>
Still, this is a good book with good coverage of the subject of algorithmics.<br>
I can recommend it.<br>
<br>
==================<br>
<br>
I'll be happy to answer any questions you have.<br>
<br>
Regards,<br>
<br>
	Shlomi Fish<br>
<br>
-- <br>
----------------------------------------------------------<br>
Shlomi Fish       <a href="http://www.shlomifish.org/">http://www.shlomifish.org/</a><br>
Funny Anti-Terrorism Story - <a href="http://shlom.in/enemy">http://shlom.in/enemy</a><br>
<br>
&lt;rindolf&gt; She's a hot chick. But she smokes.<br>
&lt;go|dfish&gt; She can smoke as long as she's smokin'.<br>
<br>
Please reply to list if it's a mailing list post - <a href="http://shlom.in/reply">http://shlom.in/reply</a> .<br>
</p>

    </div>
     

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style="color: #fff; height: 0;">__._,_.___</div>

        
  
   
    <div id="ygrp-actbar" style="clear: both; margin-bottom: 10px; white-space: nowrap; color: #666; padding-top: 15px;">
      <div>
        <a href="mailto:shlomif-ik1l9ssToec+JF/[email protected]?subject=Re%3A%20Book%20Reviews%3A%20%22Programming%20Pearls%22%2C%20%22More%20Programming%20Pearls%22%20and%20%22The%20Algorithm%20Design%20Manual%22" style="margin-right: 0; padding-right: 0;">
	  Reply to <span style="font-weight: 700;">sender</span></a> |
        <a href="mailto:[email protected]?subject=Re%3A%20Book%20Reviews%3A%20%22Programming%20Pearls%22%2C%20%22More%20Programming%20Pearls%22%20and%20%22The%20Algorithm%20Design%20Manual%22">
	  Reply to <span style="font-weight: 700;">group</span></a> |
        	  <a href="http://groups.yahoo.com/group/hackers-il/post;_ylc=X3oDMTJwNWdsb3I2BF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzUxMzkEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMjkxODQ0MTc3?act=reply&messageNum=5139">Reply <span style="font-weight: 700;">via web post</span></a> |
            	<a href="http://groups.yahoo.com/group/hackers-il/post;_ylc=X3oDMTJlOHZnNXF2BF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTI5MTg0NDE3Nw--" style="font-weight: 700;">Start a New Topic</a>
      </div>

                <a href="http://groups.yahoo.com/group/hackers-il/message/5139;_ylc=X3oDMTM0ZnRuZjJyBF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzUxMzkEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMjkxODQ0MTc3BHRwY0lkAzUxMzk-">Messages in this topic</a>
          (<span style="font-weight: 700;">1</span>)
          </div> 
<!------- Start Nav Bar ------>

<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #e0ecee; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">
      <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; ">Recent Activity:</span>

    <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
            <li style="border-right: 1px solid #000; font-weight: 700; display: inline; padding: 0 5px; margin-left: 0;">
      <span class="cat"><a href="http://groups.yahoo.com/group/hackers-il/members;_ylc=X3oDMTJmMXVkYzUzBF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyOTE4NDQxNzc-?o=6" style="text-decoration: none;">New Members</a></span>
      <span class="ct" style="color: #ff7900;">1</span>
    </li>
                                              </ul>
    
  <div style="clear: both; padding-top: 2px; color: #1e66ae;">
    <a href="http://groups.yahoo.com/group/hackers-il;_ylc=X3oDMTJlam50cGtoBF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTI5MTg0NDE3Nw--" style="text-decoration: none;">Visit Your Group</a>
  </div>
</div>

              <div id="ygrp-mkp" style="border: 1px solid #d8d8d8; clear: both; float: left; font-family: Arial; margin: 5px 0 10px 0; padding: 0 10px;">
      <div id="hd" style="color: #628c2a; font-size: 85%; font-weight: 700; line-height: 122%; margin: 10px 0;">MARKETPLACE</div>
      <div id="ads" style="margin-bottom: 10px;">
                  <div class="ad" style="color: #628C2A; font-family: Arial; font-weight: 700; padding: 0 0;">
            <p><a href="http://global.ard.yahoo.com/SIG=15o6evuas/M=493064.13814537.14041040.10835568/D=groups/S=1705006764:MKP1/Y=YAHOO/EXP=1291851378/L=312d0234-0313-11e0-ba23-cf405b961e7a/B=NobDCmKImkg-/J=1291844178549684/K=oIdPX0q1dV4wiBjHB.P5fQ/A=6078812/R=0/SIG=114ae4ln1/*http://dogandcatanswers.yahoo.com/">Get great advice about dogs and cats.  Visit the Dog & Cat Answers Center.</a></p><script language=javascript>
if(window.yzq_d==null)window.yzq_d=new Object();
window.yzq_d['NobDCmKImkg-']='&U=13c9sr6bp%2fN%3dNobDCmKImkg-%2fC%3d493064.13814537.14041040.10835568%2fD%3dMKP1%2fB%3d6078812%2fV%3d1';
</script><noscript><img width=1 height=1 alt="" src="http://us.bc.yahoo.com/b?P=312d0234-0313-11e0-ba23-cf405b961e7a&T=1d9fisuvv%2fX%3d1291844178%2fE%3d1705006764%2fR%3dgroups%2fK%3d5%2fV%3d2.1%2fW%3dH%2fY%3dYAHOO%2fF%3d1477308187%2fH%3dY29udGVudD0iR287UG9kY2FzdHM7V2Vic2l0ZV9TZXJ2aWNlcztXaWRnZXRzO1lhaG9vX1NlYXJjaF9NYXJrZXRpbmc7RmxpY2tyO0JyaWVmY2FzZTtGaW5hbmNlO0Jvb2ttYXJrO01vYmlsZTsiIGRpc2FibGVzaHVmZmxpbmc9IjEiIHNlcnZlSWQ9IjMxMmQwMjM0LTAzMTMtMTFlMC1iYTIzLWNmNDA1Yjk2MWU3YSIgc2l0ZUlkPSI0NDUyNTUxIiB0U3RtcD0iMTI5MTg0NDE3ODU0MTIyOCIg%2fQ%3d-1%2fS%3d1%2fJ%3d3B5EC442&U=13c9sr6bp%2fN%3dNobDCmKImkg-%2fC%3d493064.13814537.14041040.10835568%2fD%3dMKP1%2fB%3d6078812%2fV%3d1"></noscript>          </div>
                          <div class="ad" style="color: #628C2A; font-family: Arial; font-weight: 700; padding: 0 0;">
                          <hr style="border: 1px solid #d8d8d8;">
                        <p><a href="http://global.ard.yahoo.com/SIG=15ojiuakb/M=493064.13983314.14041046.13298430/D=groups/S=1705006764:MKP1/Y=YAHOO/EXP=1291851378/L=312d0234-0313-11e0-ba23-cf405b961e7a/B=NYbDCmKImkg-/J=1291844178549684/K=oIdPX0q1dV4wiBjHB.P5fQ/A=6060255/R=0/SIG=1194m4keh/*http://us.toolbar.yahoo.com/?.cpdl=grpj">Stay on top of your group activity without leaving the page you're on - Get the Yahoo! Toolbar now.</a></p> <script language=javascript>
if(window.yzq_d==null)window.yzq_d=new Object();
window.yzq_d['NYbDCmKImkg-']='&U=13cshf597%2fN%3dNYbDCmKImkg-%2fC%3d493064.13983314.14041046.13298430%2fD%3dMKP1%2fB%3d6060255%2fV%3d1';
</script><noscript><img width=1 height=1 alt="" src="http://us.bc.yahoo.com/b?P=312d0234-0313-11e0-ba23-cf405b961e7a&T=1d9m6j7gq%2fX%3d1291844178%2fE%3d1705006764%2fR%3dgroups%2fK%3d5%2fV%3d2.1%2fW%3dH%2fY%3dYAHOO%2fF%3d1542214783%2fH%3dY29udGVudD0iR287UG9kY2FzdHM7V2Vic2l0ZV9TZXJ2aWNlcztXaWRnZXRzO1lhaG9vX1NlYXJjaF9NYXJrZXRpbmc7RmxpY2tyO0JyaWVmY2FzZTtGaW5hbmNlO0Jvb2ttYXJrO01vYmlsZTsiIGRpc2FibGVzaHVmZmxpbmc9IjEiIHNlcnZlSWQ9IjMxMmQwMjM0LTAzMTMtMTFlMC1iYTIzLWNmNDA1Yjk2MWU3YSIgc2l0ZUlkPSI0NDUyNTUxIiB0U3RtcD0iMTI5MTg0NDE3ODU0MTIyOCIg%2fQ%3d-1%2fS%3d1%2fJ%3d3B5EC442&U=13cshf597%2fN%3dNYbDCmKImkg-%2fC%3d493064.13983314.14041046.13298430%2fD%3dMKP1%2fB%3d6060255%2fV%3d1"></noscript>          </div>
                          <div class="ad" style="color: #628C2A; font-family: Arial; font-weight: 700; padding: 0 0;">
                          <hr style="border: 1px solid #d8d8d8;">
                        <p><a href="http://global.ard.yahoo.com/SIG=15o5699ou/M=493064.14012770.13963757.13298430/D=groups/S=1705006764:MKP1/Y=YAHOO/EXP=1291851378/L=312d0234-0313-11e0-ba23-cf405b961e7a/B=N4bDCmKImkg-/J=1291844178549684/K=oIdPX0q1dV4wiBjHB.P5fQ/A=6015306/R=0/SIG=11vlkvigg/*http://advision.webevents.yahoo.com/hobbiesandactivitieszone/">Hobbies & Activities Zone: Find others who share your passions! Explore new interests.</a></p><script language=javascript>
if(window.yzq_d==null)window.yzq_d=new Object();
window.yzq_d['N4bDCmKImkg-']='&U=13c7alm3q%2fN%3dN4bDCmKImkg-%2fC%3d493064.14012770.13963757.13298430%2fD%3dMKP1%2fB%3d6015306%2fV%3d1';
</script><noscript><img width=1 height=1 alt="" src="http://us.bc.yahoo.com/b?P=312d0234-0313-11e0-ba23-cf405b961e7a&T=1d92t76fo%2fX%3d1291844178%2fE%3d1705006764%2fR%3dgroups%2fK%3d5%2fV%3d2.1%2fW%3dH%2fY%3dYAHOO%2fF%3d2698296108%2fH%3dY29udGVudD0iR287UG9kY2FzdHM7V2Vic2l0ZV9TZXJ2aWNlcztXaWRnZXRzO1lhaG9vX1NlYXJjaF9NYXJrZXRpbmc7RmxpY2tyO0JyaWVmY2FzZTtGaW5hbmNlO0Jvb2ttYXJrO01vYmlsZTsiIGRpc2FibGVzaHVmZmxpbmc9IjEiIHNlcnZlSWQ9IjMxMmQwMjM0LTAzMTMtMTFlMC1iYTIzLWNmNDA1Yjk2MWU3YSIgc2l0ZUlkPSI0NDUyNTUxIiB0U3RtcD0iMTI5MTg0NDE3ODU0MTIyOCIg%2fQ%3d-1%2fS%3d1%2fJ%3d3B5EC442&U=13c7alm3q%2fN%3dN4bDCmKImkg-%2fC%3d493064.14012770.13963757.13298430%2fD%3dMKP1%2fB%3d6015306%2fV%3d1"></noscript>          </div>
              </div>
    </div>
  
<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
  <a href="http://groups.yahoo.com/;_ylc=X3oDMTJkZW51dXYxBF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjkxODQ0MTc3" style="float: left;"><img src="http://l.yimg.com/a/i/us/yg/logo/us.gif" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
  <div style="color: #747575; float: right;">Switch to: <a href="mailto:[email protected]?subject=Change Delivery Format: Traditional" style="text-decoration: none;">Text-Only</a>, <a href="mailto:[email protected]?subject=Email Delivery: Digest" class="margin-rt" style="text-decoration: none;">Daily Digest</a> &bull; <a href="mailto:[email protected]?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> &bull; <a href="http://docs.yahoo.com/info/terms/" style="text-decoration: none;">Terms of Use</a></div>
</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: #fff;">

<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->



  </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=1857332/grpspId=1705006764/msgId=5139/stime=1291844177/nc1=3848642/nc2=5741392/nc3=4507179" width="1" height="1"> <br>

<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  a {
    color: #1e66ae;
  }

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

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

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
  
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

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

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

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

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

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

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

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

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

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

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

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

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #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-mlmsg #logo {
    padding-bottom: 10px;
  }

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

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

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

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


--pmpaMNlHLc2G6arCskd9PPkCDMKcmkONZCyZNGK--