Archive for the ‘Book Reviews’ Category

By Mike Hubbartt, © Copyright 2012, All Rights Reserved.

Title: The Object-Oriented Thought Process
Author: Matt Weisfeld
Edition: 1st (2000)
ISBN: 0-672-31853-9
Publisher: SAMS Publishing
Price: $29.99
Length: 226 pages (9 chapters, 2 appendices)

This book, according to the author, is ‘an introduction to fundamental O-O concepts’. It is not a book aimed at people already familiar with OO concepts, so bear in mind it is not intended for people that already understand OO development. I read the first edition of this book in 2000 and enjoyed it, but it sat on my bookshelf until last summer. I had a class in grad school at UST and the professor recommended this book before taking the class so I decided it was time to reread it. I read 3 chapters per day, so it only took 3 days to finish it, even though I took notes from each chapter. Like the 1st ed K&R, this book is not huge – 226 pages including the title page, table of contents, index, and acknowledgments – but it explains how procedural programmers can make the move to OO development. Let’s look at the book chapter-by-chapter.

Chapter 1 – Introduction to Object-Oriented Concepts

This chapter explains classes and objects and how they differ. Encapsulation, one fundamental advantage of OO programming, is covered nicely in this chapter, as is the introduction to the difference between a class interface and implementation, polymorphism, constructors, and overriding.

I liked the code samples included to demonstrate some of the concepts like overriding. I also liked the UML class diagram showing how class elements are displayed via UML – very easy to follow. I would have liked more code samples covers more concepts introduces in the chapter.

Chapter 2 – How to Think in Terms of Objects

This chapter teaches how to think in an OO manner. This chapter goes into the introduction of public interface and private implementation portions of a class. Very nice, clear, simple explanation. Not over or under covered – just enough to introduce the material that will be covered in more depth later in the book.

Chapter 3 – Advanced Object-Oriented Concepts

This chapter covers object creation and initialization, plus error handling. Very good explanation of constructors – what they must and must not have – and how there can (and often should) be more in some classes. Exception handling, which is a topic that could fill a book, is introduced here. There was a bit of source code showing how to use exception in Java code. I liked how the author covered static attributes, which can be used to allow multiple objects to share attributes.

Chapter 4 – The Anatomy of a Class

This chapter explains the differences between the implementation and interface of classes. This is the meat-and-potatoes section of the book. Where a class is broken down using Java to show the implementation and interface sections, as well as constructors. Very clear and my favorite chapter of the book.

Chapter 5 – Class Design Guidelines

This chapter explains that classes must interact and it covers the iterative nature of class design. This goes into design considerations, covering a safe constructor to initialize a class, serializing (deconstruct a object), persistence (maintaining the state of an object), and stubs (minimal implementations of an interface). More good Java code examples, although C++ concepts are also covered.

Chapter 6 – Designing with Objects: The Software Development Process

This chapter explains how to identify class responsibilities and class collaboration. This goes into the way to design an application, covering statements of work, requirements documents, and CRC cards. This was my least favorite chapter of the book – I liked the issues to take into consideration during the OO design process, but I’d rather have more OO concepts than requirements gathering information.

Chapter 7 – Mastering Inheritance and Composition

This chapter covers the differences between composition and inheritance. Very good coverage going into important means of code reuse: inheritance and composition. The author has nice UML diagrams to cover the concepts, and the text explanations are clear and accurate. I also liked how the book explains abstract classes and methods – very clear.

Chapter 8 – Frameworks and Reuse: Designing with Interfaces & Abstract Classes

This chapter covers frameworks and abstract classes vs Java Interfaces. Another good chapter, which covers APIs. I liked the code sample for an abstract class, and the author includes nice UML diagram that demonstrates a interface, inheritance and composition. A short chapter but good material and worth the time spent to read it.

Chapter 9 – Building Objects

This is where you learn how to use objects to build other objects. This goes into both types of composition: aggregations and associations. The author also goes into cardinality (a familiar concept to DB developers). I liked the material here but would gladly give up all of chapter 6 for more information in this chapter. Good, but I’d like more.

Conclusion

A very good book that is well illustrated, deep enough to explain the material without overwhelming someone new to OO development, and a good starting point for more advanced/in-depth books on OO development.I like how the author goes into UML enough, but not too deep to obfuscate the topic of OO development – the appendix is a good starter for people new to UML, but I wouldn’t recommend it as the source for programmers needing to gain more mastery of that topic.

Recommendation

I enjoyed reading it and will pass it along when I find someone that could benefit from it. The most current version of this book is the 3rd edition, which was published in September of 2008. I would recommend this book to undergrad computer science majors that learned to develop with any non-OO language, or for procedural programmers moving on to OO development. I would not recommend this book for an intro to UML

By Harry {doc} Babad,  © Copyright 2011, All Rights Reserved

Authors: Hideo Nitta, Masafumi Yamamoto, Keita Takatsu and Trend-Pro Co, Ltd.

Publisher: No Starch Press — An O’Reilly Media Imprint

Web Site: http://nostarch.com/mg_relativity.htm

Updates/Errata: http://www.nostarch.com/mg_relativity.htm

Review Rating:  4.5 Quills

Cost: List Price: $19.95, Ebook:  $16.00 (PDF format),  Print +Ebook $21.95 [USD], Street Prices:  $10.88 [USD],  £15.19 [UK],  $15.12 [CDN].

ISBN-10: 1593272723
ISBN-13: 978-159327272

Language: English, Published (April 22, 2011)

Product Dimensions: 192 Pages including the Index, is a 9 x 67 x 0.3 inches paperback, or if you prefer buy it as an eBook from the publisher or Safari books online. The publisher offers the Ebook free when you buy the book from them.

Audience: Folks with science interests who not offended by comic based learning.

Strengths: A high quality, but at time mildly repetitive introduction to the history and implication of relativity from early classical mechanics to the world of Einstein.

Weaknesses: The detailed more academic sections are more disjointed then I cared for, relative to the comic story line and narratives, for my comfort.

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Introduction

Since I attended undergraduate school or perhaps earlier, I have been interested in relativity, as well as the peripherally associated quantum mechanics. That interest was always piqued by the apparent paradoxes they establish related to classical Newtonian mechanics. My often love-hate relationship blossomed as I read popularizations of these theories (often at ‘dummies’ level) about Albert Einstein, the Heisenberg’s uncertainty principle and Erwin Schrödinger’s discovery of quantum mechanics. [Check Wikipedia for lots more detail on these and other topics in this review often with beaucoup equations.]

Alas, the hate part of relativity related information; my class on ’introduction to’ was so filled with math (Polytechnic Institute of Brooklyn, NY) that I nearly imperiled my future as an organic chemist. For my BS and Ph. D. degrees, at that time, organic chemistry and to a lessor extent analytical chemistry (my minor) were computational requirements-free fields of study.

Flash forward… Articles in Discover, Scientific American and other reputable secondary sources (e.g., not journals or textbooks) kept me reading. Although I was and still am mathematically impaired. More recently my interest level was heightened when my readings alerted me to reports that both physicists and engineers were discovering likely quantum (fuzzy logic) and perhaps relativistic effects associated with Newtonian mechanics. Wow… I’ve added a few references at the end of the review to peak your interests toward further reading.

The Manga Guides — I have previously reviewed a number of books in the Manga series (Molecular Biology, Electricity, Databases, Newtonian Physics and Statistics.) Therefore I was pleased to discover that a new book on relativity had been released. This review services as killing two virtual birds with one quantum stone, as it were. The book credibly supports both my interest in science and technology education and my love-hate for relativity and associated subjects. I am also hard science fiction addict and dote on the assumptions of hyper drives and faster then light travel, as well as the effects of relativistic travel in closer proximity to Sol, our sun.

The book covers all the main questions and topics you would expect such as the definition of relativity, the time dilation effect (where times slows down as speed approaches the speed of light), mass and the contraction of length (again, as speed approaches the speed of light), and explores the difference between special relativity and general relativity.

Each main chapter, as I expand upon below, contains both a Manga comic section and a text tutorial. The former serves as a quirky manga type introduction to and discussion of a relativity-associated subtopic. This is followed in each chapter by a more detailed and technical section filled with equations and deeper explorations of the chapter’s subject.

The Nature of the Beast — How the book is organized

The preface to the book succinctly neatly frames its purpose and goals… “Everyone wonders what relativity is all about. Because the theory of relativity predicts phenomena that seem unbelievable in our everyday lives (such as the slowing of time and the contraction of the length of an object), it can seem like mysterious magic.

“Despite its surprising, counterintuitive predictions, Einstein’s theory of relativity has been confirmed many times over, by countless experiments by modern physicists. Relativity and the equally unintuitive quantum mechanics are indispensable tools for understanding the physical world.” This includes such demonstrated knowledge that the speed of light is a constant, the very faster you travel, the slower you relatively age, and time is not quantized.

The books preface has introduced us to the fact the ’players’ not the story characters, are going to be Galileo Galilei, Sir Isaac Newton, and Albert Einstein. It alas neglects one of my scientific favorites James Clark Maxwell, the father of electromagnetic theory and of course the infamous ‘daemons.’ He is only initially acknowledged in Chapter 1.

The preface concludes that:  “Relativity has given us a more accurate understanding of concepts regarding the space-time in which we are living. In other words, relativity is the result of asking what is actually happening in our world rather than saying our world should be a particular way.”

So on to what our ‘graphic’ teachers (the characters) teach us about the mysteries of relativity in the manga world. These characters are mainly our suckered student ‘hero’ Mr. Minagi and his oddly sexy teacher, Miss Uraga. And look out for the metaphysical dog.

In the material that follows I have paraphrased liberally, but only of a sentence or three from references [1 & 2], which surprisingly were both written by Michael Larsen. Nice writing sir!

Okay – Let’s get truckin’

Ignoring the ‘comic’ stage setting prologue and the somewhat surreal epilogue, the later dominated by a sort of deus ex machina dog. The book’s four main chapters focus on:

Chapter 1:  What Is Relativity?
 — “The first chapter helps us get into the mindset of our protagonist Minagi and his sensei Uraga as they discuss the differences between special and general relativity. The history of relativity from Galileo, Newton, Maxwell; on through Einstein and the idea that the speed of light is a constant and the fact that all reality is in constant motion is explored. The illustrations are both cute and informative, and help fill in the blanks for many of the concepts that might be difficult to visualize any other way.” [1, 2]

Chapter 2:   What Do You Mean, Time Slows Down? —“Time dilation is the situation where as an object approaches the speed of light, time slows down for the object. The manga guide uses an imaginary device called a “light clock” to help define how this idea works. This is further emphasized but use of the traveling Twins paradox. It occurs when one of a set of a twins goes on a space voyage for a year at light speed and returns to Earth, and sees that their twin has aged by several years in their absence.” [1, 2]

Chapter 3:  The Faster an Object Moves, the Shorter and Heavier It Becomes.


“The text continues with a discussion of the idea that, when an object gets towards the speed of light. Space and time are said to contract based on this theory of specific relativity (general relativity is discussed in Chapter 4.) Because of these findings, we need to look at space and time as not separate entities, but as interlocking interrelated subjects. In addition, we learn that objects get progressively heavier as they approach the speed of light. Light, which by its very nature is assumed to have a mass of zero is excluded from these relativistic effects. Strange! But otherwise the theories will not work the way they do).” [1, 2]

Chapter 4:  What Is General Relativity?

Special relativity focuses on the concept that gravity and motion of an object traveling in a straight line. General relativity is more mathematically complicated, because the gravity of nearby objects (such as stars) has a direct effect on the object in motion. That requires gravitational effects on fast traveling ‘things’ must to be accounted for. … Time also slows down as it passes such a large gravitational pull as well.” [The later effect has rationalized a number of unexplained fundamental astronomical observations. 1, 2]

The Plot Thickens – General relativity also takes into account, counter intuitively, that matter, space and time all have interactive relationships, and while it’s a “theory” there are devices we use everyday that depend on this theory [e.g., GPS] and in its actions prove it works. [1]

“Follow along with The Manga Guide to Relativity as Minagi learns about the non-intuitive laws that shape our universe. Before you know it, you’ll feel more comfortable, alas not master (shucks) difficult concepts like (1) inertial frames of reference, (2) unified space-time, and the (3) equivalence principle. You’ll get introduced to the concepts that are the basis\ in relativity theory affect modern astronomical observations. Then you’ll discover why GPS systems and other everyday technologies depend on Einstein’s extraordinary discovery.

The Manga Guide to Relativity also teaches you how to:

  • Understand and use E = mc2, the world’s most famous equation
  • Calculate the effects of time dilation using the Pythagorean theorem
  • Understand classic thought experiments like the twins paradox, and see why length contracts and mass increases at relativistic speeds — Poor space explorers.
  • Begin to grasp the underpinnings of Einstein’s special and general theories of relativity

If the idea of bending space and time really warps your brain, let The Manga Guide to Relativity straighten things out.”

 

The Text Tutorials

The Underlying Technical Basis

What is light  — Chapter 1 associated tutorial provides detailed descriptions of the results of (1) Maxwell’s pioneering work, (2) Einstein’s positing and others demonstrating the constancy of the speed of light and the (3) the true meaning of “simultaneous” which is really in the eye of the beholder. The section then proceeds to explaining the Galilean principal(s) of relativity and relating things Galilean to (an introduction to) Einstein’s  special principal of relativity.

Looking at the Slowing of Time —Chapter 2‘s lessons first use the Pythagorean theorem to prove time dilation and then follows this up with qualitatively dealing with how much does time slow down?

Using an Equation to Understand Relativistic Length Contraction — Focusing first on the implication of Lorentz contraction, and then for reason of which I’m some what uncertain, the tutorial branches off in the effects of Muons (a sub-atomic particle) as a means to demonstrate (1) the slowdown of time and (on 2) the parallel effects of contraction of an objects length at near light speeds. [The objects mass also approaches infinity.]

The primary focus of this material is to explain relativities’ effects on a rapidly moving mass using three approaches. First comes a discussion of the Galilean theory. Then, Newton’s second law of motion is invoked. Third and finally there’s a fine discussion of the use of the Lorenz transformation.

These ideas ore explained and their relationships related. [These relativity associated topics (ideas) and more  are explained in significantly greater details and depth on Wikipedia, alas often in a more mathematical manner. — Do check out my  reference 6].

My favorite part, herein, is the treatment of the relationship between energy and mass. The section ends, alas with an all to brief (an after thought?) on whether light has mass; no being the answer.

General Relativity and the Slowing of Time  — Chapter’s 4’s science focus deals with a discussion of the slowing of time under relativistic conditions. It is well illustrated by fallen and at rest clocks, and is accompanied by thee math that support the theory. Check it out, it’s clear in the book.

Kudo #1 —Of all of the technical sections of the book this one is both extremely clear/accessible and well illustrated. All though accompanied by equations of ‘proof’; the diagrams make what could be abstruse ideas, are made clearer, even to the minimally mathematically incline reader.

But then I’ve always had a weakness for melting watches (e.g., Salvador Dali) or even ones that fall, the later were used as thought experiments in the various physics classes I attended.

This section concludes with a more detailed, than the comic section, discussion of Gravity and other phenomena that become more understandable using the principles of general relativity. Nicely done!

Kudo #2 – The Plain Text Sections I found these sections too brief, a bit too mathematical for my taste, but scientifically very solid. Indeed I crosschecked parts of the subject matter in Wikipedia. All passed both that external screen, and my memory of courses long ago taken and doubtless somewhat forgotten.

Disappointments

None of significance

Conclusion

As noted by Michael Larson with whom I agree [References 1-2], the combination of storytelling, emotion, quirky characters and an illustration style that’s both cute and engaging helps lends itself to the idea that “hard topics” can be discussed using manga, and  in addition, that the topic will be much more engaging for the reader.

The comics style approach is as is usual for the Manga Guide Series, is always augmented by thoughtfully presented topical analyses, that provide the reader with a more detailed technical basis for understanding tough aspects of the comic’s subject matter. The Manga Guide to Relativity is an excellent example of this approach to knowledge sharing. Most notably, to my delight as an ex-academic, researcher and author, the book covers a broad variety of interesting, difficult and sometimes downright geeky topics.  Horray for No Starch Press.

As always in this series, the Manga Guide to Relativity is focused on a science or engineering topic. Pedagogically, it uses the premise of the accessibility, in both the young and not-so young, to visual or cartoon learning. There is usually a quirky story, written in a way to entice adolescent page turning. I was also both impressed and delighted that there was no attempt of Americanize the text. Shades of California and Texas textbook sensors’. I loved the subliminally sexual innuendos and ‘light’ by play between the characters; obviously, at least to the Japanese reader, are not either puritanical or virginal.

Never the less, this book, and the series for that matter the intent is more serious, to maintain attention long enough for the ideas in the story to take root in the brain. While the “come on” is the cartoons, there is a lot of knowledge hidden both in the often-simple seeming image sequences. This is accompanied by the more detail information in the textual materials that accompany the graphics based presentations the book is well worth my stingy 4.5 Quills.

My only concern about the effectiveness of this book in reaching the majority of American students is the deplorable level of science education we’ve foisted upon them. This as acknowledged in statistics of worsening scores in math Science and all too often reading, compared to Japanese, Chinese, and other students in the word from India to Sweden. But since I’m not in favor of dumbing down, to the least common denominator our educational goals, bring on this book… and more in the excellent educational and entertaining series.

PS:

If I appear to be badmouthing American education, don’t let my soft tone deceive you. As a hiring manger and ex-academic I was contiguously, even 35 years ago bewildered and frustrated by so-called graduates with great grade point averages who could not write even a simple ‘product’ description or project statement. All to often these folks as well as those I tried to work with in education associated volunteer organizations were both functionally illiterate and totally estranged from scientific reasoning, methods and logic. Someday I’ll blog about my experiences.

– – – – – – – – – – – – – – – – – – – – – – – – – — – – – – – – – –

References

[1]Amazon.com <Books> By Michael Larsen (San Francisco, CA United States)
http://www.amazon.com/Manga-Guide-Relativity/dp/1593272723

{2}  Book Review: The Manga Guide to Relativity, by Michael Larsen. April 28, 2011.
http://mkl-testhead.blogspot.com/2011/04/book-review-manga-guide-to-relativity.html

[3] The Manga Guide to Relativity, Reviewed by Dr. Richard Isaacman
http://www.nyjournalofbooks.com/review/manga-guide-relativity

[4] The Manga Guide to Relativity, Reviewed by Brian Dunning, May 19 2011
http://skepticblog.org/2011/05/19/the-manga-guide-to-relativity/

[5] Book Review: The Manga guide to Relativity by Jonathan DuHamel, on May. 18, 2011            http://tucsoncitizen.com/wryheat/2011/05/18/book-review-the-manga-guide-to-relativity/

Other General References

[6]  Einstein’s Theory of Relativity
Made Relatively Simple — Written for those who want to understand relativity but can’t quite grasp the concepts. <Hurrah, no equations!!!>
http://www.perkel.com/nerd/relativity.htm

[7]  Einstein’s Special Theory of Relativity – An Easy (I hope!) Explanation, Squidoo blog site – Undated with no author listed
http://www.squidoo.com/relativity_explanation

[8] Theory of Relativity Made Simple, Factoidz Blog, May 22, 2010,
http://www.google.com/search?ie=UTF-8&oe=UTF-8&q=Relativity%20-%20Simple

– – – – – – – – – – – – – – – – – – – – – – – – – — – – – – – – – –

Copyright Notice: Product and company names and logos in this review may be registered trademarks of their respective companies.

Sidebar #1: Reviews were written in MSW 2011 on my iMac 2.8 GHz Intel Core 2 Duo with 4 GB 667 MHz DDR2 SDRAM running Mac OS X version 10.6.8 with all current security updates installed.

Sidebar #2: Disclaimer: When reviewing books I will often use the authors or publishers product description, functions and features descriptions. Because of this unless I’m quoting directly from another unique external source, I do not clutter up the review with quotation marks. All other comments are strictly my own and based on my review. Why need I rewrite the developer’s narratives, if they are clearly written?

By Mike Hubbartt, © Copyright 2011, All Rights Reserved.

Title: Unleashing Web 2.0 From Concepts to Creativity
Authors: Gottfried Vossen and Stephan Hagemann
ISBN: 0123740347
Published: August, 2007 by Morgan Kauffman Publishers
Price: $52.95 for paperback/$29.95 for Kindle

This semester (Spring 2011) I’m taking a course in grad school called ‘Advanced Web Application Development’, and the only required textbook is ‘Unleashing Web 2.0 From Concepts to Creativity’. I bought the book before the start of the semester from Amazon.com (good price and fast delivery) and started reading it the day it arrived. I had read 3 or the 6 chapters by the time the class first met, when I learned that we would only cover those chapters, but decided to finish the book as the material was interesting and I found the material to be an easy read. Let’s check it out.

Chapters in the Book

The book is organized into 6 chapters:

  1. A Brief History of the Web
  2. A Review of the Technological Stream
  3. Enabling Techniques and Technologies
  4. Sample Frameworks for Web Application Development
  5. Impacts of the Next Generation of the Web
  6. The Semantic Web and Web 2.0

The authors approach is to present the topics and refer the reader to URLs for current information.

Chapter One provides history and terminology relevant to Web 2.0. It includes definitions of the 5 types of e-commerce (B2B, B2C, C2C, G2C, B2G), PayPal, and some code examples. There were examples of CSS and XML  code – not enough to do more than see a short example, but still useful when taking free online language sources. I particularly liked that the authors mentioned MAMP/WAMP/LAMP – Mac/Windows/Linux Apache MySql PHP/Perl – which developers use to develop and test server-based applications using Apache and MySQL. I also liked how the authors explained Web Services.

Chapter Two has HTML code and tags, more CSS code, some JavaScript and PHP. This chapter goes much deeper into Web Services and WSDLs, and it brings up Amazon’s ECS (E-Commerce Service). I’ve worked with Web Services before, and while this material is not enough to know how to configure them by itself, it is well-covered and the authors give internet references that are useful.

Chapter Three goes into RIAs (Rich Internet Applications), Saas (Software as a Service – the included diagram is very good), Google APIs, and Flickr. Good data, especially on the APIs although you still need to go to the API websites for detailed information.

Chapter Four goes into client-side and server-side frameworks. Our Advanced Web Application Development class has a project where we use Ruby on Rails (server-side framework), so this was interesting but no where near enough for what I’ll need to do the coding so I will pick up a book dedicated to Ruby on Rails development. This chapter also covers MVC (Model View Controller) and has a decent diagram as well as written data on the topic.

Chapter Five goes into the business-side of Web 2.0. It breaks down the types of commerce that (as of 2007) is done using Web 2.0, and this is the main section I’d love to see updated to 2011, as there are probably a few new ones that came out since this edition was released.

Chapter Six is on Semantics, which I just started and will add that information when I finish the book.

Conclusion

For now, I liked this book. I like the approach of referencing many free online sites that will have more current information than books several years old. I will keep this book on the bookshelf, even though I have many pages of notes I made while reading the book (who wants to memorize hundreds of URLs).

Positives

  • Reasonable priced: check out Amazon.com for used copies if you’re watching your book budget.
  • There is a version available for the Kindle. I don’t own one, but understand some students are going the ebook route as often as possible to save money and weight.
  • Excellent references to many internet sites with relevant Web 2.0 information. Most of the URLs I checked for Eclipse add-ons or plug-ins were still available.
  • The content flows well – not disjointed, which does occur with books that have multiple authors.

Negatives

  • The book was published in 2007, and 3-4 internet years is like 50 human years. I’d love to see this book updated with 2011-current information. I bring this up is that some of the Eclipse add-ins did not work with Eclipse Helios (although they did with Eclipse Galileo).
  • Only provides code snippets, so you need to buy other books to learn more about the programming languages mentioned in the book – to be fair, there are enough internet sites on the languages that you don’t need to buy a programming book, but I prefer to learn coding from old school printed books.

Conclusion

Recommended buy for developers or managers that want more understanding of Web 2.0 technologies. This is good book and it was worth the time to read it for my class, as well as to come up to speed in Web 2.0 technologies and terminologies. I liked the approach of providing an overview of topics while providing URLs, which should have more up-to-date information than printed books.