<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Book on Chase the Devil</title>
		<link>https://31416.org/tags/book/</link>
		<description>Recent content in Book on Chase the Devil</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Sun, 13 Oct 2024 12:56:42 +0100</lastBuildDate>
		
			<atom:link href="https://31416.org/tags/book/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Saving Us - Book Review</title>
				<link>https://31416.org/post/saving_us_book_review/</link>
				<pubDate>Sun, 13 Oct 2024 12:56:42 +0100</pubDate>
				<guid>https://31416.org/post/saving_us_book_review/</guid>
				<description>&lt;p&gt;I had the opportunity to receive a free book on climate change, through the company I am working for. I had not heard of that book before, it called &lt;em&gt;Saving Us&lt;/em&gt; and is written by an actual climate scientist (Katharine Hayhoe).&#xA;Unfortunately, written by does not mean that it is a scientific book, and it&amp;rsquo;s not. The author does not spend much effort explaining the physics or the reports, but focuses on how to convince people this is an important problem to tackle. It is mildly interesting at first, as it presents the problem from a psychological angle. But it becomes quickly repetitive. The method is always the same, connect with what&amp;rsquo;s important to an audience who initially rejects climate warming (mostly the phenomenon, sometimes proposals around it), and make them understand that climate warming plays a role in their life, in the very matters they care about. It is presented as a series of personal experiences of the author, a list of examples.&lt;/p&gt;</description>
			</item>
			<item>
				<title>My Review of Steven Koonin&#39;s Book on Climate</title>
				<link>https://31416.org/post/koonin-on-climate-book-review/</link>
				<pubDate>Mon, 30 Aug 2021 07:56:42 +0100</pubDate>
				<guid>https://31416.org/post/koonin-on-climate-book-review/</guid>
				<description>&lt;p&gt;Steven Koonin, who was Secretary for Science, Department of Energy, in the Obama administration recently wrote a somewhat controversial book on climate science with the title &lt;em&gt;Unsettled&lt;/em&gt;.  I was curious to read what kind of critics a physicist who partly worked in the field had, even if I believe that climate warming is real, and humans have an influence on it. It turns out that some of his remarks regarding models are relevant way beyond climate science, but some other subjects are not as convincing.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Disaster Capitalism - Summer Reading Review</title>
				<link>https://31416.org/post/disaster-capitalism/</link>
				<pubDate>Fri, 06 Nov 2020 20:56:42 +0100</pubDate>
				<guid>https://31416.org/post/disaster-capitalism/</guid>
				<description>&lt;p&gt;Several years ago, I read the book &lt;em&gt;No Logo&lt;/em&gt; from Naomi Klein. I did not find it particularly good, but it did raise a valid concern overall.&#xA;This summer I read &lt;em&gt;Shock Therapy - The rise of disaster capitalism&lt;/em&gt;. It suffers from some of the same flaws as &lt;em&gt;No Logo&lt;/em&gt;, namely a lot of repetition of the same idea. Here, the underlying idea is that neoliberalism does not work in practice, and often ends up being some kind of corporatism. At the same time, it is suggested that some mild socialism is often much better for the people, although, the latter is not backed by concrete examples in the book. The former is backed by numerous documents, and is analyzed accross time and countries. It starts with Chili under Pinochet, the prototypical example that force is required to impose neoliberalism, then moves around South America in general, with some cases where a strong inflation, may be enough for the people to accept neoliberalism. Then it continues with China under Deng Xiao Ping, which I find a bit too much of a stretch to make a case about any kind of neoliberalism. Russia under Yeltsin is next, and it ends with the war in Irak and the USA.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A review of Thomas Piketty - Le capital au XXI siecle</title>
				<link>https://31416.org/post/piketty_capital/</link>
				<pubDate>Tue, 02 Aug 2016 09:55:32 +0100</pubDate>
				<guid>https://31416.org/post/piketty_capital/</guid>
				<description>&lt;p&gt;I found back some old notes I had written about the book &amp;ldquo;Le capital au XXI siecle&amp;rdquo; from Thomas Piketty. It took me a while to finish that book last summer.&lt;/p&gt;&#xA;&lt;p&gt;So many journalists have written around Piketty, that I had to buy the book and read it. It turns out that some of the criticism I have read is not really founded once one reads the book, but here are other real obvious criticisms that I suprisingly did not hear.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Is Tufte overrated?</title>
				<link>https://31416.org/post/is_tufte_overrated/</link>
				<pubDate>Wed, 03 Feb 2016 16:11:30 +0100</pubDate>
				<guid>https://31416.org/post/is_tufte_overrated/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;http://www.edwardtufte.com/tufte/&#34;&gt;Tufte&lt;/a&gt; proposes interesting guidelines to present data, or even to design written semi-scientific papers or books. Some advices&#xA;are particularly relevant like the careful use of colors (don&amp;rsquo;t use all the colors of the rainbow just because you can), and&#xA;in general don&amp;rsquo;t add lines in a graph or designs that are not directly relevant to the message that needs to be conveyed. There is also a parallel&#xA;with Feynman message against (Nasa) &lt;a href=&#34;http://www.zdnet.com/article/death-by-powerpoint/&#34;&gt;Powerpoint presentations&lt;/a&gt;. But other inspirations, are somewhat doubtful.&#xA;He seems to have a fetish for &lt;a href=&#34;http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0000hB&#34;&gt;old texts&lt;/a&gt;. They might be considered pretty, or interesting in some ways, but&#xA;I don&amp;rsquo;t find them particularly easy to read. They look more like esoteric books rather than practical books. If you want to write&#xA;the new Bible for your new cult, it&amp;rsquo;s probably great, not so sure it&amp;rsquo;s so great for a more simple subject.&#xA;Also somewhat surprisingly, his own website is not very well designed, it looks like a maze and very end of 90s.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Option, Futures and Other Derivatives Book Review</title>
				<link>https://31416.org/post/option-futures-and-other-derivatives-book-review/</link>
				<pubDate>Mon, 16 Jun 2008 17:06:00 +0000</pubDate>
				<guid>https://31416.org/post/option-futures-and-other-derivatives-book-review/</guid>
				<description>&lt;p&gt;&lt;em&gt;Option, Futures and Other Derivatives&lt;/em&gt; is by far the most popular book in finance. You will find it in every finance company, on many desks.&lt;/p&gt;&#xA;&lt;p&gt;It is a very good introduction for people not familiar with standard financial products. This kind of book is unavoidable to understand the basis. It goes also beyond with the chapters on pricing and hedging. These 2 chapters make one understand many other book. If one understands the Black and Scholze formula, one can easily approach many other pricing formula, as in a way, there are all similar in their approach.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Structured Equity Derivatives Book Review</title>
				<link>https://31416.org/post/structured-equity-derivatives-book-review/</link>
				<pubDate>Mon, 16 Jun 2008 16:55:00 +0000</pubDate>
				<guid>https://31416.org/post/structured-equity-derivatives-book-review/</guid>
				<description>&lt;p&gt;If one has to learn about equity derivatives, beside the classic &lt;a href=&#34;https://31416.org/post/option-futures-and-other-derivatives-book-review&#34;&gt;Option, Futures and Other Derivatives&lt;/a&gt; from Hull, &lt;em&gt;Structured Equity Derivatives&lt;/em&gt; by Harry M Kat is a must read.&lt;/p&gt;&#xA;&lt;p&gt;His ideas are presented in a software developer friendly way, as his goal is to show how different equity derivatives products are behind the scenes, very similar.&lt;/p&gt;&#xA;&lt;p&gt;I enjoyed the variety of exotic products presented and the very detailed way in which they are explained&lt;/p&gt;</description>
			</item>
			<item>
				<title>Java Concurrency In Practice Book Review</title>
				<link>https://31416.org/post/java-concurrency-in-practice-book-review/</link>
				<pubDate>Wed, 14 Feb 2007 16:33:00 +0000</pubDate>
				<guid>https://31416.org/post/java-concurrency-in-practice-book-review/</guid>
				<description>My reference book on Java concurrency is Doug Lea&amp;#39;s &lt;span style=&#34;font-style: italic;&#34;&gt;&lt;span class=&#34;srTitle&#34;&gt;Concurrent Programming in Java: Design Principles and Patterns&lt;/span&gt;&lt;/span&gt;. He is one of the authors of this new book,  &lt;span style=&#34;font-style: italic;&#34;&gt;Java Concurrency In Practice&lt;/span&gt;. There is also Joshua Bloch, author of &lt;span style=&#34;font-style: italic;&#34;&gt;Effective Java&lt;/span&gt;, that many people love (but I am less a fan of it, even if I would recommend it to Java newbies), and author of  &lt;span style=&#34;font-style: italic;&#34;&gt;Java Puzzlers&lt;/span&gt;, that I found more fun.&lt;br&gt;&lt;br&gt;With such authors, I had relatively high expectations. I was surprised that there is not much material in common between Doug Lea&amp;#39;s book and this one, which is a good thing. It&amp;#39;s a different presentation, that focuses on different problems.  &lt;br&gt;&lt;br&gt;There is some very interesting material, I especially enjoyed chapter 16 on the Java Memory Model. There are not many&amp;nbsp; books with information on it. I did not know that initializing a final member in the constructor was providing thread safety for the accessor method of the corresponding field if there is no other modifying method, no synchronization needed. And not having the member declared as final was breaking the safety. &lt;br&gt;&lt;br&gt;I also had not heard of &lt;a href=&#34;http://en.wikipedia.org/wiki/Amdahl%27s_Law&#34;&gt;Amdahl&amp;#39;s law&lt;/a&gt;  before. It seems quite intuitive, but then the example in the book about processing parallel tasks using a synchronized LinkedList (improvement up to 3 threads, no more later due to time spent on synchronization) shows that the reality is not that intuitive. &lt;br&gt;&lt;br&gt;I enjoyed how the book is written, and how information is presented. There is for example their concept of publication and escape (in chapter 3) which tells you important things, like not starting a Thread in a constructor (and if you still want to do it they present a nice way to do it). &lt;br&gt;&lt;br&gt;I think this book is a simpler read that Doug Lea original book, and probably a better introduction (that still goes very deep) to Java concurrency programming.</description>
			</item>
			<item>
				<title>Good Software Books - 2006 version</title>
				<link>https://31416.org/post/good-software-books---2006-version/</link>
				<pubDate>Mon, 11 Sep 2006 14:27:00 +0000</pubDate>
				<guid>https://31416.org/post/good-software-books---2006-version/</guid>
				<description>Here is an update of the most interesting software books I found interesting. I already made &lt;a  href=&#34;http://chasethedevil.blogspot.com/2005/11/good-software-books.html&#34;&gt;such a list in 2005&lt;/a&gt;:&lt;br&gt; &lt;br&gt; &lt;ul&gt;   &lt;li&gt;&lt;i&gt;Object Oriented Software Construction, 2nd Ed&lt;/i&gt;, by Bertrand Meyer. This made me understand why OOP is important, what is important in OOP and why it is still relevant. It contains lots of important guidelines you can apply to better design programs. One famous quote is &#34;&lt;b&gt;Real systems have no top&lt;/b&gt;&#34;. &lt;i&gt;Code Complete&lt;/i&gt; (Microsoft Press) covers some of the same ideas as Meyer&#39;s book, and some more pragmatic issues that arise in software projects (&#34;&lt;b&gt;measure twice, cut once&lt;/b&gt;&#34;). I also liked the chapter on &#34;table driven design&#34;.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Concurrent Programming in Java, Second Edition&lt;/i&gt;, by Doug&amp;nbsp;Lea: there is all you need to know about programming in a multithreaded environment in it. The chapter on synchronization should be a must read for every Java developer.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Design Patterns&lt;/i&gt; by the GoF: simply the best presentation of most common design patterns. I have a glance on it once in a while.&lt;br&gt;   &lt;/li&gt;   &lt;li&gt;&lt;i&gt;Artificial Intelligence through Prolog&lt;/i&gt;, by Neil C. Rowe (Prentice-Hall): if you don&#39;t remember much about Prolog, it&#39;s a good book. It details how Prolog interpreters work.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;File Systems Forensic Analysis, &lt;/i&gt;by Brian Carrier (Addison Wesley): everything you need to know about disks and file systems, every trick to recover lost data. To go more in depth into file systems theory, you can read the free &lt;i&gt;&lt;a  href=&#34;http://www.nobius.org/%7Edbg/&#34;&gt;Practical File System Design with the Be File System&lt;/a&gt; &lt;/i&gt;from D. Giampaolo, the creator of BeFS.&lt;br&gt;   &lt;/li&gt;   &lt;li&gt;&lt;i&gt;Mind Hacks &lt;/i&gt;(O&#39;Reilly): you probably already bought that one. Not about software, but excellent.&lt;br&gt;   &lt;/li&gt;   &lt;li&gt;&lt;i&gt;Practical Issues in Database Management&lt;/i&gt; by Fabian Pascal (Addison Wesley): short but concise book on relational database theory. F Pascal is of CJ Date school of thoughts, &#34;null are evil&#34;. You don&#39;t need to read it if you have read any other similar book (by CJ Date for example).&lt;br&gt;   &lt;/li&gt;   &lt;li&gt;&lt;i&gt;Inside The Java Virtual Machine,&lt;/i&gt; by Bill Venners (McGraw-Hill): there are other books on the same subject. While this book has some bad reviews, I found it an easy read, and it explain well enough for me all the inner details of Java. I found &#34;Programming for the Java Virtual Machine&#34; not better, and with some bad example of a Prolog language for the JVM (1 full chapter for this to present a way too simple thing to be of any use).&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Programming Jabber&lt;/i&gt;, by O&#39;Reilly: I have read it 2 years ago, I enjoyed how they made you go through building a Jabber server.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Lucene In Action&lt;/i&gt;: the only book about Lucene, some of the info is useful to understand how it is designed.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Hibernate In Action:&lt;/i&gt; if you have to use hibernate, this is the book to read. It presents different ways of using it.&lt;/li&gt;   &lt;li&gt;some Javascript+DHTML(+CSS) book: useful if you have none. They often have good tricks to solve the usual problems. In the AJAX days, it becomes useful again. I find O&#39;Reilly&#39;s &#34;&lt;i&gt;Javascript - The Definitive Guide&lt;/i&gt;&#34; good to have an API reference (as ebook), and &#34;&lt;i&gt;Javascript and DHTML Cookbook&lt;/i&gt;&#34; has the most useful recipes.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Lean Software Development &lt;/i&gt;by Poppendieck (Addison Wesley): easy to read, good presentation of software dev management problems and pragmatic solutions. My favorite on the subject. Another good one but very specific is &#34;&lt;i&gt;Requirements Management&lt;/i&gt;&#34; (MS Press).&lt;/li&gt;   &lt;li&gt;&lt;i&gt;UML Distilled &lt;/i&gt;by M Fowler: always useful to have if you need to draw UML diagrams.&lt;/li&gt; &lt;/ul&gt;</description>
			</item>
			<item>
				<title>Algorithms in Java (Third Edition) Book Review</title>
				<link>https://31416.org/post/algorithms-in-java-third-edition-book-review/</link>
				<pubDate>Wed, 26 Apr 2006 12:26:00 +0000</pubDate>
				<guid>https://31416.org/post/algorithms-in-java-third-edition-book-review/</guid>
				<description>The book &lt;a href=&#34;http://www.amazon.com/exec/obidos/redirect?link_code=ur2&amp;tag=michelin-20&amp;amp;amp;camp=1789&amp;creative=9325&amp;amp;path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0471738840%2Fsr%3D8-1%2Fqid%3D1146046762%2Fref%3Dsr_1_1%3F%255Fencoding%3DUTF8&#34;&gt;Algorithms in Java&lt;/a&gt;&lt;img style=&#34;BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: 0px; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none&#34; height=&#34;1&#34; alt=&#34;&#34; src=&#34;http://www.assoc-amazon.com/e/ir?t=michelin-20&amp;l=ur2&amp;amp;o=1&#34; width=&#34;1&#34; border=&#34;0&#34; /&gt; is huge, but unlike the usual huge books, the content is very interesting. It can be used as reference material, or as toilet book (to learn things while you&#39;re wasting time in the toilets).&lt;br /&gt;&lt;br /&gt;You will learn simple things, like what is the &#34;raison d&#39;être&#34; of linked lists. The author gives very good examples to illustrate his propositions. He explains through the sieve of erathostene and through Josephus problem the advantages of arrays or linked list.&lt;br /&gt;&lt;br /&gt;You will learn step by step everything that is to be known in algorithms. Recursion, divide and conquer, Tree knowledge will be useful for the later sorting and searching chapters.&lt;br /&gt;&lt;br /&gt;The chapter on Hashing will make you understand very clearly why the source of String.hashCode() is&lt;br /&gt;&lt;pre&gt;&lt;span style=&#34;color:#006699;&#34;&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style=&#34;color:#0099ff;&#34;&gt;&lt;strong&gt;int&lt;/strong&gt;&lt;/span&gt; &lt;span style=&#34;color:#9966ff;&#34;&gt;hashCode&lt;/span&gt;() &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span style=&#34;color:#0099ff;&#34;&gt;&lt;strong&gt;int&lt;/strong&gt;&lt;/span&gt; h &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; hash;&lt;/pre&gt;&lt;pre&gt;&lt;span style=&#34;color:#006699;&#34;&gt;&lt;strong&gt;  if&lt;/strong&gt;&lt;/span&gt; (h &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style=&#34;color:#ff0000;&#34;&gt;0&lt;/span&gt;) &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=&#34;color:#000000;&#34;&gt; &lt;/span&gt;    &lt;span style=&#34;color:#0099ff;&#34;&gt;&lt;strong&gt;int&lt;/strong&gt;&lt;/span&gt; off &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; offset;&lt;/pre&gt;&lt;pre&gt;     &lt;span style=&#34;color:#0099ff;&#34;&gt;&lt;strong&gt;char&lt;/strong&gt;&lt;/span&gt; val[] &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; value;&lt;/pre&gt;&lt;pre&gt;     &lt;span style=&#34;color:#0099ff;&#34;&gt;&lt;strong&gt;int&lt;/strong&gt;&lt;/span&gt; len &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; count;&lt;/pre&gt;&lt;pre&gt;     &lt;span style=&#34;color:#006699;&#34;&gt;&lt;strong&gt;for&lt;/strong&gt;&lt;/span&gt; (&lt;span style=&#34;color:#0099ff;&#34;&gt;&lt;strong&gt;int&lt;/strong&gt;&lt;/span&gt; i &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style=&#34;color:#ff0000;&#34;&gt;0&lt;/span&gt;; i &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;&amp;lt; &lt;/strong&gt;&lt;/span&gt; len; i&lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/span&gt;&lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/span&gt;) h &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style=&#34;color:#ff0000;&#34;&gt;31&lt;/span&gt;&lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;*&lt;/strong&gt;&lt;/span&gt;h &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/span&gt; val[off&lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt; +&lt;/strong&gt;&lt;/span&gt;&lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/span&gt;];&lt;/pre&gt;&lt;pre&gt;     hash &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; h;&lt;/pre&gt;&lt;pre&gt;  &lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span style=&#34;color:#006699;&#34;&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; h;&lt;/pre&gt;&lt;pre&gt;&lt;span style=&#34;color:#000000;&#34;&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt; &lt;/pre&gt;&lt;br /&gt;There might be too much info on different types of sorting algorithms and the book becomes there more a reference book than anything else. But overall, you will learn plenty with this book. It is very well written, complete, and will refresh one&#39;s memory. I find it useful to read back things I learnt after a few years as I then have a very different view of the subject, and I pay closer attention to some details I completely missed the first time (sometimes). &lt;br /&gt;&lt;span class=&#34;technoratitag&#34;&gt;Tags: &lt;a href=&#34;http://www.technorati.com/tags/java&#34; rel=&#34;tag&#34;&gt;java&lt;/a&gt; &lt;a href=&#34;http://www.technorati.com/tags/book&#34; rel=&#34;tag&#34;&gt;book&lt;/a&gt; &lt;a href=&#34;http://www.technorati.com/tags/review&#34; rel=&#34;tag&#34;&gt;review&lt;/a&gt;&lt;/span&gt;</description>
			</item>
			<item>
				<title>SOA and B. Meyer</title>
				<link>https://31416.org/post/soa-and-b.-meyer/</link>
				<pubDate>Fri, 31 Mar 2006 15:08:00 +0000</pubDate>
				<guid>https://31416.org/post/soa-and-b.-meyer/</guid>
				<description>&lt;p&gt;While rereading parts of &lt;em&gt;Object Oriented Software Construction&lt;/em&gt; from B. Meyer, I still find valuable information I overlooked. In the part about functional decomposition where he argues pro and cons of top-down / bottom-up approaches, he has the intuition of the current SOA hype. By showing that&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Real systems have no top.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;He suggests that the only way to build complex software is through a service oriented architecture. Of course SOA is a very old concept. Meyer example of Operating Systems is a fine one.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Non Fiction Books (Mostly Software Programming) Before 2003</title>
				<link>https://31416.org/post/non-fiction-books-mostly-software-programming-before-2003/</link>
				<pubDate>Wed, 15 Mar 2006 15:03:00 +0000</pubDate>
				<guid>https://31416.org/post/non-fiction-books-mostly-software-programming-before-2003/</guid>
				<description>A page with useful reference for me as I don&#39;t own each one of these books. It can provides you a very short review non-commercial biased.&lt;br /&gt;&lt;p class=&#34;dateheader&#34;&gt;&lt;span style=&#34;color: rgb(0, 153, 0);&#34;&gt;2003&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&#34;font-style: italic;&#34;&gt;&lt;span style=&#34;font-weight: bold;&#34;&gt;Programming Jakarta Struts&lt;/span&gt; &lt;/span&gt;(O&#39;Reilly - Chuck Cavaness) much better than Manning book. Explains struts very clearly with a more interesting example. Not enough  on how to design your application for use with the evil ActionForm. Almost nothing on Struts 1.1 features. Nothing on common problems encountered while building web applications, or even about on how to design them using struts.&lt;/li&gt; &lt;li&gt;&lt;span style=&#34;font-style: italic; font-weight: bold;&#34;&gt;Struts In Action&lt;/span&gt; (Manning) not much more about struts than what&#39;s available on struts website. Their example throughout the book is the same login example. Struts 1.1 features, esp DynaForm are mentioned but not really presented. On the positive side, there is a very useful Validator reference at the end and a too short mention of different strategies for the ActionForm.&lt;/li&gt;&lt;li&gt;&lt;span style=&#34;font-style: italic; font-weight: bold;&#34;&gt;Contributing to Eclipse&lt;/span&gt; (Kent Beck - Erich Gamma) funny little drawings inside to make some good points.&lt;/li&gt;&lt;li&gt;&lt;span style=&#34;font-style: italic; font-weight: bold;&#34;&gt;The Design Patterns Java Companion&lt;/span&gt;(Adison Wesley - James W. Cooper) A must read for clean swing development. Essencial design patterns inside. Nice tip about doing deep cloning in java.&lt;/li&gt;&lt;li&gt;&lt;span style=&#34;font-style: italic; font-weight: bold;&#34;&gt;Java Threads&lt;/span&gt; (O&#39;Reilly - Scott Oaks and Henry Wong) very clear presentation of multithreading programming in Java. Explain how to write your own thread scheduler.&lt;/li&gt;&lt;li&gt;&lt;span style=&#34;font-style: italic; font-weight: bold;&#34;&gt;J2EE expert one on one &lt;/span&gt;(Wrox) pragmatic view of J2EE. Many interesting comments like why avoiding stateful session bean if you are a little bit concerned with performance. Some strange benchmarks at the end of the book showing velocity templates being 10x faster than JSPs.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&#34;font-style: italic; font-weight: bold;&#34;&gt;Java Distributed Computing&lt;/span&gt;(O&#39;Reilly - Jim Farley) very good to learn more about RMI because it starts with a custom distributed object system.&lt;/li&gt; &lt;li&gt;&lt;a name=&#34;Java Enterprise in a Nutshell&#34;&gt;&lt;/a&gt; &lt;div class=&#34;booktitle&#34;&gt;&lt;span style=&#34;font-weight: bold; font-style: italic;&#34;&gt;Java Enterprise in a Nutshell &lt;/span&gt;(O&#39; Reilly - David Flanagan, Jim Farley, William Crawford, and Kris Magnusson) good complementary book, provides a good basis. I liked how RMI use in EJBs was detailed, Servlet chapter is also excellent (but don&#39;t look for design tips/help in it - it is a book on the BASICS).&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&#34;booktitle&#34;&gt;&lt;span style=&#34;font-style: italic; font-weight: bold;&#34;&gt;Enterprise Javabeans, second edition&lt;/span&gt; (O&#39;Reilly - Richard Monson-Haefel) second lecture made me better appreciate that book, contains a lot of fundamental concepts to know. Very detailed on transaction management. However there is nothing I remember in it about EJB restrictions. In short incomplete but not bad.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&#34;booktitle&#34;&gt;&lt;span style=&#34;font-style: italic; font-weight: bold;&#34;&gt;Structure And Interpretation Of Computer Programs&lt;/span&gt; (MIT Press)&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&#34;dateheader&#34;&gt;&lt;span style=&#34;color: rgb(0, 153, 0);&#34;&gt;2002&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Professional Portal Development Book Review</title>
				<link>https://31416.org/post/professional-portal-development-book-review/</link>
				<pubDate>Tue, 27 Dec 2005 12:08:00 +0000</pubDate>
				<guid>https://31416.org/post/professional-portal-development-book-review/</guid>
				<description>&lt;p&gt;I just finished reading &lt;em&gt;Professional Portal Development With Open Source Tools&lt;/em&gt; (Wiley).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;The Good:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I enjoyed Chapter 1, it gives a good presentation of Portlets for someone who does not know much about it. It is a chapter one can use as a reference to verify some specific details of how Portlets are working. It is a bit similar to JSR 168 specifications, but I found it more detailed and well written.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Good Software Books</title>
				<link>https://31416.org/post/good-software-books/</link>
				<pubDate>Thu, 17 Nov 2005 21:24:00 +0000</pubDate>
				<guid>https://31416.org/post/good-software-books/</guid>
				<description>A friend asked me for a list, here is it. I found those books the most interesting ones among those I have read about software in the past year or two:&lt;br&gt; &lt;ul&gt;   &lt;li&gt;&lt;i&gt;Artificial Intelligence through Prolog&lt;/i&gt;, by Neil C. Rowe (Prentice-Hall): if you don&#39;t remember much about Prolog, it&#39;s a good book. It details how Prolog interpreters work.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;File Systems Forensic Analysis, &lt;/i&gt;by Brian Carrier (Addison Wesley): everything you need to know about disks and file systems, every trick to recover lost data. To go more in depth into file systems theory, you can read the free &lt;i&gt;&lt;a  href=&#34;http://www.nobius.org/%7Edbg/&#34;&gt;Practical File System Design with the Be File System&lt;/a&gt; &lt;/i&gt;from D. Giampaolo, the creator of BeFS.&lt;br&gt;   &lt;/li&gt;   &lt;li&gt;&lt;i&gt;Mind Hacks &lt;/i&gt;(O&#39;Reilly): you probably already bought that one. Not about software, but excellent.&lt;br&gt;   &lt;/li&gt;   &lt;li&gt;&lt;i&gt;Practical Issues in Database Management&lt;/i&gt; by Fabian Pascal (Addison Wesley): short but concise book on relational database theory. F Pascal is of CJ Date school of thoughts, &#34;null are evil&#34;. You don&#39;t need to read it if you have read any other similar book (by CJ Date for example).&lt;br&gt;   &lt;/li&gt;   &lt;li&gt;&lt;i&gt;Inside The Java Virtual Machine,&lt;/i&gt; by Bill Venners (McGraw-Hill): there are other books on the same subject. While this book has some bad reviews, I found it an easy read, and it explain well enough for me all the inner details of Java. I found &#34;Programming for the Java Virtual Machine&#34; not better, and with some bad example of a Prolog language for the JVM (1 full chapter for this to present a way too simple thing to be of any use).&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Programming Jabber&lt;/i&gt;, by O&#39;Reilly: I have read it 2 years ago, I enjoyed how they made you go through building a Jabber server.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Lucene In Action&lt;/i&gt;: the only book about Lucene, some of the info is useful to understand how it is designed.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Hibernate In Action:&lt;/i&gt; if you have to use hibernate, this is the book to read. It presents different ways of using it.&lt;/li&gt;   &lt;li&gt;some Javascript+DHTML(+CSS) book: useful if you have none. They often have good tricks to solve the usual problems. In the AJAX days, it becomes useful again. I find O&#39;Reilly&#39;s &#34;&lt;i&gt;Javascript - The Definitive Guide&lt;/i&gt;&#34; good to have an API reference (as ebook), and &#34;&lt;i&gt;Javascript and DHTML Cookbook&lt;/i&gt;&#34; has the most useful recipes.&lt;/li&gt;   &lt;li&gt;&lt;i&gt;Lean Software Development &lt;/i&gt;by Poppendieck (Addison Wesley): easy to read, good presentation of software dev management problems and pragmatic solutions. My favorite on the subject. Another good one but very specific is &#34;&lt;i&gt;Requirements Management&lt;/i&gt;&#34; (MS Press).&lt;/li&gt;   &lt;li&gt;&lt;i&gt;UML Distilled &lt;/i&gt;by M Fowler: always useful to have if you need to draw UML diagrams.&lt;/li&gt; &lt;/ul&gt; &lt;br&gt; Good luck!</description>
			</item>
			<item>
				<title>7 Years Later: Still EJBs</title>
				<link>https://31416.org/post/7-years-later-still-ejbs/</link>
				<pubDate>Mon, 07 Nov 2005 16:29:00 +0000</pubDate>
				<guid>https://31416.org/post/7-years-later-still-ejbs/</guid>
				<description>In 1998, a student of my school had a project with Sun about EJBs. This was the beginning of EJBs, they were not public, and there was no J2EE. At that time he found it utterly complicated, and had difficulties to understand why they made it so complicated.&lt;br /&gt;&lt;br /&gt;In 2000, I worked for a company who had built in-house most components of a today J2EE application server. For example, they had their own unified messaging system, on the JSP side, they were already using custom tags, etc.. Their problem is that they took lots of time to develop in-house, all what later became standard, and almost freely available.&lt;br /&gt;&lt;br /&gt;Today, 7 years later, the big talk, new Java products, be it Spring, or JBoss Seam, are still all about the same ideas as in the first J2EE. Spring has the freedom to include whatever technology, but in the end, their scope closely matches J2EE scope. Service Oriented Architecture (SOA), the current buzzword, will come out relatively naturally with J2EE, session EJBs being natural candidate to expose functionalities to the outer world. JBoss (or Geronimo) architecture is fully SOA: a small kernel managing services, that are exposed for other to use.&lt;br /&gt;&lt;br /&gt;To learn about EJBs, I still find &lt;a href=&#34;http://www.amazon.com/exec/obidos/redirect?path=ASIN/059600530X&amp;link_code=as2&amp;amp;amp;camp=1789&amp;tag=michelin-20&amp;amp;creative=9325&#34;&gt;Enterprise JavaBeans&lt;/a&gt; by Richard Monson-Haefel, the best book. The chapter (in the 2nd Edition of the book, not in the 4th unfortunately) where he rolls his own distributed objects system is for me a testimony on how well he wants you to understand what&#39;s behind EJBs. And if you want to better understand what&#39;s behind RMI, &lt;a href=&#34;http://www.amazon.com/exec/obidos/redirect?path=ASIN/1565922069&amp;link_code=as2&amp;amp;amp;camp=1789&amp;tag=michelin-20&amp;amp;creative=9325&#34;&gt;Java Distributed Computing (O&#39;Reilly)&lt;/a&gt;&lt;img src=&#34;http://www.assoc-amazon.com/e/ir?t=michelin-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1565922069&#34; width=&#34;1&#34; height=&#34;1&#34; border=&#34;0&#34; alt=&#34;&#34; style=&#34;border:none !important; margin:0px !important;&#34; /&gt; has a chapter where the author rolls his own RMI.&lt;br /&gt;&lt;br /&gt;To conclude, Sun was really clever in defining J2EE scope and branding several Java technologies as J2EE (despite the awful version naming). While the ideas were very good, the developer&#39;s life was forgotten. It was too much a pain in the a** and not flexible enough (especially the ORM side). JBoss gets it right, what people need is a way to use pieces of J2EE, without imposing too much unnecessary hurdle on development.</description>
			</item>
			<item>
				<title>Spring Books Roundup Updated</title>
				<link>https://31416.org/post/spring-books-roundup-updated/</link>
				<pubDate>Mon, 10 Oct 2005 16:27:00 +0000</pubDate>
				<guid>https://31416.org/post/spring-books-roundup-updated/</guid>
				<description>&lt;p&gt;I am completing my &lt;a href=&#34;https://31416.org/post/spring-books-roundup&#34;&gt;Spring Books Roundup&lt;/a&gt; with 2 new books:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Pro Spring&lt;/em&gt;, by Apress: a lengthy book, with some unnecessary information, but good overall. I did not like the Part 1, there is not much content in it. Fortunately, Part 2 is much better, dependency injection is very well described, almost on par, with the Fowler article of reference. Other Spring areas are well covered, in a similar manner as in Wrox book, except Java Server Faces, absent from the book, and nothing on Swing as well&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Spring Reference Documentation&lt;/em&gt;, from the &lt;a href=&#34;http://www.springframework.org/documentation&#34;&gt;springframework.org&lt;/a&gt; website: I should have started with this one, it is of very good quality, and more up-to-date. There is notably a very good chapter on &amp;ldquo;Source Level Metadata Support&amp;rdquo; even if I don&amp;rsquo;t find particularly compelling that they chose yet another abstraction behind Java 5 annotations, partly to support older JDKs. Another plus is a chapter on JMX support, this was lacking in other books.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Interestingly most other books are very similar to the reference documentation, in their presentation and content. The reference documentation is extremely well written. Each time the author carefully explains what are the advantages of the Spring solution, or what does a particular feature solve. Only dependency injection and swing are not treated properly.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Spring Books Roundup</title>
				<link>https://31416.org/post/spring-books-roundup/</link>
				<pubDate>Mon, 10 Oct 2005 11:15:00 +0000</pubDate>
				<guid>https://31416.org/post/spring-books-roundup/</guid>
				<description>&lt;p&gt;Spring is hip these days, so I decided to learn a bit more about it. I had used Avalon a while ago, I was attracted by its design by component and the way it seemed to lay out a proper infrastructure to build a server application. In the end, I was a bit disappointed, it required a bit too much glue code for my taste and did not provide that much in exchange. I don&amp;rsquo;t remember if, at that time, it was advertised as IoC (Inversion Of Control) container. This experience is one of the reasons why I did not jump on the Spring ship.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Java Puzzlers - Can you figure this out?</title>
				<link>https://31416.org/post/java-puzzlers---can-you-figure-this-out/</link>
				<pubDate>Wed, 28 Sep 2005 16:04:00 +0000</pubDate>
				<guid>https://31416.org/post/java-puzzlers---can-you-figure-this-out/</guid>
				<description>&lt;iframe src=&#34;http://rcm.amazon.com/e/cm?t=michelin-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=032133678X&amp;fc1=000000&amp;=1&amp;lc1=0000ff&amp;bc1=000000&amp;lt1=_blank&amp;IS2=1&amp;bg1=ffffff&amp;f=ifr&#34; style=&#34;width:120px;height:240px;margin:5px&#34; scrolling=&#34;no&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; frameborder=&#34;0&#34; align=&#34;left&#34;&gt;&lt;/iframe&gt;The book Java Puzzlers is quite good. I don&#39;t think anyone can get every puzzle right. This shows again how you can very easily make someone fail interviews if you ask too silly questions. I suppose that if people were asking those questions they would not expect the right answers, but study the candidate reactions.&lt;br /&gt;&lt;br /&gt;Here is a sample:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;public class DosEquis {&lt;br /&gt;&amp;nbsp;&amp;nbsp;public static void main(String[] args) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char x = &#39;X&#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int i = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.print(true ? x : 0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.print(false ? i : x);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;} &lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;This will output &#34;X88&#34;. Obviously this is not good code, which is precisely one of the book objectives: to show how bad some practices can be. But at the same time you learn a bit more about the Java language and its possibilities. In the latter chapters they have more interesting puzzles.</description>
			</item>
			<item>
				<title>Is Prolog Better Suited Than SQL?</title>
				<link>https://31416.org/post/is-prolog-better-suited-than-sql/</link>
				<pubDate>Mon, 26 Sep 2005 15:36:00 +0000</pubDate>
				<guid>https://31416.org/post/is-prolog-better-suited-than-sql/</guid>
				<description>&lt;p&gt;I am currently reading a Prolog book &lt;em&gt;Artificial Intelligence Through Prolog&lt;/em&gt;, I have been doing a bit of Prolog when I was very young and wanted to refresh my memory a bit. It is a very interesting read, especially when I take the viewpoint of our current application where no ACID compliance is required.&lt;/p&gt;&#xA;&lt;p&gt;It seems to me that all the logic we coded to parametrize SQL queries and construct them dynamically could have been avoided if we had chosen Prolog as Prolog expressions would have been very natural to use in our project. With Prolog, there is no need to think about joins, type of joins, SQL syntax. It is at the level just higher. I wonder very much why Prolog did not become more mainstream as it seems to solve some problems in a much nicer, natural way.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Inside the Java Virtual Machine</title>
				<link>https://31416.org/post/inside-the-java-virtual-machine/</link>
				<pubDate>Thu, 18 Aug 2005 11:03:00 +0000</pubDate>
				<guid>https://31416.org/post/inside-the-java-virtual-machine/</guid>
				<description>I am reading an old book, &lt;a href=&#34;http://www.amazon.com/exec/obidos/redirect?link_code=ur2&amp;amp;camp=1789&amp;amp;tag=michelin-20&amp;amp;creative=9325&amp;amp;path=tg/detail/-/0079132480&#34;&gt;Inside the Java Virtual Machine&lt;/a&gt;&lt;img src=&#34;http://www.assoc-amazon.com/e/ir?t=michelin-20&amp;amp;l=ur2&amp;amp;o=1&#34; width=&#34;1&#34; height=&#34;1&#34; border=&#34;0&#34; alt=&#34;&#34; style=&#34;border:none !important; margin:0px !important;&#34; /&gt;. Some old books don&#39;t age, and this is one of them. The chapter on the Java Virtual Machine is just excellent and should be read by every Java developer. It explains each step a JVM does when you run a Java program, very clearly.&lt;br /&gt;&lt;br /&gt;You could get plenty of stupid interview questions from it like: How is the Java stack used? Between method area, heap, pc register, stack which one are shared among threads?&lt;br /&gt;&lt;br /&gt;Also they saw the full potential of Java quite early on (1997). They explain how the JVM specs allow for very different implementations, ones that can run in different environments, for example, simplifying a bit: low memory, embedded world, or lots of memory, mainframe world. It is not an accident if Microsoft chosed a very similar design for the CLI of .NET, they have been looking for getting into the embedded area for quite some time, and apparently, they are making good progress.</description>
			</item>
	</channel>
</rss>
