Written by Douglas Schmidt and Michael Stal and Hans Rohnert and Frank Buschmann. By Wiley.
The regular list price is $85.00.
Sells new for $53.47.
There are some available for $45.75.
Read more...
5 comments about Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects.
Big problems really are different from small problems. Solutions to small problems rarely scale well - the big solution often has to be different in kind from the small one. This book is about solutions to big problems, the kind that may involve hundreds of servers and thousands of clients, or more.
This gives a clear, thorough description of about 15 design patterns that work well large, performance-sensitive applications. Some (like "Scoped Locking") depend on the specific semantics of C++, but may work in Java or C# if used carefully. Others are highly specialized implementations of more general patterns. The "Leader/Followers" pattern, for example, is a one implementation of the "Object Pool" pattern (see Grand, 'Patterns in Java', 1998) used for a particular purpose. On the whole, the authors did a fair job of relating these patterns to others in the literature. I was only occasionally frustrated that I did not have that literature at hand when reading this.
The authors go into extreme detail in describing implementations based on each pattern, something sure to help some readers. There is often a C++ implementation as well, at least in skeletal form. The descriptions go on at great length, averaging almost thirty pages of discussion for each pattern. More isn't necessarily better, though, and some descriptions would have benefitted from a slimming program. I would also have been grateful for more differential discussion - comparing patterns, in terms of the specific decision critieria that argue for one pattern vs. another.
The back matter in this book takes about 100 pages - glossary, bibliography, and indices by pattern, topic, and author names. Very helpful stuff. If it's going to be that long, however, a sentence or two about the more important references would have added little bulk but lots of value to the bibliography.
The book is a good one, giving lots of practical information about the patterns it discusses. It's aimed at an experiecned reader, someone already conversant with OO programming, patterns, and at least a taste of problems bigger than classroom exercises or solo projects. A bit less mass chosen a bit more carefully would have improved this book, but it's still a worthwhile addition to my technical library.
//wiredweird
First, the patterns in this book are very good. It was nice to see some coverage of low level networking patterns. As an experienced programmer, I was vaguely familiar with many of the patterns already, but it is really helpful to see the lines drawn in the sand, to hear why the authors chose to break things up as they did, and to understand the ramifications of the patterns in greater detail (eg, their clarification of the difference between Observer and Interceptor was quite helpful). I even got to learn some new patterns! (The Leader / Followers pattern was new to me.)
That said, the writing style about drove me BANANAS! I have never lost my place in a sentence when reading a book so many times. I must have read every line twice. Look, I'm a computer geek - I LOVE dense technical books, but this is something else. It's like reading Shakespear, or Charles Dickens. The authors must have been paid by the word. The specific implies the general! Have mercy! I don't need the difference between an interface and its concrete implementation belabored every time it comes up (and in a patterns book, believe me it's often!)
This book summarizes some important distributed systems patterns researchers have identified in recent years. In that sense it is a necessary contribution to the software engineering literature.
However, the examples are at times unclear and the author does not always motivate them convincingly. From a technical writing perspective, the passive voice plagues this book from start to end, forcing readers to stop and reread sections to make sense of convoluted prose.
If you really want to understand concurrent networked systems, this is the book. It codifies things that have only been known as "black magic" in the past. I have used these concepts in code that I have written, and the results are amazing. It is quite focused on ACE, so you will get the most benefit out of it if you use ACE, but the concepts are presented generally so that using ACE is not required.
I recently finished reading Pattern Oriented Software Architecture Vol 2: Patterns for Networked and Concurrent Objects. Believe it or not, it took me just one night to read this book cover to cover. The main reasons behind this are that a) the techniques described in this book are already well known to people working in a company that deals with some of the largest network applications in the world, and b) the book itself is very well written.
The really nice thing about this book is the way in which the patterns are presented. I was thoroughly impressed with how, for each pattern, the authors start with describing the problems and constraints. The solution is then presented with a static, object view. This is follwed by a dynamic view with a UML sequence diagram that shows how the pattern works at run-time. This is followed by detailed textual description of the steps required to implement the pattern, along with code snippets. Lastly, there's a list of real-world software implementations that have used the respective patterns, and one example from real life. The real life example is on occasion so instrumental in understanding the purpose and/or workings of the pattern that it could make you exclaim, "a-ha!".
Many of the patterns, like Wrapper Facade, Scoped Locking Idiom, Thread-safe Interface, Half-Sync/Half-Async, Leader/Followers, etc. are easy to follow and likely already known to people dealing with networked applications. The most insane patterns that I found were Proactor (for asynchronous demultiplexing and handling of events) and Interceptor (for event based access to the internals of a framework in a safe manner). They have the potential of making you start hating frameworks! About half of the patterns were new for me.
Written by Kevin Potts and Robert Sable and Nathan Smith and Cody Lindley and Mary Fredborg. By friends of ED.
The regular list price is $39.99.
Sells new for $6.86.
There are some available for $6.60.
Read more...
5 comments about Textpattern Solutions: PHP-Based Content Management Made Easy (Solutions).
Despite using Textpattern (TXP) since I started my own website I knew there was still a lot for me to learn and also a few things that could be improved with the way I setup my site. Needless to say when I got wind of this book there was no doubt in my mind that it would help me to be a better TXP user.
The book is well-written and takes you through every aspect of TXP. Everything and I mean everything about TXP is covered in this book. You'll learn the ins and outs of installation, navigating and accomplishing various tasks in the administrative interface, go through the process of building a complete site covering articles, forms and pages, and even learn how to build you're own plugins. There are also 3 case studies that help to further demonstrate just how flexible TXP can be. What more could you ask for?
This book was a great read and I would highly recommend it to anyone who is new to TXP, thinking about using it or who currently uses it and would like to learn more about this wonderful CMS.
I have been reading the e-book version and I am very dissapointed with this book. I needed a simple CMS for a 3 page site, and wanted an alternative to Jooma! which seemed overkill for this.
After doing some research I decided to use Texpattern due to its simple core, with this book as a guide. What can I say? The book is so poorly written that I am seriously considering to just use Joomla!
The authors use a sample site approach to illustrate how to use Textpattern. This usually is a great approach to learning, except they do an aweful job of it. The illustrations are never on the same page as the explanations. And instead of a clear and concise step by step approach (install this file here, modify it there...), authors dwell into lengthy passages including jokes and useless analogies, that by the time you wake up, you realized you missed some vital step which always seem to get lost in this verbosity. Usually actual instruction is merely mentioned or not clearly indicated.
In comparison, Building Websites with Joomla, is a much better text that makes Joomla! (a far more complex CMS than Texpattern) easy to understand.
If anything, "Textpattern Solutions" has made a potentially easy CMS become a nuisance to learn. You will be better off reading the online documentation.
Textpattern solutions is a great resource for those looking to learn how to use this excellent Open Source CMS. The example site (Buzzbomb) is not quite as linear as I would have hoped and doesn't quite function like you would expect a tutorial to, but I was able to follow along with a little help from the TXP forums. Regardless, the book serves as a great launching pad to get into the nuts and bolts of the cms and begin creating your own sites using TXP. It is also the only book out there on the subject, so the choice is either to use this book, or to muddle through the online resources (which you will need anyway). The book certainly cuts down the learning curve (which isn't that steep, really) and gives you the tools you need to start using the cms with more confidence.
I'd have liked to give this book more stars, because I do love Textpattern, but I just didn't get enough out of it. I don't consider myself an expert, but I've been using Textpattern for a couple of years. I'm not sure what I expected from this book, but mostly what I got was a validation that Yes, I'm doing this-or-that correctly or the most efficient way. I didn't gain a lot of new knowledge or tricks, except for the (small) section on plugins.
So this book might be good for Textpattern beginners, but even then most of the information presented is in the very complete Textpattern wiki, or elsewhere online.
So I'm glad this book was published, to promote Textpattern, but for me it was a slight disappointment.
Extremely easy to follow and well written. My only problem was a lot of the times the illustrations or images weren't on the same page as their textual reference. Not a big deal, but I lost my place a lot while flipping back and forth through pages.
This book is really aimed at beginners. Luckily for me, I was one. Since I purchased this book a few months ago, I've made three sites using Textpattern and they've all been a hit with my clients. The admin interface is superbly easy to use and I love the clean XHTML.
So, in conclusion, buy this book if you're wanting a beginner's guide to Textpattern, but do not buy if you already know your way around as a lot of this content may be redundant for you.
5 comments about Beginning Web Programming with HTML, XHTML, and CSS (Wrox Programmer to Programmer).
This will absolutely be the last Wrox book I bought. The annoying, condescending author's photo on the cover aside, this book is extremely verbose, to the point of distracting the reader from really learning anything. For example, it seems on every other page the author feels compelled to tell you that XHTML is just the successor of HTML (he must of thought of the typical reader as totally dumb) and he has a God-given talent of saying so in far more words than necessary each time. Another example: when he gives you some sample code, he would do it step-by-step, and each step would repeat teh same code that was already printed before! What's more, in teh "how it works" recap section, he would then re-print the entire code segment! This book weighs in at over 600 pages, but the contents could easily have fit on half that. Talking about killing trees.
The content quality itself is also quite lacking. The book is neither a tutorial nor a reference, but seems stuck trying to be both. For example, when a HTML element is introduced, say
I had an interest in web development years ago when I invested some time going through free html tutorials online. I also spent some money on a couple of books on html as well as JavaScript, but never finished what I started. About a month ago I purchased this book to get my feet wet again, and I have to say that this book served its purpose.
The title does say "Beginning Web Programming..." and the material definitely fit the title. Having finished reading the XHTML and the CSS portion of this book I feel very comfortable in writing XHTML documents. It also served as a handy, although heavy, reference during my practice coding sessions.
The CSS portion of this book took up two chapters. It served as a great introduction to CSS and it left me with enough know how to write simple stylesheets. As I tried to write more complicated stylesheet like defining rules for layouts using
, I found myself struggling and decided to purchase a more advanced book on CSS.
There are two chapters devoted to JavaScript on this book. From reading the titles of those two chapters I am under the impression that it will give you enough knowledge to download pre-written JavaScripts online and be able to effectively implement it on a webpage. I complete skipped these chapters as I had purchased a separate book on this subject.
All in all, this is a good book for beginners who want to gain the fundamental knowledge about building a website. If you want to become a professional this book serves as a good starting point, as it will equip you with the fundamentals and lead you to your next step in your studies to become a professional Web Developer.
I have only dabbled in programming before, mainly in C#. I am well-pleased with this book.
PRO: 1. This book was a solid introduction to HTML and XHTML. What impressed me most is that the author gives you the fundamentals of the HTML language, and also teaches you modern Web methods using CSS.
2. Follows a logical order, putting you into practice from the first chapter.
3. Good primer for [...]and general web development for the new programmer. In fact, if you are interested in XML, I would study this book first, and then move on to XML. By the end of the book, you will have mastered many concepts of XML, and will have learned HTML in the process.
CON: It could have used a better scheme of highlighting points, bulleting, etc. But the dedicated reader will overcome this small failure.
I have gone from being frustrated with this title to disliking it intensely. I would suggest alternate materials such as the O'Reilly publication, "HTML & XHTML: The Definitive Guide."
First, "BWP w/HTML, XHTML, and CSS" is dated. Its publication date is 2004. This text often complains that features "are not supported by browsers" that have since been updated. There are more current materials published within the last year. (And on the subject of browsers, I have not found a single mention of Mozilla, Safari, or Opera in this book).
Second, the author's presentation is often difficult to follow. Concedely it is a difficult subject to organize when there are "live" tags, "deprecated" tags, the ongoing effort to separate stylistic elements into CSS, and different browswers' idiosyncracies with which to deal. Duckett, however, is next to hopeless in separating these subjects.
Most critical is the fact that this book is a very unhappy blend between an introductory tutorial and a reference "bible." Duckett will introduce a basic concept -- say, "tables" and will then load up on all of the attributes that the element might take. Learning the key ideas gets lost in the process. The book often leads off into asides and references to more advanced topics that will easily lose the initiate. It is no coincidence that several of the reviews here use the word "intermediate" in connection with this text.
The author does not seem to understand the principle that individuals learn by working from the "known" step-by-step to the "unknown." Instead, he seems to rely upon the idea that "if I throw everything at them in a random fashion, they'll figure out a good amount of it."
As an example of its "random walk" approach, Chapter 4 first provides a sound introduction into the use of colors and making references to images. The closing section of the chapter, however, branches off into a discussion of the
Great introduction to front-end web programming using XHTML and CSS. It even gets into the nitty-gritty of SEO strategies, rating your site for child access, testing methods, and accessibility for the visually impaired. Also provides a good, although brief intro to JavaScript, database driven websites, and programming for mobile devices.
Yes there is a lot of repetition and a bit of wandering back and forth across subjects, and yes it can be annoying. But most books in this genre are guilty of that. This one is no better nor worse than the others. Nice reference and appendix. Recommended.
Written by Andy Hunt and Dave Thomas. By The Pragmatic Programmers.
The regular list price is $29.95.
Sells new for $16.78.
There are some available for $13.42.
Read more...
5 comments about Pragmatic Unit Testing in Java with JUnit.
This book is very good for a beginner to unit testing. I like the simple explanation of the different types of unit testing that must be done. This really helps a beginner to make sure that the tests are comprehensive.
Also it clarifies the intention behind use of mock objects. I would use the concepts in this book as a checklist to make sure the tests are written to cover all types of problems.
I gave 4 star only because it contains toy examples and does not go into too much detail on this very important topic. JUnit Recipes contains more realistic examples.
This is another fine book from the "Pragmatic Programmer" series. If you are doing Java development, but haven't gotten into unit testing yet, this is a great place to start. The book is a quick read - I made it through in two days. The book gives background on why unit testing is important and then tells you how to go about doing it with JUnit. The book has practical advice for the kinds of things to include in unit tests while it finishes with design considerations for make code easier to test. To get the most out of the book, you need to download the code from the author's web site and work through the exercises. It is great how they have taken a critical topic and made it extremely accessible. I highly recommend it.
JUnit Testing can really save you a lot of time debugging. This book provides a various way to work with JUnit.
pragmatic Unit testing in java save a lot of time to debug java code.
Buyer beware. This book does not reflect the many changes to JUnit implemented in version 4. I found it to be a very good book when it came out four years ago however.
Written by Eric S. Raymond. By Addison-Wesley Professional.
The regular list price is $44.99.
Sells new for $25.89.
There are some available for $19.35.
Read more...
5 comments about The Art of UNIX Programming (Addison-Wesley Professional Computing Series).
I join the other reviewer who complained about the book having no code at all.
What a misleading title.
The reason i came here to read the reviews is that i saw it on sale for just $10, and after going thru the pages found that it's not much use for a professional developer's day job.
When I first started reading this book, I expected to hear a considerable amount of Microsoft trashing and everything else that follows from fanatical Microsoft haters. However, what I found was an easy to follow book that illustrates many aspects of Unix programming, explains why they work, and shows examples of all of them.
The organization of the chapters is logical and the emphasis on the Unix philosophy helps with the flow of the book. Raymond starts out by enumerating the philosophy and writing a bit about each one. Many are universal, as "The Rule of Separation", "The Rule of Diversity" or "The Rule of Least Surprise" in user interfaces. However, many others are specific to Unix and its descendants such as "The Rule of Silence" and others. From there on, Raymond takes off to talk about how Unix is designed and implemented guided by the items of the Unix philosophy.
The book also includes a nice history of Unix section, which is pretty much the history of modern computing. Reading it made me all warm and fuzzy inside; it was both entertaining and informative. A must-read.
Where this book falls shortly is in some criticisms of non-Unix related topics. Object oriented programming is apparently not appreciated by Raymond. I don't agree with a lot of his claims about how object oriented programming over-complicates things. In my opinion, writing in procedural languages is messy stuff. Also, this man seems to think everything in Unix is simply perfect. Although a bit annoying at times, in many instances the result is positive becase his passion for the topic is clear.
Even though there is no code, it didn't take anything away from reading. The knowledge gained from it is HUGE because of the amount of material covered, and it WILL make you a better programmer, independent of whatever OS background you are from.
Learning what this book had to teach was a pivotal point in my software development career... it was the first time I came to an awareness of looking at HOW the design and development process occurred in my job, and really thinking about WHY we did certain things the way we did. My own development methods changed drastically after reading this book, and my own visible changes have had an impact on those that work with me (i.e. it got them thinking as well about how they did their development). ESR's book spent a fair amount of time in the details of some specific software, but those parts came across to me as examples backing up earlier points he had made rather being "I recommend using this software" endorsements. I've learned from ESR's writings that there's almost always an upper-level awareness to be discovered, whether he's explicitly making a point to back up something he's saying, or whether it's something implicit that steers your own thinking towards something he's said. I highly recommend this book to anyone who's been doing software development (especially in a group environment and steered/constrained by that group's processes) for at least a year, perhaps two. If you've been doing this kind of work for more than two years, and never thought deeply at WHY you design your software creations the WAY you do, it's time for you to pick up this book and see what you can glean from it.
Ever wonder about the relative popularity of various computer languages? Tired of the interminable discussions in newsgroups about which language is better than another? It turns out that the most distinctive feature of Raymond's book is Chapter 14. It gives a semiquantitative assessment of C, C++, Perl, Tcl, Python, Java and emacs Lisp, as of March 2003.
A fascinating and provocative look at the relative rise and fall. Raymond compares this to an earlier survey in 1997. He shows that C, C++, Java and Lisp have been roughly stable. While Tcl is declining. And Python rose impressively. He suggests that the Perl usage is under long term threat from Python, as the best writers in Perl might migrate to Python.
There is no coverage of C#. It did not exist in 1997 and scarcely so in 2003. Likewise for Ajax.
Very few computer books offer such assessments. Useful if you are going to commit to a particular language.
A good book to read, but certainly not in anyway essential or required reading. The title is hideously misleading as the book should really be titled something like "Observations on what makes UNIX successful" or "UNIX culture" as it has nothing to do with UNIX programming and more with the design patterns and practices that have made UNIX successful. In fact some of the cases you are given as examples are far enough from what can generously considered to be UNIX that you really have to wonder why Raymond (the author) has brought them into the discussion.
There are a couple of things that IMHO drag the book down. 1) Raymond seems to have conveniently decided that the only Unix in existence since 1995 is Linux, ignoring the contribution of the *BSD communities and the emergence of Mac OS X as a mainstream desktop UNIX. In fact classic Mac OS gets more discussion than the UNIX based OS X which is somewhat bizarre given the rich history around its development from NextStep 2) Later sections of the book drift dangerously into Open Source dogma territory as discussions of licenses take over. Again the content is worth reading, but it makes you again wonder why the book claims to be a UNIX programming title in the first place.
What observations Raymond does make are very well presented and relevant, but are not presented in any great depth as he quickly moves onto other topics. Overall the book feels like a bunch of notes that Raymond has attempted to pull together under a single theme, in some cases it works, in some cases it doesn't, but the points that he makes are valid enough that he does somewhat get away with it. Worth a read, but there are other more essential books that should be read first.
Written by Jonas X Yuan. By Packt Publishing.
The regular list price is $57.99.
Sells new for $49.95.
There are some available for $55.95.
Read more...
Written by David C. Hay. By Dorset House Publishing Company, Incorporated.
The regular list price is $39.95.
Sells new for $35.95.
There are some available for $15.98.
Read more...
5 comments about Data Model Patterns: Conventions of Thought.
I can understand why this book has gotten some mixed reviews. The author addresses many common modeling problems. But readers looking for instant solutions to those problems will probably be disappointed. Those looking for oop patterns are reading the wrong book. And anyone looking for a beginner's introduction to data modeling will be completely lost. But if you've been feeling as if your database designs could be better, but you're not sure how, you need this book.
Mr. Hay covers many real-world modeling problems. His discussions of these problems give incredible insight into the thought process of a professional data modeler. That is the true value of this book.
I first read this book about three years ago and now I am totally embarrassed by every database I created before. I've re-read it many times since and my copy is beaten and dog-eared. Thankfully, it's a hardcover book.
Make sure you read all the footnotes in the book. Some of them are hysterically funny.
I've done some data modeling, and much more process modeling, so I was familiar with Mr. Hay's objectives with respect to data and restricting the model to logical representations of data, whatever that may be.
About six chapters into this book, I realize that while I could continue through to the end, I would likely find this more useful as a companion to a problem. I think the majority of non-academic readers, software practitioners if you will, will extract the necessary value from owning this book given a specific objective, i.e. I have to develop a work management model from scratch, and these are my (current) business rules.
The book covers so many kinds of models that it's entirely possible a reader will have no practical frame of reference, such as the chapter on accounting. Modern accounting software is primarily off-the-shelf, so developing a data model for it isn't something very common today. However, the smart developer understands that living "in the spaces between" software is a very good line of business, so to that end knowing what an ideal data model might have is certainly valuable ammunition when weighing vendor claims and evaluating solutions.
Because it lacks that sort of accessible readability, I am withholding a star. I'd have withheld a half-star if it were possible; I believe the book has great value to a developer or analyst.
Fred
Very satisfying reading experience. Starting off rudimentary and keying into a maturity withing 5 chapters - hats off to David.
I am looking forward to his new book on meta data.
If you have any interest in modelling domains, then you've probably already read, or are planning to read, Martin Fowler's Analysis Patterns. The models here share some overlap with that book, but this is a gentler introduction, so I would recommend this book for a beginner, before they read the Fowler book. A more experienced modeller should probably consider this as a catalogue of off-the-shelf models.
This book covers modelling enterprises - e.g. businesses and government agencies, and the relationships between their employees, organisational structures and the products and services they provide.
The fundamental models applicable to enterprises are covered here: the business itself, its employees and their positions; the products they produce and the equipment used to produce them; the activities carried out to produce the products; and the contracts between a buyer and seller that deliver the products and services. Later chapters cover some more specific examples, including accounting, laboratories, and manufacturing.
It is true that the models aren't very detailed, but that's the point of the book - for pretty much any enterprise, these models can be used as starting points, while covering most of the relationships that are likely to be encountered. It's true that you won't get any advice on actually converting the models to a database or an object oriented design, but that's beyond the scope of the book.
While an expert modeller won't find the in-depth treatment they might be looking for, I would definitely recommend this to a beginner. Unfortunately, there's no insight into the process of decomposing a domain, although the last chapter demonstrates wide applicability of the models by applying them to a theatre. What you do get are lots of simple examples of the finished output, which will provide inspiration, even if you have no particular interest in the enterprise domain itself.
In his own data modeling consulting, David Hay discovered that for all enterprises, there were common patterns of entities and relationships in various topical areas, whatever the organization. So he set about capturing those ideas in very high-level data models, and he put them together in a book.
This book is quite an intellectual accomplishment, because he has boiled down many different areas into their essentials and has captured those essentials. If you face a data modelling problem, it's likely that one or more of his patterns will work for you and jump-start your efforts.
These are high level models, and don't take you all the way to database design. You'll still have a lot of design decisions to make. But the framework given in these models will help you explore your own problem to discover if you've covered all the eventualities that Mr. Hay considered in his work.
Written by Chris Botello. By Delmar Cengage Learning.
The regular list price is $63.95.
Sells new for $51.67.
There are some available for $42.76.
Read more...