Tal Cohen's Bookshelf: A Collection of Personal Opinions about Books
Read Log, January-February 2021
By Tal Cohen Sunday, 04 April 2021
Algorithms to Live By: The Computer Science of Human Decisions by Brian Christian and Tom Griffiths. So I finish reading all of Jane Austen’s works (see previous log entry), and the next book I read is as far away from that as I could think of; and the first chapter opens with a quote from Emma.

The book is basically an attempt to review different problems in life, and how to address them from a mathematician’s point of view, by applying algorithms. For example, if you have a terminal disease, more than you care about the average life expectancy, you care about the distribution. Armed with this knowledge, you can make better choices regarding treatment (or going out on a short and hopefully enjoyable last vacation). Most advice in the book, though, is not so morbid, and even useful; for example, an algorithm for how many houses you should view before making a choice and buying one.

The most important part of the book is the seven-page-long Conclusion, reiterating the difference between the choice of way (where choice does exist) and the outcome (which, even with the best choice of algorithm, is not guaranteed); but more importantly, presenting the concept of (social, person-to-person) computational kindness. It is kinder to ask a person if he can meet next Tuesday at 1pm than to ask them if they can find an hour for you in their schedule, for example, even though it seems less polite. It is kinder, when discussing entertainment alternatives with friends, to explicitly state your top choice or two, rather than politely defer the decision to them. And so on. And one should also be kind to one’s self; it is reasonable, and even rational, to make simplifying assumptions when facing most problems in life. After all, there are no known efficient algorithms for solving these problems otherwise.




A Tour of C++, Second Edition by Bjarne Stroustrup. I’ve last seriously used C++ in the mid-90s; I need to keep some pretence of being able to do proper code reviews at work. Clearly, the language has evolved, and it seems like it is almost ready for prime-type usage without damaging anyone’s sanity. The main problem is the massive set of harmful tools that the language makes available, and that Stroustrup explicitly recommends not using except in building low-level library facilities. However, it also seems like Stroustrup is afraid of correcting such design errors, for fear of how programmers would think about these corrections. For example, even though many implementations provide a range-checked version of vector, this isn't part of the standard library; the excuse provided is that “experience shows that such [range checking] overhead can lead people to prefer the far more unsafe built-in array. Even the mere fear of such overhead can lead to disuse.” Such convoluted reasoning harms the language (and library) design throughout.

All in all, in 25 more years, it probably will be a good language after all.

The first chapter opens with a misquote of Shakespeare: The Bard mentioned killing all the lawyers, he never said anything about the language lawyers. It seems like this exact same misquote appears in the first chapter of Stroustrup’s The C++ Programming Language, going back at least as far as the 2nd edition (1991). And the book itself is surprisingly low-quality: the blue ink offset is often off by just enough to annoy you, and the typesetting was done, it seems, with Microsoft Word or something (e.g., the font size changes for one paragraph at the top of p. 139). Not to mention stupid mistakes like confusing list<int> with list<double> on p. 152, the mismatched ''))” in the last example on page 177, etc.




Gods, Heroes and Myths in Ancient Greece by Ma'ayan Mazor. An excellent overview, including a discussion of the inevitable question, did the Greeks really believe all those myths?




Mythos by Stephen Fry. A nice, very flowing retelling of the core myths. Fry pays a lot of attention to etymology-in-reverse (as in, here are the modern terms that stem from that ancient god’s name), and connects things to modern works as well (e.g., Sandman when presenting Morpheus; likewise Gustav Holst, Percy Jackson, and much more). I never stopped to realize that “hermetic”, for example, comes from Hermes.

And of course, what makes the book special is Fry’s wry sense of humor; after noting that Zeus’s radiance “had become almost painful to look upon”, there’s a footnote saying, “As is often the case with extraordinarily attractive people. It is incumbent upon us to apologise or look away when our beauty causes discomfort.” Or: “The Greeks still add pine resin to wine, call it retsina and offer it to visitors. No one knows why a normally kind and hospitable people should do such a thing. It tastes like what it essentially is, the kind of turpentine artists use to thin their oil paints. I love it.”




A History of Classical Greece by Moshe Amit. A very good textbook, except that the maps are horrible, and are in dire need of an index. The cultural aspects and macro movements are beautifully presented, but the micro-level details (e.g., details about wars) are hard to follow.




Pollyanna by Eleanor H. Porter, translated to Hebrew by Yoav Lavi. I’m reading a textbook about bildungsromane, and this was mentioned as an example, which was a good excuse for a quick re-read. I somehow fail to see how it fits the genre, but then again, the textbook is all about how the genre is not well-defined, and is repeatedly reshaped.
___________________
New Reviews Notification
To receive notifications as new reviews are published, consider following the RSS feed.
[Post a comment on this entry]
  [Permalink to this entry]
©1997-2020 by Tal Cohen, all rights reserved. [About]