<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Matthieu Brucher&#039;s blog &#187; Book review</title> <atom:link href="http://matt.eifelle.com/category/general/book-review-general/feed/" rel="self" type="application/rss+xml" /><link>http://matt.eifelle.com</link> <description></description> <lastBuildDate>Tue, 27 Jul 2010 07:04:23 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.1</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Book book: Hacking Roomba: ExtremeTech</title><link>http://matt.eifelle.com/2010/07/20/book-book-hacking-roomba-extremetech/</link> <comments>http://matt.eifelle.com/2010/07/20/book-book-hacking-roomba-extremetech/#comments</comments> <pubDate>Tue, 20 Jul 2010 06:44:16 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[Book review]]></category> <category><![CDATA[Wiley]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=1295</guid> <description><![CDATA[I&#8217;ve recently bought a fourth generation Roomba, which is a vacuum cleaning robot. I bought this brand because it is well-known and has a good history of hackable robots. So the next step was to figure out how to hack it, and hence this book.Content and opinions
The book is split in three parts with progress [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve recently bought a fourth generation <a
href="http://www.irobot.com/">Roomba</a>, which is a vacuum cleaning robot. I bought this brand because it is well-known and has a good history of hackable robots. So the next step was to figure out how to hack it, and hence this book.<br
/> <span
id="more-1295"></span></p><h4>Content and opinions</h4><p>The book is split in three parts with progress hacking solutions. It is to be mentioned that it is dedicated to hacking the third generation, but the interface should be the same, although some instructions may have changed. Perhaps a new edition of the book may be needed.</p><p>iRobot had the good idea of opening their pets to hackers. It is done through a serial interface called ROI. The first encompasses the creation (or the buying) of a connector between a PC and the Roomba. There are several solutions, from a simple serial cable to a Bluetooth interface. Once you have a connector, you need to learn and use the interface to make the robot move and feel. Each captor and motor is explained as well as how it can be interacted with. The main examples are given through a Java library (I would have prefered a Python library, of course).</p><p>The second part is perhaps the least interesting. It starts with making an application to steer the robot. It is done with <a
href="http://www.processing.org/">Processing</a>, an obscur language that runs on the JVM. <a
href="http://www.infoworld.com/d/developer-world/top-five-scripting-languages-the-jvm-855">Why not one of the top five script language on it</a>? You may then use the inner beeper to make some music. Indeed, it can be fun, but it&#8217;s also not that easy, even with the help of the book. More fun is making art drawings with addition of pens sticked on the Roomba. I was a big fan of these kind of drawngs when I was young. The last chapter exposes the Roomba as a big input device such as a mouse. Of course, it can help doing some sports&#8230;</p><p>The last part is about using additional platforms to make a more complicated robot. First, you may connect it to the Internet to steer it from the other end of the world, the next step being using WiFi. Then, you may upgrade its brain with a classic Linux board, adding a camera, &#8230; OK, this is fun, but it&#8217;s not a cleaner anymore. It begins to be even very ugly and not that autonomous unless you stick a big battery pack. But I have to be agree on some aspects of the mod: it&#8217;s a good basis for building one&#8217;s custom robot. But you may find a skeletton for less (or not).</p><h4>Conclusion</h4><p>I intend to keep my Roomba as a vacuum cleaner, not a complete robot with a wifi router on top of it. Still, it is interesting to know that you can do a lot with it, and first of all with a simple serial cable or a Bluetooth connection.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"><a
rel="nofollow" href="http://r.popshops.com/r/a0ExSGx1YUhML0JZWGQ3dnhrK0FkZG4rM2I2MWNic2V0UStmbHE0ZlRLYz0K"><img
style="width: 150px;" src="http://images.textbooks.com/TextbookInfo/Covers/0470072717.gif" border="0" alt="Hacking Roomba" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/r/a0ExSGx1YUhML0JZWGQ3dnhrK0FkZG4rM2I2MWNic2V0UStmbHE0ZlRLYz0K">Hacking Roomba</a><br
/> Price: $20.22<br
/> By Kurt &#8211; John Wiley &amp; Sons, Inc. (00) &#8211; Paperback &#8211; ISBN 10 0470072717 &#8211; ISBN 13 9780470072714</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 60px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/B0015DCQI0/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/512d%2BgqfCrL._SL75_.jpg" width="60" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/B0015DCQI0/masbl03-20" target="_blank">Hacking Roomba: ExtremeTech</a> (Paperback)<br
/> <span
style="font-size: 0.8em;">by <strong>Tod E. Kurt</strong></span><br
/> ISBN:</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;"> &#8212;</span><br
/> <strong>26 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 22.15</span></p><p> <img
src="http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/stars-4.5.gif" class="asa_rating_stars" /> | 4.5 | 7</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/07/20/book-book-hacking-roomba-extremetech/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Book review: Building Automation: Communication Systems with EIB/KNX, LON and BACnet</title><link>http://matt.eifelle.com/2010/06/08/book-review-building-automation-communication-systems-with-eibknx-lon-and-bacnet/</link> <comments>http://matt.eifelle.com/2010/06/08/book-review-building-automation-communication-systems-with-eibknx-lon-and-bacnet/#comments</comments> <pubDate>Tue, 08 Jun 2010 07:16:30 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[Book review]]></category> <category><![CDATA[Electronic]]></category> <category><![CDATA[General]]></category> <category><![CDATA[Springer]]></category> <category><![CDATA[Building automation]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=1203</guid> <description><![CDATA[After last week review, I&#8217;ve decided to try another book from a much higher standard publisher, Springer. The price is also far higher, but it covers what I think are the current best supports for building automation.Content and opinions
There are three book&#8217;s authors, three German people, as Germany is one of the countries where building [...]]]></description> <content:encoded><![CDATA[<p>After <a
href="http://matt.eifelle.com/2010/06/01/book-review-smart-home-automation-with-linux/">last week review</a>, I&#8217;ve decided to try another book from a much higher standard publisher, Springer. The price is also far higher, but it covers what I think are the current best supports for building automation.<br
/> <span
id="more-1203"></span></p><h4>Content and opinions</h4><p>There are three book&#8217;s authors, three German people, as Germany is one of the countries where building automation is well developped.</p><p>The first chapter describes what building automation is. Its sub-categories are also explained (control, measurement and management), and I have to say that there are some differences that I didn&#8217;t apprehend before. Automation has several clear benefits: comfort with automatic heating, lights, &#8230; but also economies as a good heating control will lead to less consumption. This can really help in commercial or industrial buildings. It&#8217;s also astonishing to see that even new bulding do not come with a complete automation system. Heating is almost handled, but lights and blinds are not. Heating is not completely handled in my opinion because settings cannot be given outside your office.</p><p>The second chapter is perhaps the less interesting of the five. If you have basis in telecommunications, it will be a rehearsal of your first class. If you have not, you will at least know how it can work.</p><p>Now, the book has three chapters on each of the main automation technologies, Konnex, LON and BACnet. Each time, the chapter is independent, and sometimes you even learn something on a technology when reading the next one. When I say independent, I mean that you don&#8217;t need to read the other chapters if you want to read only one. It also means that you will see redundancy. This could be explained by each author writting his own chapter without much interaction on their content.</p><p>Each time, you will learn every detail of the different busses, with perhaps sometimes too many. For BACnet, you will go through the Ethernet interface in detail, although it is something really common in the ISO model. But to select the right bus, you need to know everything it can provide.</p><h4>Conclusion</h4><p>Contrary to my last book, this one was really interesting. I didn&#8217;t know that KNX was mainly based on one BCU (Bus Coupling Unit) with different actuators. Although you can also do management with KNX, I concur that it is a control bus at heart. I also appreciate the fact that each bus is open in the sense that there are several manufacturers that can provide appliances, and that their operation is clearly explained.</p><p>If you don&#8217;t know what building automation is and if you want to build your home, a commercial building, or if you renovate something, this book can help you should an adequate automation bus. Don&#8217;t forget that in these times of peak energy, economy associated with better comfort is a horse that can win the race.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"> <a
rel="nofollow" href="http://r.popshops.com/r/bnNjRDhOVjd0cGhZc01QNXl4Z0dOaUFlc0l2UlcxeDUzOGRNY291MXpjST0K"><img
style="width: 150px;" src="http://images.barnesandnoble.com/images/42490000/42499788.JPG" border="0" alt="Building Automation: Communication Systems with Eib/Knx, Lon Und Bacnet" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/r/bnNjRDhOVjd0cGhZc01QNXl4Z0dOaUFlc0l2UlcxeDUzOGRNY291MXpjST0K">Building Automation: Communication Systems with Eib/Knx, Lon Und Bacnet</a><br
/> Price: $87.2</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 50px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/3540888284/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/41LQEKV2%2BKL._SL75_.jpg" width="50" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/3540888284/masbl03-20" target="_blank">Building Automation: Communication systems with EIB/KNX, LON and BACnet (Signals and Communication Technology)</a> (Hardcover)<br
/> <span
style="font-size: 0.8em;">by <strong>Hermann Merz, Thomas Hansemann, Christof Hübner</strong></span><br
/> ISBN: 3540888284</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;">USD 87.20</span><br
/> <strong>26 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 81.05</span></p><p> |  | 0</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/06/08/book-review-building-automation-communication-systems-with-eibknx-lon-and-bacnet/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Book review: Smart Home Automation with Linux</title><link>http://matt.eifelle.com/2010/06/01/book-review-smart-home-automation-with-linux/</link> <comments>http://matt.eifelle.com/2010/06/01/book-review-smart-home-automation-with-linux/#comments</comments> <pubDate>Tue, 01 Jun 2010 07:54:12 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[APress]]></category> <category><![CDATA[Book review]]></category> <category><![CDATA[Building automation]]></category> <category><![CDATA[Home automation]]></category> <category><![CDATA[Linux]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=1191</guid> <description><![CDATA[Last few days, I was looking for tools for building automation (I&#8217;m investigating the technology I may be using in my future home), so I borrowed this book. It seemed to be on a par with my ideal of home automation: Linux as a ground basis for steering the automation. Let&#8217;s see if it kept [...]]]></description> <content:encoded><![CDATA[<p>Last few days, I was looking for tools for building automation (I&#8217;m investigating the technology I may be using in my future home), so I borrowed this book. It seemed to be on a par with my ideal of home automation: Linux as a ground basis for steering the automation. Let&#8217;s see if it kept its promises.<br
/> <span
id="more-1191"></span></p><h4>Content and opinions</h4><p>The book starts with two protocols that can be used, X10 and C-Bus. X10 uses the power lines to communicate between elements, and C-Bus uses a proprietary protocol on a specific bus that must be installed by a specific company. It can also use a wireless protocol. Both seem to be widely available in America, but in Europe, it&#8217;s different. The chapter presents a lot of appliances, but I don&#8217;t know f they are available on Europe power lines for X10 or even if they are sold in Europe (for both of them). It&#8217;s too bad the author didn&#8217;t choose a better support (like a real ISO and open standard like KNX). X10 is somewhat limited like C-Bus is although in a different way.</p><p>The second chapter is about different hardwares that can be used. The first is the well-known NSLU2, then are other gaming consoles. It seems that safe for the high end consoles, every other hardware is either discontinued or difficult to hack (there are a lot of hacking to do according to the book). For instance Arduino needs some soldering. What about hardware like <a
href="http://en.wikipedia.org/wiki/SheevaPlug">the Sheeva plug</a> ?</p><p>The next chapter explains how media data can be stored and accessed. It&#8217;s more or less a sum up of what can be found on the Internet. In fact, the rest of the book is material like this. A real big sum up of what can be found on media use on the Internet, and a lot of shell code to make it work.</p><h4>Conclusion</h4><p>It&#8217;s not that the book is of no use. If you have X10 appliances or C-Bus ones, if you need a big tutorial on media control, this book might be for you. If you want to do home automation, I&#8217;m afraid only the first chapter deals with what home automation is mainly about: light and heating control.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"> <a
rel="nofollow" href="http://r.popshops.com/r/SUtkcUtkQVU5K0ZoQmVvUUtQQld5YWZ6VWlDRWg3b1d1MXR2ZHg3akZRMD0K"><img
style="width: 150px;" src="http://images.barnesandnoble.com/images/56740000/56742328.JPG" border="0" alt="Smart Home Automation with Linux" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/r/SUtkcUtkQVU5K0ZoQmVvUUtQQld5YWZ6VWlDRWg3b1d1MXR2ZHg3akZRMD0K">Smart Home Automation with Linux</a><br
/> Price: $25.19</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 62px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/1430227788/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/51%2BhzUrrBXL._SL75_.jpg" width="62" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/1430227788/masbl03-20" target="_blank">Smart Home Automation with Linux (Expert&#8217;s Voice in Linux)</a> (Paperback)<br
/> <span
style="font-size: 0.8em;">by <strong>Steven Goodwin</strong></span><br
/> ISBN: 1430227788</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;">USD 23.09</span><br
/> <strong>33 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 20.51</span></p><p> <img
src="http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/stars-5.gif" class="asa_rating_stars" /> | 5 | 4</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/06/01/book-review-smart-home-automation-with-linux/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Book review: 97 Things Every Programmer Should Know</title><link>http://matt.eifelle.com/2010/05/25/book-review-97-things-every-programmer-should-know/</link> <comments>http://matt.eifelle.com/2010/05/25/book-review-97-things-every-programmer-should-know/#comments</comments> <pubDate>Tue, 25 May 2010 07:14:40 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[Book review]]></category> <category><![CDATA[O'Reilly]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=1182</guid> <description><![CDATA[97 pieces of advice, not less, not more. Several dozens of (more or less famed) developers were asked for their opinion on programming good practices, and their answers were compiled in this book.Content and opinions
Each &#8220;thing&#8221; is explained by a two-pages article. The tone is different as each chapter is written by different authors. They [...]]]></description> <content:encoded><![CDATA[<p>97 pieces of advice, not less, not more. Several dozens of (more or less famed) developers were asked for their opinion on programming good practices, and their answers were compiled in this book.<br
/> <span
id="more-1182"></span></p><h4>Content and opinions</h4><p>Each &#8220;thing&#8221; is explained by a two-pages article. The tone is different as each chapter is written by different authors. They are sorted alphabetically, and there is a table of contents sorted by topics.</p><p>The topics browse the modern/current approach to programming (in almost every aspect), emphasing the need for tests, automatic tools, good designs or personal enhancement. Of course, they cannot be deepened in so few words, so you have to get another book for more detailed explanations. This also means that for some pieces of advice, you may found them too obvious, as you need details to implement the approach.</p><h4>Conclusion</h4><p>This book is a great first approach to good practices. If you are used to reading good practices books, you may not need this one, but it tries efficiently to sum up the different faces of modern programming.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"><a
rel="nofollow" href="http://r.popshops.com/r/U1J3YWFpNlh0YW5QSTFaaWRUcU1RakFLdWpycUpEOWRwL1A0d0V6akcrYz0K"><img
style="width: 150px;" src="http://images.barnesandnoble.com/images/55910000/55918434.JPG" border="0" alt="97 Things Every Programmer Should Know: Collective Wisdom from the Experts" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/r/U1J3YWFpNlh0YW5QSTFaaWRUcU1RakFLdWpycUpEOWRwL1A0d0V6akcrYz0K">97 Things Every Programmer Should Know: Collective Wisdom from the Experts</a><br
/> Price: $21.59</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 50px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/0596809484/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/41V%2BeeI0XzL._SL75_.jpg" width="50" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/0596809484/masbl03-20" target="_blank">97 Things Every Programmer Should Know: Collective Wisdom from the Experts</a> (Paperback)<br
/> <span
style="font-size: 0.8em;">by <strong></strong></span><br
/> ISBN: 0596809484</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;">USD 19.79</span><br
/> <strong>46 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 15.04</span></p><p> <img
src="http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/stars-3.5.gif" class="asa_rating_stars" /> | 3.5 | 10</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/05/25/book-review-97-things-every-programmer-should-know/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Book review: Programming Massively Parallel Processors: A Hands-on Approach</title><link>http://matt.eifelle.com/2010/03/31/book-review-programming-massively-parallel-processors-a-hands-on-approach/</link> <comments>http://matt.eifelle.com/2010/03/31/book-review-programming-massively-parallel-processors-a-hands-on-approach/#comments</comments> <pubDate>Wed, 31 Mar 2010 07:42:28 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[Book review]]></category> <category><![CDATA[Distributed Computing]]></category> <category><![CDATA[High Performance Computing]]></category> <category><![CDATA[Morgan Kaufmann]]></category> <category><![CDATA[Tools]]></category> <category><![CDATA[CUDA]]></category> <category><![CDATA[Parallel and Distributed Computing]]></category> <category><![CDATA[Parallel computing]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=1161</guid> <description><![CDATA[Massively parallel processors are in the mood today. We had small parallel processors with a few cores and the ability to launch serevral threads on one core, we have now many cores on one processor and at the other end of the spectrum, we have GPUs. CPUs vendors are now going in this direction with [...]]]></description> <content:encoded><![CDATA[<p>Massively parallel processors are in the mood today. We had small parallel processors with a few cores and the ability to launch serevral threads on one core, we have now many cores on one processor and at the other end of the spectrum, we have GPUs. CPUs vendors are now going in this direction with Larabee and Fusion, and GPUs will still have more cores/threads/&#8230; It&#8217;s thus mandatory to understand this shift now.<br
/> <span
id="more-1161"></span></p><h4>Content and opinions</h4><p>First of all, it&#8217;s not a book on programming massively parallel processors, it&#8217;s a book about CUDA. One of the authors is a nVidia fellow, so it&#8217;s no wonder. I think there are three parts in the book: an introduction of CUDA, two examples and then general considerations and the future.</p><p>The first 6 chapters (I don&#8217;t count the first chapter as a real chapter, it&#8217;s more of an introduction to the massively paralell processors and their use in a few pages) are the main CUDA tutorial. I say tutorial because it feel like all beginner courses I&#8217;ve taken in CUDA. The content can be found in all Internet classes, so the only advantage is that you have everything in a book. Nothing less, nothing more.</p><p>I had a feeling of &#8220;deja vu&#8221; for the MRI example, the second was unknown to me. There is not much code, only for the relevant parts, but you won&#8217;t be able to test the different implementations with what is provided in the book. Besides, several times during the writting flow, new techniques are introduced, but one can&#8217;t know what speed-up they provide. Perhaps this is because this speedup cannot be generalized, but still, with proper warnings, the different timings through the GPU port of woth examples would have been great.</p><p>The last part is, as I&#8217;ve said, more general. It starts with a workflow to help parallelizing with GPUs, then an introduction (too short IMHO) of OpenCL and the future of CUDA with Fermi and the SDK 3.0. The workflow chapter is too small. Of course, the goal isn&#8217;t to be like <a
href="http://matt.eifelle.com/2009/12/08/book-review-the-art-of-concurrency-a-thread-monkeys-guide-to-writing-parallel-applications/">The Art of Concurrency</a>, and at least there is a chapter about the process of selecting the algorithm, &#8230; but it is too small. The OpenCL introduction is really an introduction. I&#8217;ve seen one small complete OpenCL call, but that&#8217;s it. I couldn&#8217;t program a single kernel right now. Of course it&#8217;s a CUDA book, not an OpenCL one, but the chapter is useless. Perhaps it would be better to merge it with the &#8220;future&#8221; chapter, as OpenCL is not widely available. Finally, the last chapter states what can be expected of Fermi (really interesting) and of the SDK 3.0.</p><p>What I miss in this book is some explanations of the texture memory. The obvious matrix example uses constant memory for caching the memory accesses. Why isn&#8217;t texture memory used in this example? It&#8217;s far bigger than constant memory and also has a cache, so why not use it? It&#8217;s a CUDA book, but a lot of content is freely available in several tutorials that are sometimes better shaped than the book, so why isn&#8217;t there some special content, like how the cache works? How can you manage grid sizes that are no a power of two? (it&#8217;s explained in one of the example, with zero padding, but there are no protection in the first chapters, which is dangerous) What is coalescing memory and how can I optimize the memory bandwidth with coalescing in mind? (the actual real explanation and appropriate picture is in the last annexe!)</p><h4>Conclusion</h4><p>I don&#8217;t say that the book is not useful, it&#8217;s really interesting as a companion book for a CUDA course or for a beginner. If you&#8217;re used to electronic papers, you will not be interested. If you buy this book, don&#8217;t expect to know everything about CUDA, or even less massively parallel processors. You will have to dig deeper for specific topics, but at least you will have a good basis.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"> <a
rel="nofollow" href="http://r.popshops.com/pp/78348/programming-massively-parallel-processors-a-hands-on-approach"><img
style="width: 150px;" src="http://images.barnesandnoble.com/images/47190000/47190706.JPG" border="0" alt="Programming Massively Parallel Processors: A Hands-on Approach" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/pp/78348/programming-massively-parallel-processors-a-hands-on-approach">Programming Massively Parallel Processors: A Hands-on Approach</a><br
/> Price: $62.95</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 60px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/0123814723/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/51VL9FqF6ML._SL75_.jpg" width="60" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/0123814723/masbl03-20" target="_blank">Programming Massively Parallel Processors: A Hands-on Approach</a> (Paperback)<br
/> <span
style="font-size: 0.8em;">by <strong>David B. Kirk, Wen-mei W. Hwu</strong></span><br
/> ISBN: 0123814723</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;">USD 51.99</span><br
/> <strong>40 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 46.52</span></p><p> <img
src="http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/stars-3.5.gif" class="asa_rating_stars" /> | 3.5 | 8</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/03/31/book-review-programming-massively-parallel-processors-a-hands-on-approach/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Book review: Debug It!: Find, Repair, and Prevent Bugs in Your Code</title><link>http://matt.eifelle.com/2010/03/23/book-review-debug-it-find-repair-and-prevent-bugs-in-your-code/</link> <comments>http://matt.eifelle.com/2010/03/23/book-review-debug-it-find-repair-and-prevent-bugs-in-your-code/#comments</comments> <pubDate>Tue, 23 Mar 2010 08:01:41 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[Book review]]></category> <category><![CDATA[Debugger]]></category> <category><![CDATA[Development process]]></category> <category><![CDATA[Pragmatic Bookshelf]]></category> <category><![CDATA[Tools]]></category> <category><![CDATA[Agile software]]></category> <category><![CDATA[Test patterns]]></category> <category><![CDATA[Test-Driven Development]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=1153</guid> <description><![CDATA[Debugging software is one of the complex actions in software development. It&#8217;s not just about using a debugger, it&#8217;s about how do you manage bugs. This book has a pragmatic (amazing, don&#8217;t you think?) approach on this matter.Content and opinions
Thee parts, three views how what debugging actually is.
The first is the pragmatic debugging: reproduce your [...]]]></description> <content:encoded><![CDATA[<p>Debugging software is one of the complex actions in software development. It&#8217;s not just about using a debugger, it&#8217;s about how do you manage bugs. This book has a pragmatic (amazing, don&#8217;t you think?) approach on this matter.<br
/> <span
id="more-1153"></span></p><h4>Content and opinions</h4><p>Thee parts, three views how what debugging actually is.</p><p>The first is the pragmatic debugging: reproduce your bug, diagnose it, fix it, and make it definitely go away. Each step is actually not mandatory done by a debugger, and in fact the book advocates <a
href="http://matt.eifelle.com/2009/08/20/book-review-test-driven-development/">the TDD approach</a>. Making it go away is in fact thinking about what this bug meant: was it a design issue, a feature, and if it is a bug, how can all the consequences be erased?</p><p>The second is managing your bugs. The main action is to have a bug database that is healthy, meaning it must be taken care of. As the book is about a pragmatic approach, one may think the advice are pure logic, and that no one would not follow them. If this book serie has so much success, it is because those advice are in fact not that obvious for everyone!</p><p>Finally, the first two parts are in fact the theory. Practice is always a little bit different. What do you do of leagacy releases? Of third-parties libraries? Of bugs that you need to fix in a hurry in parallel? Tests is another facet of software closelly related to debugging. Once you&#8217;ve debugged something, you want your tests to assert that it won&#8217;t come again unless you see it. How can you be sure that you will have enough information when debugging your software? Finally, there are some pitfalls in software that hinder debugging. As those anti-patterns, this part is about concrete actions that must be implemented in every software project.</p><h4>Conclusion</h4><p>Pragmatic Bookshelf has the habit of having a lot of experience feedback in their books, and this one is not an exception. Sadly, there are mainly present in the first part of the book. Still, it&#8217;s not the main value of the book. I think the main value is placing debugging in the new landscape of agile software. Too many times, the word debugging is missing in agile books, replaced by only testing. They are the two sides of the same coin. The last part has its virtues as well. Debugging is not a simple workflow, there are differences for each software project.</p><p>As usual, the publisher has an excellent book on a practical subject that answers practical questions on debugging.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"> <a
rel="nofollow" href="http://r.popshops.com/pp/77376/debug-it-find-repair-and-prevent-bugs-in-your-code"><img
style="width: 150px;" src="http://images.barnesandnoble.com/images/32590000/32595801.JPG" border="0" alt="Debug It!: Find, Repair, and Prevent Bugs in Your Code" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/pp/77376/debug-it-find-repair-and-prevent-bugs-in-your-code">Debug It!: Find, Repair, and Prevent Bugs in Your Code</a><br
/> Price: $29.88</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 61px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/193435628X/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/31xF4DWc2mL._SL75_.jpg" width="61" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/193435628X/masbl03-20" target="_blank">Debug It!: Find, Repair, and Prevent Bugs in Your Code (Pragmatic Programmers)</a> (Paperback)<br
/> <span
style="font-size: 0.8em;">by <strong>Paul Butcher</strong></span><br
/> ISBN: 193435628X</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;">USD 23.07</span><br
/> <strong>38 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 12.94</span></p><p> <img
src="http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/stars-4.5.gif" class="asa_rating_stars" /> | 4.5 | 8</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/03/23/book-review-debug-it-find-repair-and-prevent-bugs-in-your-code/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Book review: Modern C++ Design: Generic Programming and Design Patterns Applied</title><link>http://matt.eifelle.com/2010/03/16/book-review-modern-c-design-generic-programming-and-design-patterns-applied/</link> <comments>http://matt.eifelle.com/2010/03/16/book-review-modern-c-design-generic-programming-and-design-patterns-applied/#comments</comments> <pubDate>Tue, 16 Mar 2010 08:22:41 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[Addison-Wesley]]></category> <category><![CDATA[Book review]]></category> <category><![CDATA[C++]]></category> <category><![CDATA[Code quality]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=421</guid> <description><![CDATA[This book may be a little bit old (2001), but it&#8217;s still very relevant today. A lot of the material in the book is still not applied in C++ development, it may be time to apply it, doesn&#8217;t it?Content and opinions
The book is split in two parts: the basis and the more complex blocks.
For Alexandrescu, [...]]]></description> <content:encoded><![CDATA[<p>This book may be a little bit old (2001), but it&#8217;s still very relevant today. A lot of the material in the book is still not applied in C++ development, it may be time to apply it, doesn&#8217;t it?<br
/> <span
id="more-421"></span></p><h4>Content and opinions</h4><p>The book is split in two parts: the basis and the more complex blocks.</p><p>For Alexandrescu, there are four basis that should be covered: polycies, type lists, allocators and general techniques. Polycies is tightly related to the strategy pattern. The author discusses the elegant and complex architecture that can be written using them. Type lists is, in my opinion, the first step in using metaprogramming. Since Alexandrescu wrote this book, <a
href="http://www.boost.org/">the Boost library</a> implemented a lot of tools to work on type lists (as well as different types of type lists). This book explains very well how it can work and how to make the most of it. Allocators is perhaps one of the toughest topics in C++. Fortunately, the book provides a good implementation for small objects, and it is stable and efficient. I don&#8217;t think it is sound to implement your own, so using this one is perhaps best! Finally, the second chapter tackles different small tricks that can be easily implemented in every C++ code.</p><p>The second part is much more complex. Using the different basis blocks from the first part, Alexandrescu starts by creating a generic functor. It&#8217;s perhaps too much for 99% of the projects, but it still is a great proof of concept for elegant C++ architecture. The second topic in this part is singletons. Alexandrescu tries to address every side of this question, and although he provides an implementation, it is unfortunately not yet available/used in every framework. Next come smart pointers. They will be available in the next C++ standard, but only in a reduced form than what is exposed here. It is interesting to know the different issues that such a &#8220;simple&#8221; class has to solve. The next two chapters are dedicated to factories and abstract factories. As usual, one can create its own factory, but Alexandrescu tries to solve the more general problem. Before my favorite chapter, implementing the visitor pattern is addressed. It&#8217;s not the most widely used pattern, but it solves some tricky cases. Finally, even less used is the multiple dispatch function. Imagine you have to instanciate several functions with different types. You wan use type lists for this if you have only one type for each function. But if you have a more general case with two or three types that have to be instanciated, you have to use the multiple dispatch. It can be found in the intersection sample that is used in the book, but also in steering code (your favorite template class can be used with objects that can be of different types, like int matrices or float matrices, and you only have access to the base class of this type, and the class instance must call the correct instanciation).</p><p>Each time, the main focus is on automation, less code, more readability. Of course, this last point is only achieved if the reader has some knowledge of this modern C++ design&#8230;</p><h4>Conclusion</h4><p>Alexandrescu wrote Loki as a proof of concept of modern C++. The book is the result of the different solutions he thought of. Loki may be outdate by Boost in several fields, but it is also the foundations of the Boost library. If you want to write good professional-grade C++, you should read at least once this book and appropriate its content.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"><a
rel="nofollow" href="http://r.popshops.com/pp/73254/modern-c-design-generic-programming-and-design-patterns-applied"><img
style="width: 150px;" src="http://images.barnesandnoble.com/images/14560000/14569343.JPG" border="0" alt="Modern C++ Design: Generic Programming and Design Patterns Applied" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/pp/73254/modern-c-design-generic-programming-and-design-patterns-applied">Modern C++ Design: Generic Programming and Design Patterns Applied</a><br
/> Price: $53.99</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 60px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/0201704315/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/516030XDD8L._SL75_.jpg" width="60" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/0201704315/masbl03-20" target="_blank">Modern C++ Design: Generic Programming and Design Patterns Applied</a> (Paperback)<br
/> <span
style="font-size: 0.8em;">by <strong>Andrei Alexandrescu</strong></span><br
/> ISBN: 0201704315</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;">USD 48.45</span><br
/> <strong>54 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 15.04</span></p><p> <img
src="http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/stars-4.5.gif" class="asa_rating_stars" /> | 4.5 | 70</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/03/16/book-review-modern-c-design-generic-programming-and-design-patterns-applied/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Book review: Inside Cyber Warfare</title><link>http://matt.eifelle.com/2010/02/16/book-review-inside-cyber-warfare/</link> <comments>http://matt.eifelle.com/2010/02/16/book-review-inside-cyber-warfare/#comments</comments> <pubDate>Tue, 16 Feb 2010 07:57:09 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[Book review]]></category> <category><![CDATA[O'Reilly]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=1108</guid> <description><![CDATA[It&#8217;s funny I&#8217;ve started reading this book shortly before Google announced it withdraws from China because of a cyber attack. Well, this book is about this new theater of operations and explains what everyone should be ready for.Content and opinions
Warfare is gouverned by international laws. You can&#8217;t attack another country (unless you&#8217;re the USA&#8230;) without [...]]]></description> <content:encoded><![CDATA[<p>It&#8217;s funny I&#8217;ve started reading this book shortly before Google announced it withdraws from China because of a cyber attack. Well, this book is about this new theater of operations and explains what everyone should be ready for.<br
/> <span
id="more-1108"></span></p><h4>Content and opinions</h4><p>Warfare is gouverned by international laws. You can&#8217;t attack another country (unless you&#8217;re the USA&#8230;) without some solid arguments. The issue arises here, as a cyber attack is not something we are used to see, and thus there are several interpretations on this topic.</p><p>Jeffrey Carr tries to clear the picture by stating what is a cyber attack and how a state can be found responsible for a cyber attack. Indeed, this is a difficult topic as a lot of attacks are made by &#8220;simple&#8221; hackers that are not officially employed by a state (kind of mercenaries). The fourth whapter is written by an invited guest and describes how a cyber attack may be responded to. It is a complicated legal issue under international laws, but the author is also very clear in his demonstration.</p><p>After the legal part, Jeffrey Carr tackles the general topic of intelligence. Attacks may focus on retrieving information (social intelligence or data) or disconnecting websites. I was amazed to see that there were attacks on some websites so that people couldn&#8217;t get information from rebels to some states, and that those attacks were made by the before-mentioned states. I thought that hackers were mainly outlaws, but it seems that states rely on hackers when rebels rely more on open information (I&#8217;m thinking about the Iran situation).</p><p>A lot of time must be spend on finding who launched the attack. How is it possible to launch an attack without being indentified is an issue tackled by several chapters. It seems that a lot of people on the Internet do not ware about accurate information, and this disables the capacity of investigators to find their quarry. It&#8217;s also surprising to see the difference between the reality and the movies/TV series where a hacker can find the attacker in less than a minute&#8230;</p><p>The last chapters are dedicated to using malwares for an attack (retrieving information or setting up a DDOS attack), the military doctrine of China and Russia, how can cyber attack be detected (in a state versus state situation) and general advice for cyber defense.</p><p>I have to say that I&#8217;m worried when I hear some of France MP saying that all DNS are under US management (which is obviously wrong) and that France should nationalize the Internet: how could we prepare for cyber warfare with this kind of MP??</p><h4>Conclusion</h4><p>Although only China, Russia and the USA positions are tackled, I think Europe has even greater problems than the US. The picture given by the book may be grim, but at least it clearly states the challenges we have to face now. I think it is also a corner stone for developing our (meaning your country&#8217;s) cyber doctrine. So if you think that Google versus China is not something to be worried about, read it, and if you know that is a symptom of a dangerous disease, read it also.</p><p>Here is <a
href="http://radar.oreilly.com/2010/02/cyber-warfare-dont-inflate-it.html">an interview of Jeffrey Carr that I found also interesting</a>.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"> <a
rel="nofollow" href="http://r.popshops.com/pp/73648/inside-cyber-warfare"><img
style="width: 150px;" src="http://images.barnesandnoble.com/images/49510000/49514139.JPG" border="0" alt="Inside Cyber Warfare" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/pp/73648/inside-cyber-warfare">Inside Cyber Warfare</a><br
/> Price: $28.79</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 57px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/0596802153/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/519K0cesuoL._SL75_.jpg" width="57" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/0596802153/masbl03-20" target="_blank">Inside Cyber Warfare: Mapping the Cyber Underworld</a> (Paperback)<br
/> <span
style="font-size: 0.8em;">by <strong>Jeffrey Carr</strong></span><br
/> ISBN: 0596802153</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;">USD 26.39</span><br
/> <strong>37 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 20.79</span></p><p> <img
src="http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/stars-4.gif" class="asa_rating_stars" /> | 4 | 11</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/02/16/book-review-inside-cyber-warfare/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Fun book: Dreaming In Code</title><link>http://matt.eifelle.com/2010/01/26/fun-book-dreaming-in-code/</link> <comments>http://matt.eifelle.com/2010/01/26/fun-book-dreaming-in-code/#comments</comments> <pubDate>Tue, 26 Jan 2010 08:29:27 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[Book review]]></category> <category><![CDATA[Open source]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=1085</guid> <description><![CDATA[I&#8217;ve decided for once to read a novel about software. This book is about the story of Chandler, a piece of software that was a dream that didn&#8217;t quite came true.Content and opinions
The audience of this book is mainly people that do not know much about software but that want to know about a story [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve decided for once to read a novel about software. This book is about the story of Chandler, a piece of software that was a dream that didn&#8217;t quite came true.<br
/> <span
id="more-1085"></span></p><h4>Content and opinions</h4><p>The audience of this book is mainly people that do not know much about software but that want to know about a story that drove people for several years. There are a lot of fkashbacks inside software history or parenthesises on software.</p><p>Also the book is acclaimed by the critics, I didn&#8217;t find it that much interesting. It is very difficult to read the whole book, as the the thread goes from history to context to side stories to the main stories, sometimes after each parenthesis. This is tiresome, and is a drawback for a good book when you want to relax a little bit. Here, you won&#8217;t be able to do so, you&#8217;ll have to keep focusing on what the author wants to tell you (and that&#8217;s not really easy).</p><h4>Conclusion</h4><p>Not as much fun as I expected, but still, there are some passages that may be worth it for managers that don&#8217;t want to read a book on software project management. I won&#8217;t recommend it, but you may still want to learn from other people&#8217;s mistakes.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"> <a
rel="nofollow" href="http://r.popshops.com/pp/71454/dreaming-in-code-two-dozen-programmers-three-years-4-732-bugs-and-one-quest-for-"><img
style="width: 150px;" src="http://images.barnesandnoble.com/images/22210000/22210186.JPG" border="0" alt="Dreaming in Code: Two Dozen Programmers, Three Years, 4, 732 Bugs, and One Quest for Transcendent Software" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/pp/71454/dreaming-in-code-two-dozen-programmers-three-years-4-732-bugs-and-one-quest-for-">Dreaming in Code: Two Dozen Programmers, Three Years, 4, 732 Bugs, and One Quest for Transcendent Software</a><br
/> Price: $11.92</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 50px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/1400082471/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/51Klh6hn1KL._SL75_.jpg" width="50" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/1400082471/masbl03-20" target="_blank">Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software</a> (Paperback)<br
/> <span
style="font-size: 0.8em;">by <strong>Scott Rosenberg</strong></span><br
/> ISBN: 1400082471</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;">USD 11.16</span><br
/> <strong>58 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 4.05</span></p><p> <img
src="http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/stars-4.gif" class="asa_rating_stars" /> | 4 | 74</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/01/26/fun-book-dreaming-in-code/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Book review: Software Project Secrets: Why Software Projects Fail</title><link>http://matt.eifelle.com/2010/01/19/book-review-software-project-secrets-why-software-projects-fail/</link> <comments>http://matt.eifelle.com/2010/01/19/book-review-software-project-secrets-why-software-projects-fail/#comments</comments> <pubDate>Tue, 19 Jan 2010 08:03:46 +0000</pubDate> <dc:creator>Matt</dc:creator> <category><![CDATA[APress]]></category> <category><![CDATA[Book review]]></category> <category><![CDATA[Development process]]></category><guid
isPermaLink="false">http://matt.eifelle.com/?p=1080</guid> <description><![CDATA[There are more stories of failed software projects than of failed insert_another_field projects. But why is that so? Of course, software management is young, contrary to the other fields, but there are a set of management practices that should help project managers in their jobs. Why are they failing? Is it because they are not [...]]]></description> <content:encoded><![CDATA[<p>There are more stories of failed software projects than of failed <em>insert_another_field</em> projects. But why is that so? Of course, software management is young, contrary to the other fields, but there are a set of management practices that should help project managers in their jobs. Why are they failing? Is it because they are not applied? Because the field is really too young? Or something else?<br
/> <span
id="more-1080"></span></p><h4>Content and opinions</h4><p>The first part is dedicated to the reasons why a software project can fail. It starts with 12 reasons of why software is different than other fields. This implies some assumptions that can differ from the usual project management. The last chapter is a simulation of what a failing software project is. All in all, the main message passes, but I think it is too harsh. The underlying idea is that software is different than all the other fields, but in fact, it may be all the same (at least on the points that were underlined): building a bridge is something we know how to do through usual management, but it can still run late/too expensive/&#8230; Besides, the example is overdone. It cumulates all the typical mistakes that we know now how to avoid.</p><p>The second part gives the pieces of advice to fix what the first part uncovered. Three agile processes are explained, then tools to budget with one of these processes. the last is the example of the first part reloaded with agile methods. I agree that agile methods are an answer to the software management project, but each time software management is really opposed to usual management. There are issues that are still really different in software projects: defining the needs of the users. When you build a bridge or when you build a house, you know what you want. You know the number of ways, or the number of doors/windows/rooms, &#8230; In software projects, you don&#8217;t know how many doors you need. Another issue is that people think that software is easy to do, so it&#8217;s easy to add something else (mainly because it is mandatory&#8230; or not).</p><h4>Conclusion</h4><p>If the book is really easy to read, there are some shortcuts that did bother me: the two examples are caricatures of reality (not even a real example where things went well or really bad, they are a story), and software management is also exagerated compared to project management. Perhaps the real conclusion is this one: exageration. Software project management is too difficult to be explained by a caricature: it may lead to the opposite effect.</p><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/uploads/2009/12/BN_Logo_3tier.jpg) right bottom no-repeat #ffffff;"><a
rel="nofollow" href="http://r.popshops.com/pp/69813/the-passionate-<a rel="nofollow" href="http://r.popshops.com/pp/70573/software-project-secrets-why-software-projects-fail"><img
style="width: 150px;" src="http://images.barnesandnoble.com/images/17380000/17382509.JPG" border="0" alt="Software Project Secrets: Why Software Projects Fail" /></a><br
/> <a
rel="nofollow" href="http://r.popshops.com/pp/70573/software-project-secrets-why-software-projects-fail">Software Project Secrets: Why Software Projects Fail</a><br
/> Price: $49.49</div><div
class="subcolumns"><div
style="border: 1px solid #000; padding: 5px; margin-bottom: 15px; background: url(http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/amazon_US_small.gif) right bottom no-repeat #ffffff;"><div
style="width: 50px; float: left; margin-right: 5px;"> <a
href="http://www.amazon.com/exec/obidos/ASIN/1590595505/masbl03-20" target="_blank"><img
src="http://ecx.images-amazon.com/images/I/51MYSrFv2qL._SL75_.jpg" width="50" height="75" border="0" /></a></div><div><p><a
href="http://www.amazon.com/exec/obidos/ASIN/1590595505/masbl03-20" target="_blank">Software Project Secrets: Why Software Projects Fail (Expert&#8217;s Voice)</a> (Hardcover)<br
/> <span
style="font-size: 0.8em;">by <strong>George Stepanek</strong></span><br
/> ISBN: 1590595505</p><p><strong>Price:</strong> <span
style="color: #990000; font-weight: bold;">USD 49.49</span><br
/> <strong>41 used &#038; new</strong> available from <span
style="color: #990000; font-weight: bold;">USD 5.61</span></p><p> <img
src="http://matt.eifelle.com/wp-content/plugins/amazonsimpleadmin/img/stars-4.5.gif" class="asa_rating_stars" /> | 4.5 | 6</div><div
style="clear: both;"></div></div></div>]]></content:encoded> <wfw:commentRss>http://matt.eifelle.com/2010/01/19/book-review-software-project-secrets-why-software-projects-fail/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss>
<!-- Served from: matt.eifelle.com @ 2010-07-30 08:26:54 by W3 Total Cache -->