List price: $21.95 (that's 82% off!)
Used price: $3.95
Collectible price: $9.48
Buy one from zShops for: $8.98
Used price: $0.74
Collectible price: $5.29
Instead of being a collaborative novel, "Murasaki" is a mixed bag of science fiction stories that share a setting, each written by a different award-winning author. Mind the fact that the only interesting part is the fairly in-depth world-creation notes (included as appendices), and that the stories are pathetically shallow and lead virtually nowhere...
...That is precisely what I though about this "science fiction novel in six parts" prior to reading the last two parts, which are so refreshingly, profoundly excellent that I almost wept with awe. A mystery of interplanetary proportions is suddenly built up and then revealed in flying colors.
It's really a pity that the rest of Murasaki doesn't follow suit.
All in all, I would definitely recommend this book for anyone who likes the work of Brin, Bear, Anderson, Pohl, Kress etc etc etc.. They all wrote parts of it.
A good read.
maybe it's that i sat down and read half the book in one sitting - not advised. your best bet is to skim, there are a few treasures in here. when it's good, it's very, very good. when it's bad, it's just awful.
There's so many stories, you really can't go wrong; there's going to be something in there for you, and if you run across a couple of stinkers, so what? They were only 3 pages long anyway!
A must for writers looking to hone their voice down to a sharp point.
Used price: $32.83
Used price: $0.59
Buy one from zShops for: $4.92
I was very surprised to see that the project was estimated at 25 days. Even some functions like creating one table was estimated to take 4 hours. It seemed that the developers were not very capable individuals, or perhaps they simply expected an incompetent crowd to be reading the book. There is actual proof of my claim too since even taking their 4 hours to make the table, they had still forgetton to create the 'password' attribute within the table. They realized this when they tested their code. Leaving out those architectural details are we?
I also did not agree with the book's statements in not considering architectural details - in fact none were considered at all, even when it came down to iteration planning. I know this is an element of the XP methodology, but some of their reasons for not doing a model indicated that they didn't understand the problem enough. The only valid reason I found for not planning for future change was that the customer may not request the features required by the more robust architecture. That is valid, but let's think about repeat business. Let's assume they come back in a year's time to make those changes and you'll probably be thanking yourself you did make it scalable. It's less time for you and your staff and less you have to charge your client. Everyone is much happier.
Another instance of terrible design is on page 103. They used an Adapter pattern (found in the GoF book) to adapt a method from their database class to another class with the identical name for the method. Well, as far as I know, that is NOT why you use the Adapter pattern. Adapter is used when you have an API that doesn't follow an interface used throughout the application. Programmer's use the Adapter to make an interface conform to a new one. Well, in using the Adapter in the book's example, they are merely delegating a task, not adapting an unfamiliar interface. Even worse - What was the method called? - findUserByEmail() found inside the Database connection object (connecting and closing the DBMS). Why is it there? No architecture thinking done at all! It should have been placed in a UserFactory or User Data Access Object class in the first place (the book refers to it as its User class). They would have avoided this problem (and misuse of a pattern) altogether.
One more thing about architecture. There was a case where they had made 2 servlets, both containing almost identical code. With XP's refactoring, they had created a base class and inherited appropriately. After restructuring their test cases and refactoring several times, they finally got it right. Wouldn't a solid design have been better? The book states that up-front design is bad. Well, I know the point of XP is to not follow a hardcore design document for the entire project because you realize that customer requirements are voltatile. But, shouldn't we at least come up with a smaller design document for each iteration? I mean, it's not practical for a customer to interrupt an interation - in fact it's a rule the customer cannot do according to this book. I still say, if you are not going to plan your system, at least plan the architecture for a 'subset' of the system - i.e. in each iteration plan.
Even after reviewing the code, I thought some elementary coders were at work. There was a part in the book where they either had to convert some pages from ASP to JSP if they wanted the banner to be the same, but they could have simply encapsulated the banner into a file and included it in both the ASP and JSP versions, saving their estimated implementation time of 5 days.
The book has it's morals, but the project is by far too small to be a true testiment to the success of XP. This kind of project could have easily been done by one competent person sitting at their machine for 2 days, and I do believe it would have been done much better architecturally as well. There is no design pattern work, no architecture and clearly reading their programming flaws and decision making failures, no wonder they estimated a completion date of 25 days.
I gather that XP is still good for projects with much greater complexity than this registration system, but the book does a bad job explaining that. It seems XP is good for programmers that need other support to compensate for their lack of ability to be a good programmer - I know that is not true when it comes to pair programming, but this book isn't doing a good job of convincing me otherwise.
I haven't read any of the other XP books - but stay away from this one unless you want to read bad software designs and coding examples, non-realistic programming errors, and poorly made decisions. It's not XP that would have helped this team, a new set of programmers and architects would have done better.
If you simply want to learn about XP, stay away from this book.
If you want to learn about failures on projects and actually learn something, read the Mythical Man Month.
If you want to spend [price], throw it into lottery tickets, you'll learn about 'wasting money' and how to better spend it.
If you need to learn XP.... try another XP book in the series.
The application they've taken on is simple, but non-trivial. It helps to know Java and be familiar with the JUnit testing framework, and have familiarity with servlets. I picked up a couple of useful testing techniques from their examples.
Once again, they have used a real project (actually in production on the Object Mentor website) to illustrate what development under XP is really like.
This book has been written in the style of the other books in the XP series: it is brief, conversational in tone, and to the point. It departs from the other books in the series by including quite a few pages of code. It's also reasonable to say that the authors are assuming the reader is somewhat familiar with XP, and I'd say it is a companion piece to the XP explained book by Kent Beck (or perhaps the extremeprogramming.org website).
I imagine the authors agonized over how much detail to go into with this book. The purpose of the book is to illustrate XP in practice (not to teach servlet programming), and I'd say the level of detail they went into is just about right -- they describe their experience over the course of a one-week iteration, down to the level of their daily tasks and the interactions (even one verbatim dialogue) with their client. The authors do an exceptional job of describing the *is* of XP without being pedantic or cute, which has been a significant flaw in a lot of the XP advocacy I've seen on the web.
The book is well written, and the code is good...I only saw one technical error. Overall, an excellent book. More than ever, it makes me want to try a "pure" XP approach on one small project to see if I can really make a go of it.
List price: $21.95 (that's 30% off!)
Used price: $5.99
Buy one from zShops for: $6.98
Used price: $0.81
Collectible price: $4.19
Buy one from zShops for: $4.87
If you're looking for good discernment techniques or the ability to recognize poor analysis, just read the first and last chapters.
Used price: $29.95
Buy one from zShops for: $38.96
Used price: $40.00
Used price: $2.95
Collectible price: $29.99
Buy one from zShops for: $2.66
I worked through a few of the lessons (attempting the 24 hour goal), however after the first few lessons, I just couldn't continue. The lessons were so damm boring. I mean - the whole point of DirectX is to bring games to life, if not games, then at least bring the screen to life! This Author killed any spirit I had to create a "laser gun battle while driving to a fight scene in my Hover-Ferrari dodging laser fire from monsters with laser-cannons grafted to their chests!"
Instead we get a [bad] picture of a two dimensional, badly drawn taxi, moving to the left of the screen slowly (but smoothly), while the background moved a little bit and a sound moved from one speaker to the other. I mean really!!!! I have not seen a game like that EVER in my life - except for something designed for toddlers whilst learning to tell the difference between a horsy and a cow! Granted, this particular topic was only a demonstration of some DirectX techniques, but I had to wonder in what kind of game I would use these techniques? It just wasn't interesting at all - completely boring beyond belief!
The most complex example in the book involved several textured buildings, with a single stationary car and a moving helicopter that you got to fly, except fly is the wrong word! It quickly became apparent that the Author doesn't know how to program the DirectX 3D stuff. When the helicopter rotated, the buildings changed shape! I was absolutely dumbfounded!
SAMS put their name to this book, but instead of that being a good thing, it's now a warning label when I go shopping. Obviously SAMS do not require a high standard for their books, or their Authors.
You will not "Teach Yourself DirectX7" in 24 hours. You will, however, learn that this code dosn't compile without your having PREVIOUS KNOWLEDGE of DirectX.
The absolute beginner might like this book. However, since the stuff really doesn't work anyway, I can't recommend the book even for them.
Stay away from this book. Instead, read the .HLP files and example code in the SDK, which to this date are still the best source of info. Heck, they all but write your first app for you if you bother to look hard enough.
for instance, they modify the bitmap_surface function, yet do not disclose the new one, or how to modify the existing one to handle the RECT they've added... im not a new programmer, and i STILL cant get this working via the book...