Computer Programming

Google

General

Programming
APIs and Operating Environments
Extensible Languages
Graphics and Multimedia
Languages and Tools
Software Design
Web Programming

Languages

ADA
ASP
Assembler
Basic
C#
C and C++
CGI
COBOL
Delphi
Eiffel
Forth
Fortran
HTML
Java
Javascript
LISP
Logo
Modula 2
Pascal
Perl
PHP
PL/I
Postscript
Prolog
Python
QBasic
REXX
Smalltalk
Visual Basic
XML

Databases

Access
Clipper
DBase
Filemaker
IBM DB2
Informix
Ingres
JDeveloper
MySQL
Oracle
Paradox
Powerbuilder
SQL

Software

Database
Development Utilities
Graphics
Linux
Programming
Programming Languages
Training & Tutorials
Web Development

HobbyDo


Search Now:

PROGRAMMING BOOKS

Posted in Programming (Thursday, July 24, 2008)

Written by Bill Hatfield. By For Dummies. The regular list price is $24.99. Sells new for $0.99. There are some available for $0.02.
Read more...

Purchase Information
5 comments about ASP.NET 2 For Dummies (For Dummies (Computer/Tech)).
  1. I am a software developer with 24 years experience, and have been doing .Net Windows Form database programming for the past 5+ years.

    As I am new to web development and will soon be working on an ASP.Net 2.0 project, I've been checking out the available books on this topic. I happened to look through this one at Borders, although I normally steer clear of "Dummies" books (guess I must be getting desperate..)

    This seems to be one of the best books available for getting a gentle introduction to the subject. The Microsoft Step-by-Step book for ASP.Net 1.1 also seemed fairly decect (although roundly trashed in the Amazon reviews) but it's 2.0 replacement is a bit of a gangly mess unfortunately--they should have stayed with the original format, and possibly author as well.

    For a Windows programmer, web development in general sometimes resemble a "Bizarro" world: familiar, but different in initially strange and myserious ways. This book does a really good job of familiarizing you with the terrain, and I would highly recommend it as a first step into the ASP.Net realm.

    Of course, everybody's taste in books is different, so check it out first at Borders before ordering..


  2. Only having truly scanned through and hit the highlights of this book thus far. I already see many familiar concepts broken down into much simpler terms which allow me to quickly grasp the meat of the ASP language and paired with my new understanding of C# feel as though I will be able to use this book as a reference for a long time to come. The CD examples are also very good for visual and hands on learning.


  3. I think Dummies books are hit-or-miss. I always start with them, when embarking on something I am a dummy at. About half the time, they put you off to a good first step. That's not a bad record at all.

    I'll always be grateful to the Dummies series, which got me started writing code with the help of Wallace Wang's Visual Basic 6 for Dummies.

    This Dummies book is the best one I have read yet. But I like it for reasons that may not serve every customer of the book, so be warned. What makes this book such a gem is the author's ease at conveying the basics (and then some) of the V(isual)B(asic).Net language and framework. His ability to present concepts like objects, classes, functions, sub-routines in a simple manner using simple language is like nothing I have ever read. And I have a TON of reference manuals on my shelf. Truly, I have never REALLY understood what a "class" is, how to think about it in a way that my mind honestly gets around the concept, until reading this book. And I have been a fairly serious amateur programmer now for nearly a decade!

    This book is without question a better primer on the Visual Basic language than Bill Sempf's Visual Basic 2005 for Dummies. Crazy, but true.

    Still, it should be noted: ASP.NET works with lots of different programming languages. If you are a C# person, this book is probably going to seriously irritate you.

    I can't imagine someone who isn't a Visual Basic programmer getting much out of this book. And I can't imagine someone who does use the VB language finding a better start at ASP.NET programming. Or a better start at understanding basic Visual Basic language concepts as well.

    Hatfield hasn't written anything since this; I hope he hasn't retired, because I want him to teach me the next thing that I am a Dummy at...


  4. I just happen to find this book in the library when I was looking for a quick guide/tutorial. I've read 3 books before this and so far this is the book that stands out from the rest. I give Bill 5+ stars for clearly explaining the tech stuff clearly. Nevermind the typos, that's up to the proofreading group. Kudos to this book!


  5. Bill Hatfield wrote the "Dummies" books on the original versions of ASP so you would think he would be the perfect person to carry over into the ASP.NET books, right? The problem for me with this book (and his previous ASP.NET Dummies book) is that Microsoft has created this marvelous environment called Visual Studio but Bill seems to think I prefer hand coding my pages using Notepad or FrontPage. While he does give a 'nod' to Visual Web Developer Express in one chapter of the book, he pretty much ignores it and Visual Studio throughout the rest of the book and assumes that I like to mix my presentation code with my business logic code. A better buy is 'ASP.NET 3.5 for Dummies' by Ken Cox if you are ready to take the leap.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Hugh Cameron and Roger Voight. By Wiley Publishing, Inc.. The regular list price is $29.99. Sells new for $19.85. There are some available for $12.54.
Read more...

Purchase Information
3 comments about MindManager for Dummies.
  1. This was the first "For Dummies" book that I felt was worth the cost. I didn't read it cover to cover straight, but I have now touched on all the chapters in the order I needed. Although I have been a MM user since way back, MindManager X5 has some very nifty enhancements. I didn't upgrade from MM2002 until I got the book and then I just let loose.

    If you're new to MindManager, this will get you started and give you some neat tips. If you're a regular user, I would get this book when you upgrade to X5. There have been enough changes in procedures and nomenclature that it just won't work with previous versions of MindManager.



  2. ...then you may also enjoy reading the gripping story in The Cancer Code by Mike & Bettina Jetter, of how Mike developed MindManager while battling leukemia. Recommended!


  3. If you are having trouble learning or using MindManager, study this book!
    Without this book, I would not be nearly as productive using MindManager.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Translated William Rodarmor. By O'Reilly Media, Inc.. The regular list price is $19.95. Sells new for $11.19. There are some available for $11.18.
Read more...

Purchase Information
5 comments about Assembling Panoramic Photos: A Designer's Notebook (Designers Notebook).
  1. Few books on photograph go into much detail or depth on handling panorama format photos, which makes the advice of Assembling Panoramic Photos: A Designer's Notebook important. Another feature which lends unique value: leading French photographers and artists present their techniques, translated by William Rodarmor for English readers, with step-by-step examples of technique beginning with initial shots and progressing to specific panoramic techniques. The end result is an essential reference which should be a part of any solid photography book collection.


  2. I came to Moab Utah to take photos of the great national parks and the state park (Dead Horse SP). After two weeks I bought the Really Right Stuff equipment for making horizontal and vertical panoramas. The photoshop CS2 books and the internet suggested that joining them would be easy to do. Hoever, this great book, shows that much more skill is needed in taking the photographs and using the software. The book gives an outline of the steps needed to compose the 8 digital panoramas but does not give exact details because considerable experiment is needed. In the first chapter where 3 images are joined to form an ice fall in an ice cave the photographer took 200 images. In the panoramic beach scene the waves were coninuously moving during the shooting so that an incredible amount of editing was needed to form a great image. This book shows what can be done if skill is used at every step Now I realise how much incredible work Max Lyons had to do to compose his terabyte image of Bryce Canyon. "The Photoshop CS2book for Digital Photographers" has a small chapter on panorams.
    For some reason "Assembling Panoramic Photos" is well hidden in the Amazon search terms.
    Howard McPherson, Cleveland, Ohio (Moab, Utah)


  3. This book is small but really comprehensive. Through specific examples people that knows the secret of panoramic photography, gives tips & tricks for a good panoramic photo using normal cameras and lenses.
    In the beginning i read it very quick but then i discover more more than even in the smallest paragraph there is a nice tip.
    The only "bad" is that most of the writers use realviz stitcher as main stitching program. Why this is "bad"? Because the program costs more than 400 euro. There is also a express release around 100 euro but with limited use.
    But the tips and tricks are still there. I personally use PTGui with Pano2cube software and i can use most of this books advices. it is highly recommended for the photographer he wants to involved in panoramic photography.


  4. I found this book to be a great book on artistically making PANORMIC Photos, and More...

    It is an excellent book in showing different techniques as well as the art of "Assembling" Panoramic pictures. But it is also a work of art in helping you get an idea of the artistic and somewhat abstract way of doing this.

    I followed the techniques, for example taking multiple shot of the same subject and then assembling that together, as another example I used the planning that is pointed out in this book, and multiple shots from the same view to make it super high resolution.

    I used PhtotoShop for the "Stitching" and I got the same outstanding results.

    This is a Great book for photographers.

    Bruce Razban
    Silicon Valley, CA, USA


  5. I got this book hoping it would be a step by step guide to assist me in developing my work flow and technique on up skilling my panoramic knowledge. But it was not.. it made very simple things overly complicated and some of the most popular great tools available were not highlighted or used.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Bruce Eckel and Chuck Allison. By Prentice Hall. The regular list price is $56.25. Sells new for $30.69. There are some available for $28.13.
Read more...

Purchase Information
5 comments about Thinking in C++, Volume 2: Practical Programming (Thinking in C++).
  1. In this book i found everything about the standard c++ library.
    Recommended if you wanna do something serous with c++


  2. Bruce Eckel, Thinking in C++, vol. 2 (Mindview, 2004)


    I was a big, big fan of Volume I of this two-volume set. I first read it four or five years ago, and it was a big part of the foundation that helped me to understand why some of the newer pieces of the C++ architecture are useful (read "newer" as "when I was your age, boy, we had to walk to school, `cause we didn't have none of them new-fangled templates to ride on!"). It took me a while to get round to reading the second volume. It's more of the same, but different. Volume 2 seems more like a reference book, and far more of it is devoted to bleeding-edge (at the time) concepts than was vol. 1--design patterns, threading, that sort of thing. Of course, these days, they're all relatively common (thanks in no small part to Microsoft having already implemented most of this stuff in .NET), so this one's better thought of as a refresher course, or a book for people like me who are hopelessly backed up trying to keep pace with the Joneses (or the Redmonds). ***


  3. This book is a must! It is not that visually appealing but in pair with the Vol. 1 it is a mandatory book that will help you featuring out all the brighter and dustier corners of C++. The text is quite clear and the examples very appropriate. It is written with a nice scientific background and the author doesn't limit himself to just expose all the C++ features.


  4. Amazon delivered on its promise. Great pricing with quick shipping. Can't beat that.


  5. Have to say "a bit boring" but absolutely a must if you want to learn C++.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Dagfinn Reiersol and Marcus Baker and Chris Shiflett. By Manning Publications. The regular list price is $39.99. Sells new for $21.63. There are some available for $21.91.
Read more...

Purchase Information
5 comments about PHP in Action: Objects, Design, Agility.
  1. By far my favorite PHP book and the one that I recommend to everyone who asks me about improving their PHP knowledge.

    The book not only covers what you should do, but it goes into explaining why and how in an easy to understand manner. Highly recommend to anyone who understands how to script PHP but now wants to learn how to become a PHP programmer.


  2. This is definitely the best book I've read in the programming world. There are some very good PHP books, but this is so far the best. Why? I have a MS in English Lit and some of the books I have read have left me furious over the poor quality of the editing and general sloppyness. Not so here! Amusing at times but not self-involved. Appropriate for an adult. A clear intent to educate that succeeds!
    Good job.
    PS - Almost done and no typos!


  3. The problem with PHP experts is that they're just beginning to catch up with experts in other OO languages. The author purports to compare and contrast Java and PHP in early chapters, but fails to point out a significant difference, although he uses such examples over and over: that object constructors that take no arguments may omit the (empty) parentheses in PHP, but not in Java. The author's explanations of certain design patterns are sorely lacking; for instance regarding the Strategy pattern, he uses the ambiguous term "pluggable" over and over but never once the term "algorithm", yet substituting algorithms is precisely what the Strategy pattern is designed for. There is some very good material on MVC -- he even has the courage to contradict Martin Fowler -- but mixed with suggestions that are myopic, such as the author's continued insistence that using PHP's various ob* (output buffer) functions are practically the only way to compartmentalize web page components should you choose to role your own framework, while ignoring the notion of layout definitions (a la Java's Struts/Tiles), which I am using successfully on a current project. So, while this is a much better thought out book than most on PHP, this needs a highly critical reading, something which most PHP programmers are probably not inclined to.


  4. This book is geared toward the intermediate PHP developer who wants to bring in aspects of OOP, Testing and Refactoring to help improve the quality of the code they write. It is split into four parts; Basic Tools and Concepts, Testing and Refactoring, Building the Web Interface, and Databases and Infrastructure.

    In addition to PHP, I have decent amount of experience with Java and Java web frameworks such as Struts. So as I worked through this book much of the content was familiar to me but from a Java perspective. It was enlightening to see the authors express these same concepts from a PHP perspective. The fact that many times (not always), the implementation in PHP is more concise and elegant that the Java alternative really shows of the power of a dynamically typed language such as PHP. Also the fact that PHP was bred from the beginning to be a web development language gives it a definate advantage in the web arena.
    The authors are honest though, they haven't simply painted implementing OO, TDD, and Refactoring as completelty painless. For instance in the testing portion they've devoted quite a bit of time to showing the difficulties of testing (especially in a Web environment). Such as the need for mock objects and the difficulty in keeping mocks "real enough" so they fail and pass as the real object would. This full disclosure is key for readers to estimate if the extra effort of a concept is worth the benefits for their particual situation.

    Overall this is great book for the intended audience. It is not "black and white" about the solutions it proposes. Reasonable alternatives are given and the pros and cons of each are expressed. For those with extensive OO experience, some portions of the book may seem trivial but overall it is still worth a "quick scan" to see the specifics of PHP implementations of general OO concepts.
    PHP in Action: Objects, Design, Agility


  5. Very good book for intermediate or advanced php developer, I'm very happy with the book.
    Ruslan


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Richard Bartle. By New Riders Games. The regular list price is $49.99. Sells new for $26.49. There are some available for $21.50.
Read more...

Purchase Information
5 comments about Designing Virtual Worlds (New Riders Games).
  1. To begin with, this book is not a programming book. There is no code, no discussion of VRML, MPEG-4, or X3D. Instead, this book stands back and takes a "big picture" look at the design of a virtual world from the viewpoint of systems engineering, social engineering, philosophy, history, and psychology. Ethical considerations are even tossed in for good measure.
    The book starts out with chapters on the history of virtual worlds and the cultural influences that affected their characteristics. Next, there is a fly-over view of the "production line" of building a virtual world. Bartle then turns his attention to the players - who they are, what they want, and how a virtual world can meet their needs. World design is examined from the standpoint of virtual geography, virtual world citizens, and finally the physics required to implement your world. Chapter 5 is about the specific sociology and physiology of the virtual world - skill levels, individual characteristics, how virtual inhabitants divide themselves into groups, combat, and even the meaning of death in the virtual world. The final three chapters are very philisophical in nature. Chapter 6 is basically a liberal arts syllabus through the prism of virtual world design. The last chapter, on ethical considerations, talks about censorship, and also looks at the player as a person and how game playing in virtual worlds can hurt more than help some kinds of people, particularly those prone to addiction.
    Bartle's social commentaries may be a bit long-winded for some people, although I found them interesting. Some readers may also be somewhat frustrated by the fact that the book talks more about what can go wrong in the design of a virtual world - overly complex and static story arcs, characters that players do not get invested in, characters in which players get too invested, etc - than what can go right. I really enjoyed the book, mainly because it moves the focus of the potential virtual world designer from the artistic and technical viewpoint to the player's viewpoint - why they plays games, and why a player would pick your game versus someone else's game.


  2. You're getting it straight from the horse's mouth since this book is written by the grandfather of the modern MMORPG.
    Rest assured - if you are a game designer, developer, or just love reading about game theory, this book is worth every penny.

    I have read many other books on the subject and not one of them are packed with as much depth, knowledge, and wisdom. Bartle covers every avenue that a designer needs to consider in order to be successful. This book will help you and your team create an active, emergent virtual world.

    As a game developer, I learned many valuable lessons on what made other games lose subscribers, or worse -- catastrophically fail.


    Richard Bartle's writing style is very creative and detailed, and like his games, it gives you the 'just one more page' syndrome. For example, in this book it mentions how often a player must be rewarded in order to retain interest. He uses this same technique for writing by giving you something insightful to read atleast every 10 pages.


    Bartle has covered all the bases. Designing Virtual Worlds is a great book, very entertaining. I give it 5 out of 5 stars - a must read.

    More than 700 well-written pages packed with valuable insights, and it still leaves you begging for more.


  3. Covers all the aspects of virtual worlds from a psycological perspective; the intentions, the types of virtual worlds.
    Doesn't include indepth technology and the development issues related to designing virtual worlds
    Good primer on virtual worlds.


  4. This book taught me the theory behind Virtual worlds and I beleive nearly everything I read in this book.

    I didn't simply believe everything because it was a published book, I beleived it because Richard used examples from real games. With all the experiance Richard has you would expect him to have learnt everything the hard way, he has but he's also smart enough to realise that sometimes you can learn from others mistakes instead of making them yourself.

    The book is aimed at the 'Dungeons and Dragons' (and most of his examples are) type of game but there is no reason the information cannot be used in other genres.

    The most amusing part is how right he can be.
    Richard states that 'you cannot allow players to carry items over from the Beta testing to the online game, even though your players will try to convince you otherwise'; something I didn't really think and didn't really agree with.
    My family and I were all about to join 'Pirates of the Caribbean' when it started; when the announcement was made that players form the Beta test would be allowed to keep items my daughters asked what a Beta test was, I explained and now they don't want to play as they consider that to be cheating. We have all decided not to play.

    Learn from others (like Richard) or pay the price.

    James


  5. Mr. Bartle's writing is precise and his facts carefully researched, even the ones he experienced himself. This is a huge, superbly constructed history of the tools and philosophies developed over the years in experimental and commercial development of online virtual worlds. Because of Mr. Bartle's personal knowledge as a long-time designer and his sharp memory for the significance of trends and details, this book will raise anyone's appreciation of whatever virtual worlds one comes across on line or on disk, whether they be famous commercial ones or those developed by enthusiasts for their own pleasure. I would think it would be a must read for gaming students. What a grand, satisfying, fascinating book! And when one considers that this exciting history is only the beginning of VW development... Wow!


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Joel Sklar. By Course Technology. The regular list price is $90.95. Sells new for $32.95. There are some available for $25.89.
Read more...

Purchase Information
4 comments about Principles of Web Design, Third Edition (Web Warrior Series).
  1. This was one of the better web design books that I have read. It ranks even above HTML Goodies web design books. From an experienced web designer I recommend this book greatly.


  2. I'm a full-time web development instructor with both high-school and returning adult students. I am using this book in my web design class. I liked the introductory chapter and the chapter on tables. However my students and I have run into a number of code errors (especially in the frames chapter) that are unacceptable. So I will continue looking for an excellent instructional book on web design. This book doesn't fit that criteria and I will not force it upon future students.


  3. I'm a full-time web development instructor with both high-school and returning adult students. I am using this book in my web design class. I liked the introductory chapter and the chapter on tables. However my students and I have run into a number of code errors (especially in the frames chapter) that are unacceptable. So I will continue looking for an excellent instructional book on web design. This book doesn't fit that criteria and I will not force it upon future students.


  4. Clearly written/explained for the beginner or for an easy-to- follow review of HTML. Pages are well laid out and easy to read. It's important to me to be able to read the text while sitting in front of the monitor, therefore a book should be legible at "lap height". My only complaint is that "figure" examples should printed on the same page as the text explaining them.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Neil C. Jones and Pavel A. Pevzner. By The MIT Press. The regular list price is $60.00. Sells new for $33.00. There are some available for $32.00.
Read more...

Purchase Information
5 comments about An Introduction to Bioinformatics Algorithms (Computational Molecular Biology).
  1. Bioinformatics is probably the fastest growing field in both biology and computer science. The problems have come from the computer science department and the biology department having such fundamentally different goals. The computer scientists see the computer as an end in itself with no real thought on trying to do something useful with it. The biologists see the computer as just another tool in their laboratory. And the biological problems are huge, massive computers like the new Cray's and large Linux clusters are being devoted to biological applications.

    This book is intended to fit into the chasm between biology and computer science. It discusses computer the algorithmic principles in terms of practical techniques that make sense to the undergraduate biologist. The book is well suited for a first class for the budding bioinformaticist.

    Each main chapter in the book first introduces an algorithm, then it discusses the biologically relevant problems that this algorithm addresses, it includes a detailed problem and one or more solutions. Finally the chapter concludes with brief biographical sketches of leading figures in the field.

    This is the first book of its type, and it's likely to remain a classic in the field through many editions and many years.


  2. This book gives a broad overview of algorithmic methods used in bioinformatics. It is well writen and the mathematics needed to understand is undergraduate level. Reading this book makes appetite to apply these methods to problems or to dig deeper in the corresponding method.

    Overall, a very good book, and due to its introductory level, one can recommend to all people interested in bioinformatics from all disciplines.


  3. I knew most of the stuff before I opened the first page. It's basically teaching data structures 101 using a few watered down bioinformatic problems for motivation. The lack of applied problems involving real data was most disappointing. It does have a lot of the type questions that some nerd (me one day :P) might ask you on a job interview. The questions are also a good way to kill time if you have nothing better to do. I give the book credit for stressing dynamic programming. I believe that this is one of the most important concepts in problem solving.

    3 stars because I think it is a fairly good introduction for fledgling computer scientists BUT not a good reference for comptuer scientists trying to apply their skills to solve bioinformatic problems.


  4. This is the first book that I've read regarding bioinformatics, so Im updating this as my class moves along. You better have a grasp of basic data structures prior to beginning this book and background with a programming language as there is very little hand-holding in this text. A bio background makes it all more interesting but certainly is not critical. There are no sample code or sources printed with the book nor is there an included CD nor answers to exercises. There is an associated web site where some ideas may be had and errata found/reported, but its not very active that I have seen. The pseudo code in the book is very python-like so easy to make use of. I personally transfer the book's concepts to C/C++ (habit) without much problem, except sometimes my results differ from the book. Apparently these are book bugs, so be sure to check the web site out if unexpected things pop up.
    Presently my class is in chapter 8 (of 12) and looking back I would like to caution that some data processing algorithms will drive a computer's CPU quite hard so be aware of battery-munching & heat. My only bones with this book so far are the alphabet soup of variables and lack of answers to exercises. It would be nice if variable definitions were refreshed at the beginning of pseudo code samples.
    I like this book as an algorithms text over traditional texts because the applications are much more fascinating. Imagine searching for something and you don't know where that something is. On top of that add not even knowing exactly what it is you are looking for. And when you do find it, its not even in the data searched! This may sound unlikely or even impossible, but it is neither. Rather, its very cool.
    4-stars


  5. Este livro é excelente por várias razões. Entre elas posso citar o fato de estar totalmente voltado ao aprendizado por exemplos, sempre de forma a relacionar um problema computacional com um problema em bioinformática. É um livro muito abrangente, cobre muito bem os tópicos relacionados a alinhamentos e comparações de sequências. Seu capítulo sobre Algoritmos com Grafos é o meu preferido. O autor consegue passar as noções fundamentais com muita simplicidade, de forma que qualquer pessoa possa aprender num ritmo bem rápido.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by James Reinders. By O'Reilly Media, Inc.. The regular list price is $34.99. Sells new for $26.63. There are some available for $15.33.
Read more...

Purchase Information
3 comments about Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism.
  1. There are many views of how best to implement multi-threading and with multi-core processors now common the topic is becoming ever more relevant. Of course the best implementation method really depends on what you are trying to do. Are you implementing something that waits for a price update message from a derivatives exchange, parses the message, updates cached data, writes a log and forwards the message on to an algorithmic trading engine? If so, you'll probably be attracted to techniques different from someone calculating risk, bond prices etc. There is no one technique that suits every job.

    Anyone working with multi-threading (and parallelism in general) keeps an eye on what techniques other people are using to see whether they may be useful. That's why I bought this book (Intel Threading Building Blocks) and TBB certainly looks like it will be of use for some multi-threaded applications that I develop, although not for all.

    Starting with the most important question - have I learnt anything from reading this book. Yes, and I've learnt a couple of bits from reading the TBB source code too (downloadable from the web). Now for the detail...

    Having read the book, am I now about to start using the Intel Threading Building Blocks library (downloadable from Intel)? The answer is yes, for some applications on some hardware architectures, but not for all of my multi-threaded applications. Importantly in terms of this book though, the first reason I looked at the TBB source code was to answer questions raised when reading the book, and that is my main issue with this book. For a developer who already has extensive multi-threading experience, this book raises quite a few questions that it doesn't answer.

    Even some of the things that this book does answer are tucked away in the text a long way into the book. Here are three examples:
    (1) The book tells you to create tasks, not explicitly work with threads. Where is the best description of a task? Page 267. It's not even in a glossary, but tucked away in the examples chapter. Somewhere in the first chapter would have been more useful.
    (2) Personally, if I am told within the first few pages that TBB is based on the idea of developers implementing their systems as small tasks that are scheduled by the TBB scheduler I am immediately going to ask how that task is handled at a technical level. Ok, we're told quickly that it's written as a functor, and that functors may be executed on different cores, but does that mean that a thread is chosen from a thread pool to execute each functor, that (on Windows) fibers are used, that there is one manager thread running per core (with processor affinity set?) with each manager pulling tasks from its own queue, what are the performance implications of context switching and locking, etc? The author may think that the reader doesn't need this level of detail, but if somebody is going to the trouble of writing multithreaded code to improve performance I would think it very likely that they will want to know what is happening beneath the surface to ensure that they are using the best techniques. Some details of the scheduler are provided much further into the book (for instance we discover that last-in, first-out deques are used), but not enough and far too late.
    (3) On page 133 there are two paragraphs discussing when task-based programming is inappropriate, a bit late in my opinion for those people for whom it does turn out to be inappropriate.

    I also have issues with some of the things presented as absolute fact in the book. For example "Race conditions are less catastrophic than deadlocks". I disagree. With a deadlock your program stops, you know about it very quickly, you investigate and you sort it out. If it happens, it'll probably only happen once. With a race condition you may not even realise it exists, the application produces subtly incorrect results and hence your functionality goes awry. If that means your algorithmic trading engine decides to buy a million shares instead of doing nothing (or selling) then you are going to lose a lot of money very quickly. Possibly not just once, but day after day until you realise the race condition is there.

    Then there are the bits that are just plain confusing. Here are two examples:
    (a) We are told on page 271 that Task stealing is "Terrible" and "will disrupt cached data", but are told on page 283 that TBB is "unique because it rests on a few key decisions" including "Use task stealing". Hmmm...
    (b) The code comment on page 231, "2 = 1 for SideShow and C". I know what it means, but adding a verb phrase would prevent the moment when the reader wonders just which proof is about to be presented that "2 = 1".

    On the plus side, the book does discuss the split/join pattern, pipelines, atomic operations, benefits of working in user space, issues with the standard new operator (and hence libraries that make use of it), caching issues etc. There is also a chapter on general "Keys to Success" which is useful. There are also some reasonable examples towards the end of the book (although some half way through would be better replaced - demonstrating a point is one thing, but demonstrating it with realistic code is better).

    Possibly outside the intended scope of the book, it might have been useful to briefly describe grid computing and whether Intel have plans to add a layer above TBB for use across grids instead of just on one machine, or whether Intel's plans for grid computing simply rely on a completely different model.

    So to summarise, the TBB library from Intel looks like it could be very useful, this book will certainly get you started using it, but have no doubt that this book could have been better. Buy it if you will be using TBB, but until somebody writes a better book be prepared to read the TBB source code to find the answers to your deeper questions, or simply ask questions on Intel's web-site.


  2. I agree with Hardman's review as far as it goes -- the book cannot go into as much detail as he would like since it is designed to be cross platform (and surprisingly also applicable to other similar chips e.g., AMD).

    On the other hand, this book opens you up to an important area: how can you use a small number of cores to speed up your program, including those programs that appear serial at first (and maybe second) glance e.g., the cumulative sum of a vector.

    The book has a lot of depth on the algorithms used and works through applications of differing complexity and varied domains.

    As an extra bonus it provides annotated pointers to its intellectual predecessors, albeit not as extensive as Hillis' book.The Connection Machine (Artificial Intelligence)


  3. I bought this book with the hope that I could find the answers to solving a couple of problems.

    The first problem being writing parallel threaded code in a standardized way.

    The second problem being writing the OS threads and associated message queues in a way that is abstracted from the OS.

    In the end I have not used the lessons from this book yet. After reading it I was left with the impression that the inventors are on to something novel; however, the implementation is not yet complete. I find myself asking if this winds up being like Sony's Betamax.

    Only time will tell.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Michael Geoghegan and Dan Klass. By friends of ED. The regular list price is $24.99. Sells new for $6.92. There are some available for $5.93.
Read more...

Purchase Information
5 comments about Podcast Solutions: The Complete Guide to Podcasting (Solutions).
  1. I started out knowing diddly squat about podcasting. I read "Podcast Solutions" by Michael Geoghegan (what's up with that name?) and Dan Klass and now I know everything. But much more important than my over-generous opinion of myself I got my podcast up swiftly, easily and on time thanks to this incredible book.

    They answer questions with the insight of someone who really knows all the angles, who really knows what they are talking about, who has actually done it. The book will take you through the entire process and get you up and running. And isn't that what it's really all about?

    I especially enjoyed Chapter 10 "Getting Heard" which offers rich detail and many astonishing ideas about how to get people to actually listen to your podcast. And isn't that what it's really all about?

    Finally, the price on this book is right. Just right. Enough to make you realize you're getting something valuable (which you are) and low enough that it's well within reach of anyone who's ever splurged on a cup of Starbuck's coffee. And isn't that what it's really all about?

    Buy the book. Do it now! Buy a brand new book all for yourself. Don't chintz out and get a used one from Amazon. There's a CD inside that you need and it will probably be missing from any used copy.


  2. Yes, it's true. I'm contemplating adding a podcast to my blog. So, I bought "Podcast Solutions" on Amazon and read it, front to back. This is a very useful book, and it comes with a CD of demo software you can use for podcasting.

    Anyone who is thinking about podcasting should read this book BEFORE they start purchasing any equipment. One of the most valuable things I found in this book was information about the equipment you will need to get start. A large portion of this book is devoted to getting good quality recordings from your recording sessions so that it doesn't turn potential listeners off with popping, clicking, hissing, etc.

    One of the other great things I found in this book is podsafe music. Never heard of it? Podsafe music is music from independent artists that is licensed for you to use it free of charge in your podcasts. Check out these sites: GarageBand and PodShow. The music is really good. I'm digging it.


  3. Until someone writes something really comprehensive, this is the best there is in podcasting.


  4. Michael Geoghegan and Dan Klass have done a great job in this 240 page book on podcasting. A great book for any podcaster. They do a good job of taking you through all of the steps necessary to learning podcasting. The book runs the gamut of the steps you'll need to preparing your podcast, to recording and subsequently publishing your podcast on the web.The book is easy to follow and has lots of links to websites for additional reference. Overall the best book on the market for podcasting.


  5. What is podcasting?

    If you don't know by now - what's wrong, have you been living under a rock? ;)

    A little over a year ago, I had no clue. I actually thought it was using an iPod to broadcast mp3s over FM waves to a radio (which is actually done quite often, but has nothing to do with podcasting). In fact, podcasting has little to do with iPods at all. If I had had a copy of this book a year ago, I would have know that - and a whole lot more!

    "Podcast Solutions: The Complete Guide to Podcasting" is just that - a complete guide. Have no idea what podcasting is? This will tell you. Know what it is, but not how to listen to them? This book will tell you. Would you like to know how podcasting started? Look no further. Ever wondered what the relationship between podcasting and blogging is? You can find out. Want to start your own podcast? Then this is the book for you! It even comes with a CD with all the software you'll need to start podcasting right away, and it doesn't matter if you use Windows, Mac OS X, or even Linux - the CD has software for all three platforms. The book even tells you how to start making money with podcasts!

    From recording the audio to publishing the XML to getting your podcast heard - it's all in the book. You should really pick this book up if you have any interest at all in podcasting. Highly recommended!


Read more...


Page 146 of 250
10  20  30  40  50  60  70  80  90  100  110  120  130  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156  160  170  180  190  200  210  220  230  240  250  
ASP.NET 2 For Dummies (For Dummies (Computer/Tech))
MindManager for Dummies
Assembling Panoramic Photos: A Designer's Notebook (Designers Notebook)
Thinking in C++, Volume 2: Practical Programming (Thinking in C++)
PHP in Action: Objects, Design, Agility
Designing Virtual Worlds (New Riders Games)
Principles of Web Design, Third Edition (Web Warrior Series)
An Introduction to Bioinformatics Algorithms (Computational Molecular Biology)
Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism
Podcast Solutions: The Complete Guide to Podcasting (Solutions)

Copyright © 2005
*Amazon.com prices and availability subject to change.
Last updated: Thu Jul 24 16:26:44 EDT 2008