Sponsored links

Valid XHTML 1.0!
Valid CSS!

Product: Book - Paperback
Title: Mastering Regular Expressions, Second Edition
Publisher: O'Reilly
Authors: Jeffrey E. F. Friedl
Rating: 5/5
Customer opinion - 5 stars out of 5
regular expressions are very useful

I have been getting into regular expressions, as I realized, how powerful and useful they are, I started to use more advanced features, and started to run into topics that weren't fully documented in the python or .NET documentation. I guess, I never looked at Perl documentation. Though this book turned out to be a real gem. Each time so far that I needed some help with regex, the book showed it to me quickly and easy to understand. Plus, O'Reilly books really rock. I'm going through a lot of technical books. And, by now O'Reilly convinced me that they have a good quality control.

Product: Book - Paperback
Title: Web Database Applications with PHP & MySQL, 2nd Edition
Publisher: O'Reilly
Authors: Hugh E. Williams
Rating: 5/5
Customer opinion - 5 stars out of 5
Great stuff to copy into your applicaiton!

Wouldn't it be great if you could get the source code for only $50 of a complete online store? You could start with a working system and modify it as you like, provided of course that it is well documented. In "Web Database Applications with PHP and MySQL" you have excellent documentation of a well-designed application with lots of extras like introductory tutorials, the reationales for design decisions and alternate implementations of many subsystems. The application is a fictional online wine store, with credit card payment, a shopping cart, merchandise browsing and searching, and automatic selection of the lowest prices in inventory. Security features include user authentication, password management, and hacker protection. Documentation this good is worth more than the source code, which by the way is fully printed out in the book and can be downloaded for free. This book has saved me lots of time!

Product: Book - Paperback
Title: Waltzing With Bears: Managing Risk on Software Projects
Publisher: Dorset House Publishing Company, Incorporated
Authors: Tom Demarco, Timothy Lister
Rating: 5/5
Customer opinion - 5 stars out of 5
It is a big risk NOT to read this.

There are some very sensible, eminently implementable ideas in this book, even if you have nothing to do with risk management. It is not just about risk, and neither is it just about software projects. Yes, there are strong elements of both, but the discussion is not exclusive. Some of the practical matters discussed include being able to recognise a 'dead' project before it finally rolls over and is declared dead. If there is no life in the beast, then it is no use preserving the carcass.

Risk has been become a vogue word in software development. Everybody talks about it, and says that it is being considered. However, a large part of the discussion is lip service. What is apparent is that 'risk' is not a small subject, and any discussion on this subject will invariably involve weighty matters. How can benefits be calculated? How are costs determined?

So is risk inherently wrong? Risk involves uncertainty. Halfway down the first page of Chapter 1 is a wonderful statement, summing up the gains to be claimed by embarking on a risky venture. "If a project has no risks, don't do it". The authors slay a few myths along the way. It is not wrong to be uncertain. Risk is about trying to minimise the uncertainties, or rather to minimise the damage caused by events that you hope will not happen. Therefore, if you don't know, ask questions about what you do not know. That is very different to some work places, where it is considered bad form to raise items on the risk register. There are instances when blindingly obvious risks have not been considered. "Oh, you mean THAT train" - as it speeds towards you. Projects that negotiate dark railroad tunnels will find trains hurtling towards them. FACT. It is the nightmares that need to be addressed, not the petty worries.

The book is very good about imposed deadlines. By all means perform estimates based upon everything happening correctly, and on time (in other words, 'downhill with a following wind'). However, this is not sufficient for implementing REAL projects, in real timescales. In order to achieve this, it is necessary to add in the uncertainties. Add these in before publishing the figures. There is a tool available on the associated web-site that enables some of the classic uncertainties to be factored in. This uses some industry standard figures to indicate the effect of, say, key staff leaving. The big no-no of software development is also discussed - what if the project fails? Figures indicate that a significant number of software projects fail (the authors quote 15%, but others may use different figures). Therefore failure has to be a risk on any project.

The authors discuss 'Earned Value Running' [EVR] as a way of measuring progress. Using such a measure moves away from the "90% complete" problem, and also enables the 'bells and whistles' of a project to be seen for what they are; items that are nice to have, but not item that are part of the core functionality. Such concepts as EVR can make a difference, and examples are provided from real life projects about many of the items discussed.

Much concerning 'risk' is involved with sharing knowledge, be this what is known or what is unknown. It is only when there is a culture of openness that there is a freedom to share risks (it is after all a risky business to discuss the items that would cause your department to fail to deliver to schedule). There a large variety of items that can follow on from an effective risk management strategy. One of these is what the authors call 'proactive incremental delivery'. This is equated with playing the loosing hands from your bridge hand first. However, what is written is not a prescriptive approach. After all, that would be risky!

There is one final point I wish to mention with this volume. There is a discussion of when NOT to share your risks with others. It takes a good deal of confidence to argue in part against the central thesis of a practical book. This is a VERY good, practical book, whose authors are not afraid to advise when not to use the ideas within.

Peter Morgan, Bath, UK (morganp@supanet.com)

Product: Book - Paperback
Title: Gödel, Escher, Bach: An Eternal Golden Braid
Publisher: Basic Books
Authors: Douglas R. Hofstadter
Rating: 5/5
Customer opinion - 5 stars out of 5
Stimulating. A tour-de-force disguised as a tour-de-farce.

I've struggled through this book ... three times. The first, shortly after it came out. The second, immediately after the first. The third, several years later. Finally, I will reread it cover-to-cover soon after 15 more years of life experience.
I do not exagerate to say that my perspective of the world has been altered by this work. My wife, knowing my feelings, had the book leather bound, as a birthday present, at a cost of six times the original price of the book. My copy is dog eared, with extensive margin notes, and pages torn and yellowed with use.
Until I read this book I didn't know:
* The shocking implications of Godel's Incompleteness Theorem.
* The mathematical genius of Bach
* That self-reference and self-replication are strange manifestations of the same central phenomenon.
* That ant colonies and the mind are oddly similar.
* That important achievements in many disciplines have the same paradoxical seed.
* That difficult presentations could be so much FUN to read.
This book is aerobics for the mind. If you enjoy thinking, read this book.