Commits

Anonymous committed 2018229

Converted the book recommendations to the XML format.

Comments (0)

Files changed (25)

 T2_DOCS_SRC = $(patsubst $(T2_DEST)/%,$(T2_SRC_DIR)/%.wml,$(T2_DOCS_DEST))
 VIPE_DOCS_SRC = $(patsubst $(VIPE_DEST)/%,$(VIPE_SRC_DIR)/%.wml,$(VIPE_DOCS_DEST))
 
-T2_PHILOSOPHY_DOCS_SRC = $(filter-out $(T2_SRC_DIR)/philosophy/Index/%,$(filter $(T2_SRC_DIR)/philosophy/%,$(T2_DOCS_SRC))) $(filter $(T2_SRC_DIR)/prog-evolution/%,$(T2_DOCS_SRC))
+T2_PHILOSOPHY_DOCS_SRC = $(filter-out $(T2_SRC_DIR)/philosophy/books-recommends/%,$(filter-out $(T2_SRC_DIR)/philosophy/Index/%,$(filter $(T2_SRC_DIR)/philosophy/%,$(T2_DOCS_SRC))) $(filter $(T2_SRC_DIR)/prog-evolution/%,$(T2_DOCS_SRC)))
 
 $(T2_PHILOSOPHY_DOCS_SRC):: $(T2_SRC_DIR)/%.wml: $(PHILOSOPHY_DEPS)
 	touch $@
 PROD_SYND_MUSIC_DIR = lib/prod-synd/music
 PROD_SYND_MUSIC_INC = $(PROD_SYND_MUSIC_DIR)/include-me.html
 
+PROD_SYND_NON_FICTION_BOOKS_DIR = lib/prod-synd/non-fiction-books
+PROD_SYND_NON_FICTION_BOOKS_INC = $(PROD_SYND_NON_FICTION_BOOKS_DIR)/include-me.html
+
 $(T2_SRC_DIR)/art/recommendations/music/index.html.wml : $(PROD_SYND_MUSIC_INC)
 	touch $@
 
 	svn add -q t2/art/recommendations/music/images/*.jpg
 	$(MAKE)
 
+$(T2_SRC_DIR)/philosophy/books-recommends/index.html.wml : $(PROD_SYND_NON_FICTION_BOOKS_INC)
+	touch $@
+
+$(PROD_SYND_NON_FICTION_BOOKS_INC) : $(PROD_SYND_NON_FICTION_BOOKS_DIR)/gen-prod-synd.pl $(T2_SRC_DIR)/philosophy/books-recommends/shlomi-fish-non-fiction-books-recommendations.xml
+	perl $<
+	./gen-helpers.pl
+	svn add -q t2/philosophy/books-recommends/images/*.jpg
+	$(MAKE)
+
 %.show:
 	@echo "$* = $($*)"
 

bin/old/convert-books-recommend-html-to-xml.pl

+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use IO::All;
+
+my @lines = io()->file("old-index.html.temp.wml")->slurp();
+
+my $line_idx = 0;
+sub get_line
+{
+    return $lines[$line_idx++];
+}
+my $line;
+
+while ($line = get_line())
+{
+    if ($line =~ s/^\s*<dt id="([^"]*)">//)
+    {
+        my $id = $1;
+        my $asin;
+        if ($line =~ s{^<a href="http://www.amazon.com/.*?ASIN/(\w+)&amp;[^"]*">}{})
+        {
+            $asin = $1;
+        }
+        elsif ($line =~ s{^<a href="<affil_link id="([^"]+)" */? *>">}{})
+        {
+            $asin = $1;
+        }
+        else
+        {
+            die "Unknown formatting [link] at Line $line_idx\n";
+        }
+        my $title;
+        my $author;
+        if ($line =~ s{^(.*?)</a>\s*-?\s*by (.*?)</dt>\s*$}{})
+        {
+            $title = $1;
+            $author = $2;
+        }
+        else
+        {
+            die "Unknown formatting [author/title] at Line $line_idx\n";
+        }
+        my $desc = "";
+        while ($line = get_line())
+        {
+            if ($line =~ s{^\s*<dd>}{})
+            {
+                $desc .= $line;
+                while ($line = get_line())
+                {
+                    if ($line =~ s{\s*</dd>$}{})
+                    {
+                        $desc .= $line;
+                        last;
+                    }
+                    $desc .= $line;
+                }
+                last;
+            }
+        }
+        if ($desc !~ /<p>/)
+        {
+            $desc = "<p>\n$desc\n</p>\n";
+        }
+
+        print <<"EOF";
+<prod id="$id">
+    <title>$title</title>
+    <isbn>$asin</isbn>
+    <creator type="author">$author</creator>
+    <desc>
+$desc
+    </desc>
+</prod>
+EOF
+
+    }
+}

lib/prod-synd/non-fiction-books/gen-prod-synd.pl

+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use XML::Grammar::ProductsSyndication;
+
+use XML::LibXML::XPathContext;
+
+my $wml_dir = "t2/philosophy/books-recommends";
+my $lib_dir = "lib/prod-synd/non-fiction-books";
+my $ps = XML::Grammar::ProductsSyndication->new(
+    {
+        'source' =>
+        {
+            'file' => "$wml_dir/shlomi-fish-non-fiction-books-recommendations.xml",
+        }
+    },
+);
+
+if (!$ps->is_valid())
+{
+    die "Not valid.";
+}
+my $xml = $ps->transform_into_html({ 'output' => "xml" });
+
+my $xc = XML::LibXML::XPathContext->new($xml);
+$xc->registerNs('html' => "http://www.w3.org/1999/xhtml");
+
+open my $out, ">", "$lib_dir/include-me.html";
+binmode $out, ":utf8";
+print {$out} $xc->findnodes('/html:html/html:body/html:div')->[0]->toString(0);
+close ($out);
+
+$ps->update_cover_images(
+    {
+        'size' => "l",
+        'resize_to' => { 'width' => 150, 'height' => 250 },
+        'name_cb' => 
+            sub 
+            {
+                my $args = shift;
+                return "$wml_dir/images/$args->{id}.jpg";
+            },
+        'amazon_token' => "0VRRHTFJECHSKYNYD282",
+        'amazon_associate' => "shlomifishhom-20",
+    }
+);
+
+1;
+

t2/philosophy/books-recommends/images/art_of_unix_programming.jpg

Added
New image

t2/philosophy/books-recommends/images/bicameral_mind.jpg

Added
New image

t2/philosophy/books-recommends/images/cathedral_bazaar.jpg

Added
New image

t2/philosophy/books-recommends/images/computation_structures.jpg

Added
New image

t2/philosophy/books-recommends/images/design_of_everyday_things.jpg

Added
New image

t2/philosophy/books-recommends/images/feeling_good.jpg

Added
New image

t2/philosophy/books-recommends/images/guns_germs_and_steel.jpg

Added
New image

t2/philosophy/books-recommends/images/higher_order_perl.jpg

Added
New image

t2/philosophy/books-recommends/images/innumeracy.jpg

Added
New image

t2/philosophy/books-recommends/images/mastering_algos_with_perl.jpg

Added
New image

t2/philosophy/books-recommends/images/mythical_man_month.jpg

Added
New image

t2/philosophy/books-recommends/images/perl_journal_vol_1.jpg

Added
New image

t2/philosophy/books-recommends/images/perl_journal_vol_3.jpg

Added
New image

t2/philosophy/books-recommends/images/porting_unix_software.jpg

Added
New image

t2/philosophy/books-recommends/images/programming_perl.jpg

Added
New image

t2/philosophy/books-recommends/images/qmail_handbook.jpg

Added
New image

t2/philosophy/books-recommends/images/sicp.jpg

Added
New image

t2/philosophy/books-recommends/images/svg_programming.jpg

Added
New image

t2/philosophy/books-recommends/images/ui_design_for_programmers.jpg

Added
New image

t2/philosophy/books-recommends/index.html.wml

-#include '../template.wml'
-
-#include "amazon.wml"
-
-;;; To add:
-
-;;; Not to add:
-;;; * Writing Perl Modules for CPAN
-
-<latemp_subject "Shlomi Fish' Book Recommendations" />
-
-<h2>Introduction</h2>
-
-<p>
-This is a list of books I have read and can recommend. At the moment, it is
-focused on non-fiction, but I hope to add fiction later on in a different
-section.
-</p>
-
-<p>
-So if you're looking for a good book to read, and are desperate enough to
-take my advice (☺), look no further than here. Happy reading!
-</p>
-
-<ul>
-<li>
-<a href="#most_influential_non_fiction">My Most Influential
-Non-fiction Books</a>
-</li>
-<li>
-<a href="#other_non_fiction">Other Good Non-Fiction Books</a><br />
-<ul>
-<li>
-<a href="#non_technical_books">Non-technical Books</a><br />
-</li>
-<li>
-<a href="#technical_books">Technical Books</a><br />
-</li>
-</ul>
-</li>
-</ul>
-
-<h2>The List Itself</h2>
-
-<h3 id="most_influential_non_fiction">My Most Influential Books (in Chronological Order)</h3>
-
-<p>
-This is a list of the four or so books that I found the most influential
-on my thinking. It is given here in the chronological order in which I 
-read them.
-</p>
-
-<dl class="books">
-
-<dt id="innumeracy"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0809058405&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Innumeracy - Mathematical Illiteracy and its Consequences</a> by John Allen Paulus
-</dt>
-<dd>
-<p>
-This is a great book about how the fact that people don't understand
-Mathematics or don't apply it well leads to various side-effects, such as
-believing in superstition, irrational fears, or mis-approximations.
-</p>
-</dd>
-
-<dt id="neo_tech_discovery">The Neo-Tech Discovery by Frank R. Wallace and others</dt>
-<dd>
-<p>
-This book is not available in book stores, but I believe it may be ordered by
-mail order by requesting a catalog 
-<a href="http://www.neo-tech.com/">from the Neo-Tech site</a>. It is also
-available online as <a href="http://www.neo-tech.com/neotech/advantages/">the
-Neo-Tech Advantages</a> and the 
-<a href="http://www.neo-tech.com/neotech/discovery/">the Selected Portions
-from the Neo-Tech Discovery</a>.
-</p>
-<p>
-This is the most influential book I ever read. Neo-Tech is an extension and
-re-organization of 
-<a href="http://en.wikipedia.org/wiki/Objectivist_philosophy">Ayn 
-Rand's Objectivism</a>, that also integrates 
-Psychology, Business Practices, Science and other fields. After reading and 
-integrating this book, one can throw away all the mental garbage that prevents 
-growth, and no longer be influenced by various fallacies you constantly hear
-and believe in.
-</p>
-<p>
-Reading this document will make your mind think more clearly about the facts
-of human existence, and remove any unnecessary guilt you have.
-</p>
-</dd>
-
-<dt id="feeling_good"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0380810336&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Feeling Good: The New Mood Therapy</a> by David D. Burns</dt>
-<dd>
-<p>
-This is a field guide to cognitive Psychology. It explains how our conscious
-thoughts cause unnecessary mood swings, including depressions and euphorias.
-It also gives practical measurements to correct one's cognitive process, raise
-one's self-esteem, handle criticism, and recover from unnecessary mood swings.
-</p>
-<p>
-This book can also help people maintain a good self-esteem, and understand
-why people have mood swings. It is a very good anti-thesis to the traditional
-Freudian or similar psychology that is very misleading. A highly recommended
-read!
-</p>
-</dd>
-
-<dt id="cathedral_bazaar"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0596001088&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The Cathedral &amp; The Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary</a> by Eric S. Raymond</dt>
-<dd>
-<p>
-<a href="http://www.catb.org/~esr/writings/cathedral-bazaar/">This book is 
-also available online</a> on
-<a href="http://www.catb.org/~esr/">Raymond's Site</a>.
-</p>
-<p>
-This book is a set of very mind-revolving essays about the Free and Open
-Source Software world - their culture, conventions, customs; organizational,
-cultural and economical conventions - and by inflection on Free/Open Culture
-in general. It is a must read for every person living in the 21st century.
-</p>
-</dd>
-</dl>
-
-<h3 id="other_non_fiction">Other Very Good Books</h3>
-
-<p>
-These are other very good books that I can recommend. (in no particular
-order).
-</p>
-
-<h4 id="non_technical_books">Non-Technical Books</h4>
-
-<dl class="books">
-<dt id="bicameral_mind"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0618057072&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The
-Origin of Consciousness in the Breakdown of the Bicameral Mind</a> by
-Julian Jaynes</dt>
-<dd>
-<p>
-This book presents a theory on the evolution of human consciousness that sounds
-fantastic at first, but that the author backs with a lot of evidence.
-Essentially, consciousness (or rather "sentience") is a learned layer that is
-not necessary for normal operation. Furthermore, all humans up to around 
-1300 BC were completely void of consciousness, when they developed it out
-of necessity, starting at the Near East.
-</p>
-<p>
-The book kept me entertained, and enlightened me.
-</p>
-</dd>
-
-<dt id="mythical_man_month"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0201835959&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The 
-Mythical Man-Month: Essays on Software Engineering</a> by Frederick P.
-Brooks</dt>
-<dd>
-<p>
-This book, written over 20 years ago, by the project manager of IBM's OS/360
-is one of the classic texts on software engineering, and for a very good
-reason. It still feels very fresh now, and supplies a lot of insights about
-how to manage a software project. It will also prove of interest to managers
-of other teams (that do not necessarily work on software).
-</p>
-<p>
-The 20th anniversary edition, contains some later essays and conclusions by 
-the same author.
-</p>
-</dd>
-
-<dt id="design_of_everyday_things"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0465067107&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The
-Design of Everyday Things</a> by Donald A. Norman</dt>
-<dd>
-A great book about designing for usability. Instead of covering software, it
-covers everyday things like doors, taps or phones , and why or why not they
-make sense. This book is amusing, insightful and makes a very good read.
-</dd>
-
-<dt id="guns_germs_and_steel"><a href="<affil_link id="0393061310" />">Guns,
-Germs and Steel: The Fates of Human Societies</a> by Jared Diamond</dt>
-<dd>
-This books tries to answer the question of why did different human societies 
-evolve differently. It demonstrates that geography and bio-geography played
-a big role in shaping the destinies of people in different places on our 
-planet. This book contains many interesting ancedotes, a wonderful theme, and
-is a pleasure to read. Highly recommended.
-</dd>
-
-
-</dl>
-
-
-<h4 id="technical_books">Technical Books</h4>
-
-<dl class="books">
-<dt id="programming_perl"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0596000278&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Programming Perl</a> by Larry Wall et al</dt>
-<dd>
-<p>
-This is the canonical reference to the <a href="http://www.perl.org/">Perl 
-programming language</a> by some of its best and best-known experts. It covers
-the entire Perl language as of perl-5.6.1, with any nuance and any
-fine point being mentioned. Furthermore, it is a very entertaining read: the
-style is lightweight and easy, and it is one of the funniest technical books
-I've ever read.
-</p>
-<p>
-Note that programmers who don't know how to program Perl at all yet, cannot use it 
-in order to learn the language. Instead, it is
-recommended, that they first learn Perl and only then read "Programming Perl".
-</p>
-</dd>
-
-<dt id="computation_structures"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0262231395&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Computation
-Structures</a> - by Stephen A. Ward &amp; Robert H. Halstead</dt>
-<dd>
-A great book about logic design and how to construct a computer from very
-basic elements. Also covers some layers above the digital circuits level,
-but this material did not particularly interest me. I studied using this
-book in two of my <a href="http://www.technion.ac.il/">Technion</a> courses,
-and can highly recommend it.
-</dd>
-
-<dt id="sicp"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0262011530&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Structure
-and Interpretation of Computer Programs</a> by Harold Abelson &amp; Gerald Jay
-Sussman</dt>
-<dd>
-<p>
-An excellent book that teaches the basics of good software design using the
-Scheme programming language. Introduces very interesting techniques, and
-demonstrates how they can be useful for real-life tasks. I took two courses
-in the Technion based on this book, and they also were very enlightening.
-</p>
-<p>
-The text of this book and other related resources 
-<a href="http://mitpress.mit.edu/sicp/">are available online on its site</a>.
-</p>
-</dd>
-
-<dt id="ui_design_for_programmers"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1893115941&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">User
-Interface Design for Programmers</a> by Joel Spolsky</dt>
-<dd>
-I really liked 
-<a href="http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html">the 
-online version of the book</a> when I read it on Joel's site, and the printed
-version contains several additional chapters. This book is very funny, very
-englightening, with many screenshots and diagrams. It's a must for anyone
-doing GUI or Web design. Highly recommended.
-</dd>
-
-<dt id="art_of_unix_programming"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0131429019&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The
-Art of UNIX Programming</a> by Eric S. Raymond</dt>
-<dd>
-A very nice book about the elements and know-how of planning and implementing
-UNIX software. You can read
-<a href="http://wiki.perl.org.il/index.php/Book_Review_-_The_Art_of_Unix_Programming_-_reviewed_by_Shlomi_Fish">a 
-more detailed review and critique</a> of this book by me, and also <a href="http://www.catb.org/~esr/writings/taoup/">read it online</a>.
-</dd>
-
-<dt id="qmail_handbook"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1893115402&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The qmail Handbook</a> by Dave
-Sill</dt>
-<dd>
-<p>
-A very good book about the <a href="http://qmail.org/">qmail mail
-server</a>. Introduces the fundamental concepts of the server, and then
-instructs how to operate it, and configure other software for it. One thing
-to note about this book is that it convinced me that I should avoid using
-qmail unless it's already installed and has a configuration. qmail has a very
-problematic license, lacks most necessary features out of the box, is no
-longer maintained, has a very problematic creator and copyright owner, etc.
-</p>
-<p>
-If you're going to install a new mail server, take a look at 
-<a href="http://www.postfix.org/">Postfix</a>, 
-<a href="http://www.exim.org/">Exim</a>, 
-<a href="http://www.courier-mta.org/">Courier</a> or whatever. These are
-open-source, are actively developed, and lack all of the aforementioned
-problems. "The qmail Handbook", however, is useful for those who need to 
-administer existing qmail configurations, or migrate them to a different
-implementation. You can also take a look at 
-<a href="http://www.lifewithqmail.org/">Life with qmail</a> which is a guide
-to qmail, by the same author.
-</p>
-</dd>
-
-<dt id="svg_programming"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1590590198&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">SVG 
-Programming - The Graphical Web</a> by Kurt Cagle</dt>
-<dd>
-A great book about <a href="http://www.w3.org/Graphics/SVG/">SVG</a> 
-(= Scalable Vector Graphics), the emerging standard for vector graphics,
-animation and interactive applets on the web. It explains the standard step
-by step, with many nuances covered. The final chapters cover some advanced
-techniques. Highly recommended.
-</dd>
-
-<dt id="mastering_algos_with_perl"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1565923987&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Mastering 
-Algorithms with Perl</a> by John Macdonald, Jon Orwant and Jarkko
-Hietaniemi</dt>
-<dd>
-I took a course about algorithms in <a href="http://www.technion.ac.il/">the 
-Technion</a> before reading this book, and yet found this book to be very
-interesting. This books covers a lot of different fields and topics, each one
-with its own algorithms and each can give you a taste of what this field
-does. This is one of the best books I read in the O'Reilly series of Perl
-books, but it's not specifically about Perl. Highly Recommended for Programmers.
-</dd>
-
-<dt id="porting_unix_software"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1565921267&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Porting UNIX Software</a> by Greg Lehey</dt>
-<dd>
-<p>
-When I started working in a Web Design company, UNIX systems were all we had 
-and the only thing we liked in order to give our clients a presence on the 
-Internet. However, we used a plenthora of UNIXes: IRIX, SunOS 4.1.3, FreeBSD,
-Linux, and there are many more flavours of UNIX out there. So I naturally
-wondered what was the difference between them.
-</p>
-<p>
-A co-worker recommended that in order to better understand what's involved I
-should read this book, and so I bought it from a local Israeli book store. I
-did not regret buying it - this book is simply superb. Some chapters (such as
-the one about handling terminal I/O) are of little interest to most
-programmers, but as a general rule this book gives a lot of essential 
-information about how to write portable software.
-</p>
-<p>
-Many Windows programmers write code and test it on their local machine, and
-think it will be perfectly acceptable this way. But Windows is only one OS,
-and the x86's is only one processor architecture. In the UNIX world, there are 
-plenty of other operating systems and processor architectures. Often many 
-subtle problems can occur because of lack of knowledge of UNIX concepts.
-</p>
-</dd>
-
-<dt id="perl_journal_vol_1"><a href="<affil_link id="0596003102" />">Computer
-Science &amp; Perl Programming: Best of The Perl Journal</a></dt>
-
-<dd>
-The first installment in the series of three books containing a collection of 
-articles from "the Perl Journal". Very nice book, with interesting articles. 
-You can <a href="http://www.perl.org.il/books/0596003102.html">read my review 
-of it</a> to the Perl mongers.
-</dd>
-
-<dt id="perl_journal_vol_3"><a href="<affil_link id="0596003129" />">Games, 
-Diversions &amp; Perl Culture: Best of the Perl Journal</a></dt>
-
-<dd>
-The third installment in the series of three books containing a collection of 
-articles from "the Perl Journal". As a whole it is very entertaining and
-enlightening. You can <a href="http://www.perl.org.il/books/0596003129.html">read my review of it</a> to the Perl mongers.
-</dd>
-
-<dt id="higher_order_perl"><a href="<affil_link id="1558607013" />">Higher
-Order Perl: Transforming Programs with Programs</a></dt>
-
-<dd>
-<p>
-"Higher Order Perl" is both enjoyable and accessible. Mark Jason Dominus
-demonstrates some techniques that originated from the LISP world and shows how
-to implement them in Perl, and how they can be put into good use. I learend a
-lot from this book: how currying, iterators and streams can be useful, how a
-recursive descent parser can be implemented, and many other things.  
-</p> 
-<p>
-Also see <a href="http://www.perl.org.il/books/1558607013.html">my review on
-the Israeli Perl Mongers site</a>.
-</p>
-</dd>
-
-<!-- End of Technical Books -->
-
-</dl>
-
-

t2/philosophy/books-recommends/old-index.html.wml

+#include '../template.wml'
+
+#include "amazon.wml"
+
+;;; To add:
+
+;;; Not to add:
+;;; * Writing Perl Modules for CPAN
+
+<latemp_subject "Shlomi Fish' Book Recommendations" />
+
+<h2>Introduction</h2>
+
+<p>
+This is a list of books I have read and can recommend. At the moment, it is
+focused on non-fiction, but I hope to add fiction later on in a different
+section.
+</p>
+
+<p>
+So if you're looking for a good book to read, and are desperate enough to
+take my advice (☺), look no further than here. Happy reading!
+</p>
+
+<ul>
+<li>
+<a href="#most_influential_non_fiction">My Most Influential
+Non-fiction Books</a>
+</li>
+<li>
+<a href="#other_non_fiction">Other Good Non-Fiction Books</a><br />
+<ul>
+<li>
+<a href="#non_technical_books">Non-technical Books</a><br />
+</li>
+<li>
+<a href="#technical_books">Technical Books</a><br />
+</li>
+</ul>
+</li>
+</ul>
+
+<h2>The List Itself</h2>
+
+<h3 id="most_influential_non_fiction">My Most Influential Books (in Chronological Order)</h3>
+
+<p>
+This is a list of the four or so books that I found the most influential
+on my thinking. It is given here in the chronological order in which I 
+read them.
+</p>
+
+<dl class="books">
+
+<dt id="innumeracy"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0809058405&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Innumeracy - Mathematical Illiteracy and its Consequences</a> by John Allen Paulus
+</dt>
+<dd>
+<p>
+This is a great book about how the fact that people don't understand
+Mathematics or don't apply it well leads to various side-effects, such as
+believing in superstition, irrational fears, or mis-approximations.
+</p>
+</dd>
+
+<dt id="neo_tech_discovery">The Neo-Tech Discovery by Frank R. Wallace and others</dt>
+<dd>
+<p>
+This book is not available in book stores, but I believe it may be ordered by
+mail order by requesting a catalog 
+<a href="http://www.neo-tech.com/">from the Neo-Tech site</a>. It is also
+available online as <a href="http://www.neo-tech.com/neotech/advantages/">the
+Neo-Tech Advantages</a> and the 
+<a href="http://www.neo-tech.com/neotech/discovery/">the Selected Portions
+from the Neo-Tech Discovery</a>.
+</p>
+<p>
+This is the most influential book I ever read. Neo-Tech is an extension and
+re-organization of 
+<a href="http://en.wikipedia.org/wiki/Objectivist_philosophy">Ayn 
+Rand's Objectivism</a>, that also integrates 
+Psychology, Business Practices, Science and other fields. After reading and 
+integrating this book, one can throw away all the mental garbage that prevents 
+growth, and no longer be influenced by various fallacies you constantly hear
+and believe in.
+</p>
+<p>
+Reading this document will make your mind think more clearly about the facts
+of human existence, and remove any unnecessary guilt you have.
+</p>
+</dd>
+
+<dt id="feeling_good"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0380810336&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Feeling Good: The New Mood Therapy</a> by David D. Burns</dt>
+<dd>
+<p>
+This is a field guide to cognitive Psychology. It explains how our conscious
+thoughts cause unnecessary mood swings, including depressions and euphorias.
+It also gives practical measurements to correct one's cognitive process, raise
+one's self-esteem, handle criticism, and recover from unnecessary mood swings.
+</p>
+<p>
+This book can also help people maintain a good self-esteem, and understand
+why people have mood swings. It is a very good anti-thesis to the traditional
+Freudian or similar psychology that is very misleading. A highly recommended
+read!
+</p>
+</dd>
+
+<dt id="cathedral_bazaar"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0596001088&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The Cathedral &amp; The Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary</a> by Eric S. Raymond</dt>
+<dd>
+<p>
+<a href="http://www.catb.org/~esr/writings/cathedral-bazaar/">This book is 
+also available online</a> on
+<a href="http://www.catb.org/~esr/">Raymond's Site</a>.
+</p>
+<p>
+This book is a set of very mind-revolving essays about the Free and Open
+Source Software world - their culture, conventions, customs; organizational,
+cultural and economical conventions - and by inflection on Free/Open Culture
+in general. It is a must read for every person living in the 21st century.
+</p>
+</dd>
+</dl>
+
+<h3 id="other_non_fiction">Other Very Good Books</h3>
+
+<p>
+These are other very good books that I can recommend. (in no particular
+order).
+</p>
+
+<h4 id="non_technical_books">Non-Technical Books</h4>
+
+<dl class="books">
+<dt id="bicameral_mind"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0618057072&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The
+Origin of Consciousness in the Breakdown of the Bicameral Mind</a> by
+Julian Jaynes</dt>
+<dd>
+<p>
+This book presents a theory on the evolution of human consciousness that sounds
+fantastic at first, but that the author backs with a lot of evidence.
+Essentially, consciousness (or rather "sentience") is a learned layer that is
+not necessary for normal operation. Furthermore, all humans up to around 
+1300 BC were completely void of consciousness, when they developed it out
+of necessity, starting at the Near East.
+</p>
+<p>
+The book kept me entertained, and enlightened me.
+</p>
+</dd>
+
+<dt id="mythical_man_month"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0201835959&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The 
+Mythical Man-Month: Essays on Software Engineering</a> by Frederick P.
+Brooks</dt>
+<dd>
+<p>
+This book, written over 20 years ago, by the project manager of IBM's OS/360
+is one of the classic texts on software engineering, and for a very good
+reason. It still feels very fresh now, and supplies a lot of insights about
+how to manage a software project. It will also prove of interest to managers
+of other teams (that do not necessarily work on software).
+</p>
+<p>
+The 20th anniversary edition, contains some later essays and conclusions by 
+the same author.
+</p>
+</dd>
+
+<dt id="design_of_everyday_things"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0465067107&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The
+Design of Everyday Things</a> by Donald A. Norman</dt>
+<dd>
+A great book about designing for usability. Instead of covering software, it
+covers everyday things like doors, taps or phones , and why or why not they
+make sense. This book is amusing, insightful and makes a very good read.
+</dd>
+
+<dt id="guns_germs_and_steel"><a href="<affil_link id="0393061310" />">Guns,
+Germs and Steel: The Fates of Human Societies</a> by Jared Diamond</dt>
+<dd>
+This books tries to answer the question of why did different human societies 
+evolve differently. It demonstrates that geography and bio-geography played
+a big role in shaping the destinies of people in different places on our 
+planet. This book contains many interesting ancedotes, a wonderful theme, and
+is a pleasure to read. Highly recommended.
+</dd>
+
+
+</dl>
+
+
+<h4 id="technical_books">Technical Books</h4>
+
+<dl class="books">
+<dt id="programming_perl"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0596000278&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Programming Perl</a> by Larry Wall et al</dt>
+<dd>
+<p>
+This is the canonical reference to the <a href="http://www.perl.org/">Perl 
+programming language</a> by some of its best and best-known experts. It covers
+the entire Perl language as of perl-5.6.1, with any nuance and any
+fine point being mentioned. Furthermore, it is a very entertaining read: the
+style is lightweight and easy, and it is one of the funniest technical books
+I've ever read.
+</p>
+<p>
+Note that programmers who don't know how to program Perl at all yet, cannot use it 
+in order to learn the language. Instead, it is
+recommended, that they first learn Perl and only then read "Programming Perl".
+</p>
+</dd>
+
+<dt id="computation_structures"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0262231395&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Computation
+Structures</a> - by Stephen A. Ward &amp; Robert H. Halstead</dt>
+<dd>
+A great book about logic design and how to construct a computer from very
+basic elements. Also covers some layers above the digital circuits level,
+but this material did not particularly interest me. I studied using this
+book in two of my <a href="http://www.technion.ac.il/">Technion</a> courses,
+and can highly recommend it.
+</dd>
+
+<dt id="sicp"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0262011530&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Structure
+and Interpretation of Computer Programs</a> by Harold Abelson &amp; Gerald Jay
+Sussman</dt>
+<dd>
+<p>
+An excellent book that teaches the basics of good software design using the
+Scheme programming language. Introduces very interesting techniques, and
+demonstrates how they can be useful for real-life tasks. I took two courses
+in the Technion based on this book, and they also were very enlightening.
+</p>
+<p>
+The text of this book and other related resources 
+<a href="http://mitpress.mit.edu/sicp/">are available online on its site</a>.
+</p>
+</dd>
+
+<dt id="ui_design_for_programmers"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1893115941&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">User
+Interface Design for Programmers</a> by Joel Spolsky</dt>
+<dd>
+I really liked 
+<a href="http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html">the 
+online version of the book</a> when I read it on Joel's site, and the printed
+version contains several additional chapters. This book is very funny, very
+englightening, with many screenshots and diagrams. It's a must for anyone
+doing GUI or Web design. Highly recommended.
+</dd>
+
+<dt id="art_of_unix_programming"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0131429019&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The
+Art of UNIX Programming</a> by Eric S. Raymond</dt>
+<dd>
+A very nice book about the elements and know-how of planning and implementing
+UNIX software. You can read
+<a href="http://wiki.perl.org.il/index.php/Book_Review_-_The_Art_of_Unix_Programming_-_reviewed_by_Shlomi_Fish">a 
+more detailed review and critique</a> of this book by me, and also <a href="http://www.catb.org/~esr/writings/taoup/">read it online</a>.
+</dd>
+
+<dt id="qmail_handbook"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1893115402&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">The qmail Handbook</a> by Dave
+Sill</dt>
+<dd>
+<p>
+A very good book about the <a href="http://qmail.org/">qmail mail
+server</a>. Introduces the fundamental concepts of the server, and then
+instructs how to operate it, and configure other software for it. One thing
+to note about this book is that it convinced me that I should avoid using
+qmail unless it's already installed and has a configuration. qmail has a very
+problematic license, lacks most necessary features out of the box, is no
+longer maintained, has a very problematic creator and copyright owner, etc.
+</p>
+<p>
+If you're going to install a new mail server, take a look at 
+<a href="http://www.postfix.org/">Postfix</a>, 
+<a href="http://www.exim.org/">Exim</a>, 
+<a href="http://www.courier-mta.org/">Courier</a> or whatever. These are
+open-source, are actively developed, and lack all of the aforementioned
+problems. "The qmail Handbook", however, is useful for those who need to 
+administer existing qmail configurations, or migrate them to a different
+implementation. You can also take a look at 
+<a href="http://www.lifewithqmail.org/">Life with qmail</a> which is a guide
+to qmail, by the same author.
+</p>
+</dd>
+
+<dt id="svg_programming"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1590590198&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">SVG 
+Programming - The Graphical Web</a> by Kurt Cagle</dt>
+<dd>
+A great book about <a href="http://www.w3.org/Graphics/SVG/">SVG</a> 
+(= Scalable Vector Graphics), the emerging standard for vector graphics,
+animation and interactive applets on the web. It explains the standard step
+by step, with many nuances covered. The final chapters cover some advanced
+techniques. Highly recommended.
+</dd>
+
+<dt id="mastering_algos_with_perl"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1565923987&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Mastering 
+Algorithms with Perl</a> by John Macdonald, Jon Orwant and Jarkko
+Hietaniemi</dt>
+<dd>
+I took a course about algorithms in <a href="http://www.technion.ac.il/">the 
+Technion</a> before reading this book, and yet found this book to be very
+interesting. This books covers a lot of different fields and topics, each one
+with its own algorithms and each can give you a taste of what this field
+does. This is one of the best books I read in the O'Reilly series of Perl
+books, but it's not specifically about Perl. Highly Recommended for Programmers.
+</dd>
+
+<dt id="porting_unix_software"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1565921267&amp;link_code=as2&amp;camp=1789&amp;tag=shlomifishhom-20&amp;creative=9325">Porting UNIX Software</a> by Greg Lehey</dt>
+<dd>
+<p>
+When I started working in a Web Design company, UNIX systems were all we had 
+and the only thing we liked in order to give our clients a presence on the 
+Internet. However, we used a plenthora of UNIXes: IRIX, SunOS 4.1.3, FreeBSD,
+Linux, and there are many more flavours of UNIX out there. So I naturally
+wondered what was the difference between them.
+</p>
+<p>
+A co-worker recommended that in order to better understand what's involved I
+should read this book, and so I bought it from a local Israeli book store. I
+did not regret buying it - this book is simply superb. Some chapters (such as
+the one about handling terminal I/O) are of little interest to most
+programmers, but as a general rule this book gives a lot of essential 
+information about how to write portable software.
+</p>
+<p>
+Many Windows programmers write code and test it on their local machine, and
+think it will be perfectly acceptable this way. But Windows is only one OS,
+and the x86's is only one processor architecture. In the UNIX world, there are 
+plenty of other operating systems and processor architectures. Often many 
+subtle problems can occur because of lack of knowledge of UNIX concepts.
+</p>
+</dd>
+
+<dt id="perl_journal_vol_1"><a href="<affil_link id="0596003102" />">Computer
+Science &amp; Perl Programming: Best of The Perl Journal</a></dt>
+
+<dd>
+The first installment in the series of three books containing a collection of 
+articles from "the Perl Journal". Very nice book, with interesting articles. 
+You can <a href="http://www.perl.org.il/books/0596003102.html">read my review 
+of it</a> to the Perl mongers.
+</dd>
+
+<dt id="perl_journal_vol_3"><a href="<affil_link id="0596003129" />">Games, 
+Diversions &amp; Perl Culture: Best of the Perl Journal</a></dt>
+
+<dd>
+The third installment in the series of three books containing a collection of 
+articles from "the Perl Journal". As a whole it is very entertaining and
+enlightening. You can <a href="http://www.perl.org.il/books/0596003129.html">read my review of it</a> to the Perl mongers.
+</dd>
+
+<dt id="higher_order_perl"><a href="<affil_link id="1558607013" />">Higher
+Order Perl: Transforming Programs with Programs</a></dt>
+
+<dd>
+<p>
+"Higher Order Perl" is both enjoyable and accessible. Mark Jason Dominus
+demonstrates some techniques that originated from the LISP world and shows how
+to implement them in Perl, and how they can be put into good use. I learend a
+lot from this book: how currying, iterators and streams can be useful, how a
+recursive descent parser can be implemented, and many other things.  
+</p> 
+<p>
+Also see <a href="http://www.perl.org.il/books/1558607013.html">my review on
+the Israeli Perl Mongers site</a>.
+</p>
+</dd>
+
+<!-- End of Technical Books -->
+
+</dl>
+
+

t2/philosophy/books-recommends/shlomi-fish-non-fiction-books-recommendations.xml

+<?xml version='1.0' encoding='utf-8'?>
+<?xml-stylesheet type="text/xml" href="product-syndication.xsl"?>
+<!DOCTYPE comparison SYSTEM "product-syndication.dtd">
+<!--
+;;; To add:
+* Perl Best Practices.
+* Postfix TDG
+
+    In the future:
+    * CSS TDG
+    * DNS & BIND.
+
+-->
+<product-syndication>
+    <data>
+        <cat id="books">
+            <title>Shlomi Fish' Book Recommendations</title>
+            <desc>
+<p>
+This is a list of books I have read and can recommend. At the moment, it is
+focused on non-fiction, but I hope to add fiction later on in a different
+section.
+</p>
+
+<p>
+So if you're looking for a good book to read, and are desperate enough to
+take my advice (☺), look no further than here. Happy reading!
+</p>
+
+<ul>
+<li>
+<a href="#most_influential_non_fiction">My Most Influential
+Non-fiction Books</a>
+</li>
+<li>
+<a href="#other_non_fiction">Other Good Non-Fiction Books</a><br />
+<ul>
+<li>
+<a href="#non_technical_books">Non-technical Books</a><br />
+</li>
+<li>
+<a href="#technical_books">Technical Books</a><br />
+</li>
+</ul>
+</li>
+</ul>
+
+            </desc>
+            <cat id="most_influential_non_fiction">
+                <title>My Most Influential Books (in Chronological Order)</title>
+                <desc>
+                    <p>
+                        This is a list of the four or so books that I found 
+                        the most influential on my thinking. It is given here 
+                        in the chronological order in which I read them.
+                    </p>
+                </desc>
+                <prod id="innumeracy">
+                    <title>Innumeracy - Mathematical Illiteracy and its Consequences</title>
+                    <isbn>0809058405</isbn>
+                    <creator type="author">John Allen Paulus</creator>
+                    <desc>
+<p>
+This is a great book about how the fact that people don't understand
+Mathematics or don't apply it well leads to various side-effects, such as
+believing in superstition, irrational fears, or mis-approximations.
+</p>
+</desc>
+                </prod>
+                <prod id="neo_tech_discovery">
+                    <title>The Neo-Tech Discovery by Frank R. Wallace and others</title>
+                    <isbn disable="1" />
+                    <desc>
+<p>
+This book is not available in book stores, but I believe it may be ordered by
+mail order by requesting a catalog 
+<a href="http://www.neo-tech.com/">from the Neo-Tech site</a>. It is also
+available online as <a href="http://www.neo-tech.com/neotech/advantages/">the
+Neo-Tech Advantages</a> and the 
+<a href="http://www.neo-tech.com/neotech/discovery/">the Selected Portions
+from the Neo-Tech Discovery</a>.
+</p>
+<p>
+This is the most influential book I ever read. Neo-Tech is an extension and
+re-organization of 
+<a href="http://en.wikipedia.org/wiki/Objectivist_philosophy">Ayn 
+Rand's Objectivism</a>, that also integrates 
+Psychology, Business Practices, Science and other fields. After reading and 
+integrating this book, one can throw away all the mental garbage that prevents 
+growth, and no longer be influenced by various fallacies you constantly hear
+and believe in.
+</p>
+<p>
+Reading this document will make your mind think more clearly about the facts
+of human existence, and remove any unnecessary guilt you have.
+</p>
+</desc>
+                </prod>
+                <prod id="feeling_good">
+                    <title>Feeling Good: The New Mood Therapy</title>
+                    <isbn>0380810336</isbn>
+                    <creator type="author">David D. Burns</creator>
+                    <desc>
+<p>
+This is a field guide to cognitive Psychology. It explains how our conscious
+thoughts cause unnecessary mood swings, including depressions and euphorias.
+It also gives practical measurements to correct one's cognitive process, raise
+one's self-esteem, handle criticism, and recover from unnecessary mood swings.
+</p>
+<p>
+This book can also help people maintain a good self-esteem, and understand
+why people have mood swings. It is a very good anti-thesis to the traditional
+Freudian or similar psychology that is very misleading. A highly recommended
+read!
+</p>                      
+                    </desc>
+                </prod>
+                <prod id="cathedral_bazaar">
+                    <title>The Cathedral &amp; The Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary</title>
+                    <isbn>0596001088</isbn>
+                    <creator type="author">Eric S. Raymond</creator>
+                    <desc>
+<p>
+<a href="http://www.catb.org/~esr/writings/cathedral-bazaar/">This book is 
+also available online</a> on
+<a href="http://www.catb.org/~esr/">Raymond's Site</a>.
+</p>
+<p>
+This book is a set of very mind-revolving essays about the Free and Open
+Source Software world - their culture, conventions, customs; organizational,
+cultural and economical conventions - and by inflection on Free/Open Culture
+in general. It is a must read for every person living in the 21st century.
+</p>
+                    </desc>
+                </prod>
+            </cat>
+            <cat id="other_non_fiction">
+                <title>Other Very Good Books</title>
+                <desc>
+                    <p>
+                        These are other very good books that I can recommend. 
+                        (in no particular order).
+                    </p>
+                </desc>
+                <cat id="non_technical_books">
+                    <title>Non-Technical Books</title>
+                    <prod id="bicameral_mind">
+                        <title>The Origin of Consciousness in the Breakdown of 
+                            the Bicameral Mind</title>
+                        <isbn>0618057072</isbn>
+                        <creator type="author">Julian Jaynes</creator>
+                        <desc>
+<p>
+This book presents a theory on the evolution of human consciousness that sounds
+fantastic at first, but that the author backs with a lot of evidence.
+Essentially, consciousness (or rather "sentience") is a learned layer that is
+not necessary for normal operation. Furthermore, all humans up to around 
+1300 BC were completely void of consciousness, when they developed it out
+of necessity, starting at the Near East.
+</p>
+<p>
+The book kept me entertained, and enlightened me.
+</p>                          
+                        </desc>
+                    </prod>
+
+                    <prod id="mythical_man_month">
+                        <title>The Mythical Man-Month: Essays on Software Engineering</title>
+                        <isbn>0201835959</isbn>
+                        <creator type="author">Frederick P.  Brooks</creator>
+                        <desc>
+
+                    <p>
+                    This book, written over 20 years ago, by the project manager of IBM's OS/360
+                    is one of the classic texts on software engineering, and for a very good
+                    reason. It still feels very fresh now, and supplies a lot of insights about
+                    how to manage a software project. It will also prove of interest to managers
+                    of other teams (that do not necessarily work on software).
+                    </p>
+                    <p>
+                    The 20th anniversary edition, contains some later essays and conclusions by 
+                    the same author.
+                    </p>
+
+
+                        </desc>
+                    </prod>
+                    <prod id="design_of_everyday_things">
+                        <title>The Design of Everyday Things</title>
+                        <isbn>0465067107</isbn>
+                        <creator type="author">Donald A. Norman</creator>
+                        <desc>
+                    <p>
+
+                    A great book about designing for usability. Instead of covering software, it
+                    covers everyday things like doors, taps or phones , and why or why not they
+                    make sense. This book is amusing, insightful and makes a very good read.
+
+
+                    </p>
+
+                        </desc>
+                    </prod>
+                    <prod id="guns_germs_and_steel">
+                        <title>Guns, Germs and Steel: The Fates of Human Societies</title>
+                        <isbn>0393061310</isbn>
+                        <creator type="author">Jared Diamond</creator>
+                        <desc>
+                    <p>
+
+                    This books tries to answer the question of why did different human societies 
+                    evolve differently. It demonstrates that geography and bio-geography played
+                    a big role in shaping the destinies of people in different places on our 
+                    planet. This book contains many interesting ancedotes, a wonderful theme, and
+                    is a pleasure to read. Highly recommended.
+
+
+                    </p>
+
+                        </desc>
+                    </prod>
+
+                </cat>
+                <cat id="technical_books">
+                    <title>Technical Books</title>
+                    <prod id="programming_perl">
+                        <title>Programming Perl</title>
+                        <isbn>0596000278</isbn>
+                        <creator type="author">Larry Wall et al</creator>
+                        <desc>
+
+                    <p>
+                    This is the canonical reference to the <a href="http://www.perl.org/">Perl 
+                    programming language</a> by some of its best and best-known experts. It covers
+                    the entire Perl language as of perl-5.6.1, with any nuance and any
+                    fine point being mentioned. Furthermore, it is a very entertaining read: the
+                    style is lightweight and easy, and it is one of the funniest technical books
+                    I've ever read.
+                    </p>
+                    <p>
+                    Note that programmers who don't know how to program Perl at all yet, cannot use it 
+                    in order to learn the language. Instead, it is
+                    recommended, that they first learn Perl and only then read "Programming Perl".
+                    </p>
+
+
+                        </desc>
+                    </prod>
+                    <prod id="computation_structures">
+                        <title>Computation Structures</title>
+                        <isbn>0262231395</isbn>
+                        <creator type="author">Stephen A. Ward &amp; Robert H. Halstead</creator>
+                        <desc>
+                    <p>
+
+                    A great book about logic design and how to construct a computer from very
+                    basic elements. Also covers some layers above the digital circuits level,
+                    but this material did not particularly interest me. I studied using this
+                    book in two of my <a href="http://www.technion.ac.il/">Technion</a> courses,
+                    and can highly recommend it.
+
+
+                    </p>
+
+                        </desc>
+                    </prod>
+                    <prod id="sicp">
+                        <title>Structure and Interpretation of Computer Programs</title>
+                        <isbn>0262011530</isbn>
+                        <creator type="author">Harold Abelson &amp; Gerald Jay Sussman</creator>
+                        <desc>
+
+                    <p>
+                    An excellent book that teaches the basics of good software design using the
+                    Scheme programming language. Introduces very interesting techniques, and
+                    demonstrates how they can be useful for real-life tasks. I took two courses
+                    in the Technion based on this book, and they also were very enlightening.
+                    </p>
+                    <p>
+                    The text of this book and other related resources 
+                    <a href="http://mitpress.mit.edu/sicp/">are available online on its site</a>.
+                    </p>
+
+
+                        </desc>
+                    </prod>
+                    <prod id="ui_design_for_programmers">
+                        <title>User Interface Design for Programmers</title>
+                        <isbn>1893115941</isbn>
+                        <creator type="author">Joel Spolsky</creator>
+                        <desc>
+                    <p>
+
+                    I really liked 
+                    <a href="http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html">the 
+                    online version of the book</a> when I read it on Joel's site, and the printed
+                    version contains several additional chapters. This book is very funny, very
+                    englightening, with many screenshots and diagrams. It's a must for anyone
+                    doing GUI or Web design. Highly recommended.
+
+
+                    </p>
+
+                        </desc>
+                    </prod>
+                    <prod id="art_of_unix_programming">
+                        <title>The Art of UNIX Programming</title>
+                        <isbn>0131429019</isbn>
+                        <creator type="author">Eric S. Raymond</creator>
+                        <desc>
+                    <p>
+
+                    A very nice book about the elements and know-how of planning and implementing
+                    UNIX software. You can read
+                    <a href="http://wiki.perl.org.il/index.php/Book_Review_-_The_Art_of_Unix_Programming_-_reviewed_by_Shlomi_Fish">a 
+                    more detailed review and critique</a> of this book by me, and also <a href="http://www.catb.org/~esr/writings/taoup/">read it online</a>.
+
+
+                    </p>
+
+                        </desc>
+                    </prod>
+                    <prod id="qmail_handbook">
+                        <title>The qmail Handbook</title>
+                        <isbn>1893115402</isbn>
+                        <creator type="author">Dave Sill</creator>
+                        <desc>
+
+                    <p>
+                    A very good book about the <a href="http://qmail.org/">qmail mail
+                    server</a>. Introduces the fundamental concepts of the server, and then
+                    instructs how to operate it, and configure other software for it. One thing
+                    to note about this book is that it convinced me that I should avoid using
+                    qmail unless it's already installed and has a configuration. qmail has a very
+                    problematic license, lacks most necessary features out of the box, is no
+                    longer maintained, has a very problematic creator and copyright owner, etc.
+                    </p>
+                    <p>
+                    If you're going to install a new mail server, take a look at 
+                    <a href="http://www.postfix.org/">Postfix</a>, 
+                    <a href="http://www.exim.org/">Exim</a>, 
+                    <a href="http://www.courier-mta.org/">Courier</a> or whatever. These are
+                    open-source, are actively developed, and lack all of the aforementioned
+                    problems. "The qmail Handbook", however, is useful for those who need to 
+                    administer existing qmail configurations, or migrate them to a different
+                    implementation. You can also take a look at 
+                    <a href="http://www.lifewithqmail.org/">Life with qmail</a> which is a guide
+                    to qmail, by the same author.
+                    </p>
+
+
+                        </desc>
+                    </prod>
+                    <prod id="svg_programming">
+                        <title>SVG Programming - The Graphical Web</title>
+                        <isbn>1590590198</isbn>
+                        <creator type="author">Kurt Cagle</creator>
+                        <desc>
+                    <p>
+
+                    A great book about <a href="http://www.w3.org/Graphics/SVG/">SVG</a> 
+                    (= Scalable Vector Graphics), the emerging standard for vector graphics,
+                    animation and interactive applets on the web. It explains the standard step
+                    by step, with many nuances covered. The final chapters cover some advanced
+                    techniques. Highly recommended.
+
+
+                    </p>
+
+                        </desc>
+                    </prod>
+                    <prod id="mastering_algos_with_perl">
+                        <title>Mastering Algorithms with Perl</title>
+                        <isbn>1565923987</isbn>
+                        <creator type="author">John Macdonald, Jon Orwant and Jarkko Hietaniemi</creator>
+                        <desc>
+                    <p>
+
+                    I took a course about algorithms in <a href="http://www.technion.ac.il/">the 
+                    Technion</a> before reading this book, and yet found this book to be very
+                    interesting. This books covers a lot of different fields and topics, each one
+                    with its own algorithms and each can give you a taste of what this field
+                    does. This is one of the best books I read in the O'Reilly series of Perl
+                    books, but it's not specifically about Perl. Highly Recommended for Programmers.
+
+
+                    </p>
+
+                        </desc>
+                    </prod>
+                    <prod id="porting_unix_software">
+                        <title>Porting UNIX Software</title>
+                        <isbn>1565921267</isbn>
+                        <creator type="author">Greg Lehey</creator>
+                        <desc>
+
+                    <p>
+                    When I started working in a Web Design company, UNIX systems were all we had 
+                    and the only thing we liked in order to give our clients a presence on the 
+                    Internet. However, we used a plenthora of UNIXes: IRIX, SunOS 4.1.3, FreeBSD,
+                    Linux, and there are many more flavours of UNIX out there. So I naturally
+                    wondered what was the difference between them.
+                    </p>
+                    <p>
+                    A co-worker recommended that in order to better understand what's involved I
+                    should read this book, and so I bought it from a local Israeli book store. I
+                    did not regret buying it - this book is simply superb. Some chapters (such as
+                    the one about handling terminal I/O) are of little interest to most
+                    programmers, but as a general rule this book gives a lot of essential 
+                    information about how to write portable software.
+                    </p>
+                    <p>
+                    Many Windows programmers write code and test it on their local machine, and
+                    think it will be perfectly acceptable this way. But Windows is only one OS,
+                    and the x86's is only one processor architecture. In the UNIX world, there are 
+                    plenty of other operating systems and processor architectures. Often many 
+                    subtle problems can occur because of lack of knowledge of UNIX concepts.
+                    </p>
+
+
+                        </desc>
+                    </prod>
+                    <prod id="perl_journal_vol_1">
+                        <title>Computer Science &amp; Perl Programming: Best of The Perl Journal</title>
+                        <isbn>0596003102</isbn>
+                        <creator type="author">Various</creator>
+                        <desc>
+                    <p>
+
+                    The first installment in the series of three books containing a collection of 
+                    articles from "the Perl Journal". Very nice book, with interesting articles. 
+                    You can <a href="http://www.perl.org.il/books/0596003102.html">read my review 
+                    of it</a> to the Perl mongers.
+
+
+                    </p>
+
+                        </desc>
+                    </prod>
+                    <prod id="perl_journal_vol_3">
+                        <title>Games, Diversions &amp; Perl Culture: Best of the Perl Journal</title>
+                        <isbn>0596003129</isbn>
+                        <creator type="author">Various</creator>
+                        <desc>
+                    <p>
+
+                    The third installment in the series of three books containing a collection of 
+                    articles from "the Perl Journal". As a whole it is very entertaining and
+                    enlightening. You can <a href="http://www.perl.org.il/books/0596003129.html">read my review of it</a> to the Perl mongers.
+
+
+                    </p>
+
+                        </desc>
+                    </prod>
+                    <prod id="higher_order_perl">
+                        <title>Higher Order Perl: Transforming Programs with Programs</title>
+                        <isbn>1558607013</isbn>
+                        <creator type="author">Mark Jason Dominus</creator>
+                        <desc>
+
+                    <p>
+                    "Higher Order Perl" is both enjoyable and accessible. Mark Jason Dominus
+                    demonstrates some techniques that originated from the LISP world and shows how
+                    to implement them in Perl, and how they can be put into good use. I learend a
+                    lot from this book: how currying, iterators and streams can be useful, how a
+                    recursive descent parser can be implemented, and many other things.  
+                    </p> 
+                    <p>
+                    Also see <a href="http://www.perl.org.il/books/1558607013.html">my review on
+                    the Israeli Perl Mongers site</a>.
+                    </p>
+                        </desc>
+                    </prod>
+                </cat>
+            </cat>
+        </cat>
+    </data>
+</product-syndication>