Tue, 25 May 2010
Hardening Apache - Short Review
I've had Hardening Apache sitting on my shelves for over five years (Sep 2004 or so Amazon tells me). While I can remember dipping in to it for the Apache chroot chapter it never seemed to progress to the top of the pile, and now I'm cleaning out a lot of my old books I decided to finally give it a chance.
The book is very well written, covers a good range of subjects from building apache from source to adding extra security modules and checking its running state. Those are all good points and if I'd read the book when it came out I'd give it a very decent score, unfortunately I waited to read it.
This is a book that hasn't aged well. The version numbers of apache mentioned, the last update times of the modules (and how many of them have fallen in to the pit of being unmaintained) and the general style of the shell scripts all just come across as very dated and prevent me from recommending this book
Well written but ravaged by time - where's the second edition?
Mon, 24 May 2010
Refactoring Databases - Short Review
Considering the deadlines most of us have to work to it's not surprising how much the idea of refactoring, which by continuously improving the design of code, we make it easier and easier to work with. appeals to us. But why should developers have all the 'fun'? Databases need some love and care too!
It's easier to review this book if we look at it as two smaller books. In the first book, chapters 1 to 5, the authors take you through the details of Refactoring Databases.
I think this is the most useful section of the book for most people, and the only part they'll read start to finish. It covers how the agile development and defensive data worlds can be combined (and has some slightly harsh DBA stereotypes), possible processes to follow and miscellaneous details such as transition periods, how to have two versions of a schema in production (triggers, lots of triggers!) and covers all the basics you'll need to be able to make informed decisions about how refactoring databases can fit in to your work flow.
The rest of the book is filled with the explicit, and quite dry refactorings (and a chapter of transformations). They go in to a surprising level of depth but are mostly common sense and easily understandable from the refactorings name.
The best advice I can give it to have a look at the inside front and back covers. If the refactoring names look interesting but you have no idea how they'd work then the books a good read and you'll come away with some insights in to hands on database refactoring. If you can think of two situations when to use, and just as importantly, not use, each refactoring then the book's too basic for you.