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 (Tuesday, May 13, 2008)

Written by Maria Langer and Miraz Jordan. By Peachpit Press. The regular list price is $29.99. Sells new for $14.90. There are some available for $13.95.
Read more...

Purchase Information
5 comments about WordPress 2 (Visual QuickStart Guide).
  1. I've used Blogger platform before and wanted to build entirely new WordPress Blog with my own Domain and Webhosting. I'm so glad that I've purchased this book. It showed almost everything from how to install WordPress on your server, customize it, and manage it. All the instructions are very easy to follow and features plenty of screenshots. There are many useful tips on almost every page. One Downside of this book is that WordPres 2.2 just released and some of the plugin in the book may not be compatible. Otherwise this book is Excellent.


  2. Like all the Quickstart books, this one cuts to the chase and makes it easy to get your blog running.


  3. I agree with many of the other reviews that I have seen here. I usually don't right a review and I usually give most tech books the benefit of the doubt. I gave up on this book in Chapter 6. The first 5 chapters are nothing more than going through every page of Worpress admin and reading the input field. With no real explanation of what items do. I have been looking for a worpress book for a while and this was the first one I came across I was very disappointed. With that being said I will keep looking for a good wordpress book but in the mean time I will probably be better off just getting a good MySQL + PHP book.


  4. Has useful stuff but misses important stuff, for instance: it says that someone can have a profile of subscriber [easily discerned from wordpress documentation] who can only read, but doesn't tell how to make that real. Everyone can read unless something is done to restrict site, so what did he tell us? Worthwhile book only because so little else exists.


  5. This book provides an adequate overview of Wordpress, with plenty of screenshots to illustrate steps to take. It's a book though for people already equipped with familiarity with the basics of blogging and web coding, not for beginners with no exposure to HTML or PHP. Lacks clear explanations of terms that Wordpress users should be familiar with and omits step-by-step instructions of the two most important tasks anyone who uses Wordpress to publish and maintain a blog should be prepared to complete: 1) backing up your Wordpress files and database, and 2) install the latest version of Wordpress. Help with performing those two tasks was why I purchased this book. I was so disappointed that it contained no instructions to help me with these essential tasks. This book works as a supplementary text.


Read more...


Posted in Programming (Tuesday, May 13, 2008)

Written by James Elliott and Marc Loy and David Wood and Brian Cole. By O'Reilly Media, Inc.. The regular list price is $59.99. Sells new for $6.44. There are some available for $5.91.
Read more...

Purchase Information
5 comments about Java Swing, Second Edition.
  1. Man, has Swing grown; no wonder it took 5 authors to write this book! Anyway, they do a good job describing a very complex subject. The text is definitely more of a reference than a tutorial, but if that's what you're looking for then definitely check out this book...
    *IF* you have another source for layout managers. Other reviewers have pointed this out as well. In my opinion, this topic deserves its own chapter because every time you put a component in a container you have to be aware of its layout manager. And when a dialog box gets complicated, as they are wont to do, you have layout managers dealing with each other ad infinitum - and that is precisely when you really need to understand how they work so you can make sense of what is going on when you resize something.


  2. I can't recall a tech book so thoroughly unreadable! Maybe if I was more well versed in Swing this might make a little more sense, but seriously....it's great that these folks know all the inheritance lines and can spit them out in eight words or less, but seriously...imagine this as a classroom lecture..anybody awake? anybody still here? well, this class inherits from that or this implemements that interface, and if you look closely, you'll see how this references what we said 47 pages ago (or better yet, what we're gonna say 36 pages down the road!)...all well and good...but we're trying to write real programs and solve real problems....c'mon guys, we're not experts here, else we wouldn't be buying the book!! how about a litle real world usage...I don't have to time to check out the API docs to try and figure out what these guys are yakking about...a major disappointment.


  3. This is for people who have a working knowledge of Swing and who want a comprehensive reference on their desks. I am preparing for the java Developer exam and thought this would help me get up to speed with Swing. But this is an over kill. Trying to learn Swing with this book is like trying to open a can of Coke with a bulldozer. It would have been more helpful if the Title was something like 'Swing Reference'. If you want to learn some Swing to get some work done very quickly stay away. If you are in the Guru class then go for it. 4 stars because it is indeed a well written reference (Juding from Chapter 1 and 3 and some skimming) But not 5 stars because the Title is misleading


  4. This extremely hefty book on Swing has just about everything in it. However, it is intended to be a reference on Swing, not a tutorial. The problem with the Java Swing API is that it is so large and unwieldy itself that it is difficult to write a complete and useful reference that does not reflect that fact. If you need a good tutorial on Java Swing, you might want to look at the Core Java books by Cornell and read the chapters that apply to Swing. Cornell manages to carve out the basics of writing a Swing application very clearly without getting wrapped around the axle in details you do not need if you are a beginner. Then, come back to this book when you need to write an application to get the details you need. Since everything in Swing is a JavaBean, much of each component's behavior is controlled by a set of properties that are manipulated by accessor methods. Thus, this book has a table for each class that presents the class properties, the data type for each property, the accessor methods, and the default values. In addition, the book has plenty of demonstration code that shows how to use just about all of the various Swing components. The book even has chapters dedicated to changing the look and feel of components and also repainting issues, which loom large in Swing. You can download all of the book's code from the book's website at O'Reilly and Associates. I highly recommend this book to anyone who already knows the bare basics of writing applications with Swing and needs a useful reference. There is no better one out there in publication of which I am aware.


  5. This book does a very good job of consolidating all of the information regarding Swing that can be found on the internet and putting it into one book. Just be sure to note that it is HUGE.

    It contains many interesting code examples and pictures. It takes every JObject (such as JLabel, JFrame, JTable) and compares what they would look like among different look and feels.

    I highly reccomend it for any Java desktop programmer.


Read more...


Posted in Programming (Tuesday, May 13, 2008)

Written by Kyle Dent. By O'Reilly Media, Inc.. The regular list price is $34.95. Sells new for $25.82. There are some available for $21.00.
Read more...

Purchase Information
5 comments about Postfix: The Definitive Guide.
  1. After over a month of trying to get my first email server up and running using the try a setting, see what happens method, I finally gave up and bought this book. Now I'm in business.

    Everywhere I read, people claimed the easiest to configure MTA was postfix, so that is why I began to use it. True, the documention on the website is helpful and so are the included examples, but if you don't have the concepts down, that is useless.

    Thats where this great book comes in. This book isn't just a paper copy of the online docs, unlike most other computer books. It explains what stuff is, does, and what it means. I can read the config file just fine, I just don't know what the settings do. For example, the online docs showed how to setup masquerading and examples, but never told me what that meant. From a newbie standpoint, the masquerade meant the same thing as an alias. Well, those words mean the same thing. I need the vocabulary from the book to help me understand. Conanical is a common work in computer land? Maybe in Silicon Valley but not in NJ.

    A glowing chapter is DNS and e-mail which more than pays for the entire book. Not only to I understand DNS better, I can setup a backup mail system. Another great thing is the author shows you an entire setup zone file in one chunk, instead of line by line explanations and never showing you the whole thing put together. DNS and Bind book anyone? For shame.

    Also, The Hosting Multiple Domains is a fantastic chapter.

    Anyways, if you are lost and feeling like and idiot like I was, get this book. Thanks Mr. Dent for a fantastic book that is clear and easy to understand.


  2. If you're looking for a comprehensive guide on setting up a Postfix mail server, then this isn't the book for you. For those that are already familiar with setting up MTAs, the information provided in "The Definitive Guide" is probably enough, but this book only covers a subset of the Postfix configuration parameters and does not provide the step-by-step instructions that many people may be expecting.


  3. PostFix is a replacement mail server, MTA, for Unix based systems that
    formerly used Sendmail or other variants. PostFix was written to be a
    drop in replacement for Sendmail but with it's own variations on control
    files.

    This book outlines most of the common issues in dealing with setting up
    PostFix. The author takes the reader through the design concerns outlined
    by the author of the program, Wietse Venema, who wrote the forward of the
    book.

    Sendmail has been a staple of the mail delivery world but it has a well
    deserved reputation for being hard to setup, administer and understand.
    The O'Reilly book on Sendmail is at least 3 times as large as this book.
    There is alot to learn about its' macro language and using M4 to build
    control files. Sendmail is a very hard program for a beginner to
    understand and configure properly.

    The author spends the first few chapters discussing how a mail server is
    supposed to work; how the DNS system interacts with the mail system. There
    are well laid out block diagrams to show the flow of email through a
    system. Any SysAdmin who has spent time administering a mail system can
    probably skip the first few chapters. Those who are new to running a mail
    server should find the begining chapters enlightening.

    PostFix mostly uses easy to read control files that don't require processing.
    The program can be set up to use the Unix standard mbox delivery format or
    the newer maildir format. The book explains the pros and cons of the 2
    storage formats both from the MTA perspective and the pop or imap
    interface.

    Most of the more common configuration tweaks used in securing a Sendmail
    system also apply to a PostFix installation. They are just easier to set
    up in PostFix with the examples provided.

    The book has a section devoted to setting up secure mail relay using the
    Cyrus SASL libraries. It details setting up the password database via the
    Unix standard or shadow format, SASL, LDAP PAM or MYSQL formats. The
    author discusses ways to further secure the connection by using TLS
    connections to ensure passwords are not compromised.

    PostFix has some built in anti-spam tools. The book has a chapter devoted
    to to pros and cons of the various approaches. Examples of "reasonable"
    and "paranoid" approaches for setting up PostFix are provided. A simpler
    apporoach than jumping directly into Spam Assassin or other
    spam pre-processors

    Mailing lists are another feature that PostFix can manage. The book has
    examples of various simple ways of setting up mailing lists short of
    installing a separate program like MajorDomo. This is a handy feature.

    There are Appendixes intended to walk a user through the compiling process
    which will help users not familiar with using Make. There is a listing of
    the PostFix parameter commands and what they all mean.

    PostFix the Definitive Guide is a well written, easy to read step by step
    instruction book for using the PostFix mail server. Using this book as a
    reference, an experienced SysAdmin should make the transition from
    Sendmail to PostFix without much trouble. For someone new to the world of
    MTA's, the book should answer most of the questions associated with
    getting a PostFix mail server up and running.

    This is another O'Reilly book that should be on a SysAdmin's bookshelf.


  4. I wasn't looking for esoteric information on how to administer Sendmail. I was looking for a book on Postfix and that's what the author provided. I got the book based a lot on the quality of O'Reilly books and the editor's reputation. Andy Oram is a top notch editor. I recommend this book to any Linux or UNIX person wanting to substitute Postfix for sendmail. Postfix is a drop in replacement for systems configured for sendmail but Postfix is not a monlithic program with lots of vulnerabilities. The author expalins that perfectly.


  5. I've got all three books in the field, and this is a good book. Unfortunately, although Kyle's book was co-written by the author of the software, I believe that "The Book of Postfix: State-of-the-Art Message Transport" by Ralf Hildebrandt is a better choice.


Read more...


Posted in Programming (Tuesday, May 13, 2008)

Written by Tim Berners-lee. By Collins. The regular list price is $15.00. Sells new for $0.71. There are some available for $0.71.
Read more...

Purchase Information
5 comments about Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web.
  1. Yes, the book is important because of the role that Tim played in creating the web. It has scattered pieces of trivia and background information that I enjoy digging up from these techno-biographies. But let's be honest: this book is a real snooze-fest. It is only engaging in the mildest sense of the term. One must concentrate hard to keep the mind from wandering. There is no color to it.


  2. In a recent presidential election, Democrat Al Gore was ridiculed for "claiming" that he invented the Internet. While he was a significant player in the development of the Internet, no one can really claim to have invented it and there is a great deal of dispute over whether Gore ever really made the claim. The situation is quite different for the World Wide Web (WWW). Tim Berners-Lee did invent the WWW and there is no dispute about it. It was his vision of writing hyperlinked documents that began a revolution in human information storage and processing.
    This book is less a historical recounting of the events that led to the invention of the web and more about his thoughts when creating it and where it will go. Berners-Lee is quite correct when he is adamant about the lack of control and standards being a precondition for the development of the web. While others were lobbying for the more rigid format of SGML, he kept to the simpler tag structure of Hyper Text Markup Language (HTML). The simplicity of HTML made it possible for most people to learn how to write web pages and this helped fuel the explosive growth.
    In the last part of the book, he discusses what he thinks the web should be become, describing what he calls "the semantic web." This is a web that understands the non-obvious links between different topics. In other words, the web understands the meaning of the data. For example, if you are interested in statistics on breast cancer a search will return data that is truly about breast cancer and not be blocked by a filter because it contains the word "breast." This is a difficult task, although a great deal of progress has been made. A short time ago, most searches using common keywords returned a large number of inappropriate sites because the search engine could be fooled. The situation is much better now, although it is still difficult to determine the quality of the sites returned.
    Tim Berners-Lee will probably always be considered the person that could have most profited from the Internet yet chose not to do so. For those reasons, he should be a hero to us all. For, if he had decided to patent his invention and charge even the smallest amount as a licensing fee, he would now be rich enough to buy his own country. He explains that in this book as well.



  3. I love this quote from Tim Berners-Lee, the man responsible for the World Wide Web. He's a low profile genius who never profited from his invention. I often think about him when i talk to my investment banking friends, or other people who are placing monetary gain over what really makes them happy. This is a quote from his book Weaving the Web which is a pretty good read if you're interested in how the web came about, what the original thoughts were about it, and how it's survived attempts by private industry (Microsoft, IBM, etc.) to control it.

    "People have sometimes asked me whether i am upset that i have not made a lot of money from the Web. In fact, I made some quite conscious decisions about which way to take my life. These I would not change - though i am making no comment on what i might do in the future. What does distress me, though, is how important a question it seems to be to some. This happens mostly in America, not Europe. What is maddening is the terrible notion that a person's value depends on how important and financially successful they are, and that that is measured in terms of money. That suggests disrespect for the researchers across the globe developing ideas for the next leaps in science and technology. Core in my upbring was a value system that put monetary gain well in its place, behind things like doing what i really want to do. To use net worth as a criterion by which to judge people is to set our children's sights on cash rather than on things that will actually make them happy." - Tim Berners-Lee


  4. As one of the millions of people whose lives have changed for the better as a result of Berners-Lee's invention, I was more than happy to do my part to pad the man's checking account.

    Ever since Berners-Lee wrote and released the first public versions of his CERN Web server and browser programs in the early 90s, he has watched his brainchild evolve and mushroom into a world-changing technology. What's remarkable about Berners-Lee is that in the ensuing era of crazed wealth creation, he has consistently resisted opportunities to cash in, electing instead to play a statesmanlike role as chairman of the non-profit World Wide Web Consortium (W3C), the international body that governs (or at least attempts to govern) Web standards and ensure that the Web remains a level playing field with open standards, indomitable by any one company.

    Berners-Lee begins his tale recounting his earliest experiments with hypertext information retrieval systems at CERN, the Swiss particle physics laboratory. He describes an early prototype application called Enquire which was, alas, lost forever as the result of a calamitous diskette mix-up in the early 80s (one can't help but wonder how things might have played out had the original program survived). Berners-Lee began work on what become today's World Wide Web in 1989, finally releasing his first Web server and browser programs to the public in 1993. And the rest, as they say, well, you know...

    Most of the book centers on the seminal early days of the Web in the mid-1990s, when Berners-Lee made the all-important decision to release his code to the public and eventually allow commercialization by young companies like Netscape and Spyglass. He recounts his fateful early meetings with a young Marc Andreessen, and well-told anecdotes of his early struggles to forge the World Wide Web Consortium in the Byzantium of the software industry, wrestling consensus from recalcitrant giants like IBM, Microsoft and Sun.

    Berners-Lee talks most passionately about his struggles to maintain standards ? with decidedly mixed success - in the face of growing competitive pressures among consortium members, and the onrush of new Web-centric technologies like Java and XML.

    The book closes with a few chapters outlining his vision of a future Web - less dependent on the desktop PC, expanding through increasingly persistent, universal customer access, device independence, and of course continuing evolution in Web standards. Most interesting are his closing ruminations on the unfulfilled aspects of his vision: of a highly collaborative, participatory environment, less driven by the consumerist imperative of the commercial software industry - a Web that might offer users not just the palliative sop of "interactivity," but of more enriching "intercreativity" in the form of interactive and egalitarian environments for collaboration between individuals and organizations.

    The book provides a solid accounting of Berners-Lee's life in a straightforward chronological narrative. If at times edging towards self-aggrandizement (it's an autobiography, after all), this book nonetheless affords a rare first-hand glimpse into the early formative days of the Web, as well as a few provocative ideas about what might come next.


  5. This is a great book. It explains in details how the web concept evolved. I think Tim Berners-Lee couldn't tell it better. Personally, I'd never realized how such subject emerged just in a high-energy physics lab. Tim in Weaving The Web helped me to understand that. It's clear that there was no Eureka moment. The Web came from a set of rambling thoughts. Beyond history facts Tim gives us the possibility of getting the Web from a social perspective. Further, there is a interesting and curious discussion about its future. I recommend it strongly.


Read more...


Posted in Programming (Tuesday, May 13, 2008)

Written by Abe Fettig. By O'Reilly Media, Inc.. The regular list price is $29.95. Sells new for $7.73. There are some available for $5.39.
Read more...

Purchase Information
5 comments about Twisted Network Programming Essentials.
  1. As the previous reviewers stated, there are errors and not deep explaination. The value of the books is in the examples and as an outline to a course of study.

    Without Dive into Python by Mark Pilgram I would not have a chance with the Twisted book. Dive into Python is probably the second Python book for most people.

    The asynchronous program technique of "Deferred"s explaination in the book and on the web site did help a little but left me unsure about details. Fortunately, the twisted source code is understandable. Essentially, a list of nested tuples is being managed. There are some pretty compact code, such as, for deferred chain, etc. so this route will require some confidence with Python.

    My ubuntu Linux system has great Python support (this is not generally known - my discovery was by accident). Unbuntu 5.10 comes with Python 2.4.2 already installed. All the Pthon libraries needed for this book are ready for easy installation with the Synaptic package manager.

    SPE (Stanni's Python Editor) is available on Ubuntu. It works out well for browsing the Twisted source code. The Python code is syntax colored, the classes and methods show up in the side bar for easy navigation, and there is a recusive find in files to track down references. It did do stange things once and a while -I will stick to VIM for editing my own programs.

    Fedora, Mac OS X, and Windows probably require a little more work.

    It seems to me the real Pythonistas go to the source and fussy documenation is for wimps. However, relative newbies like me can sure appreciate all the help they can get. This is a valuable book.


  2. Abe Fettig's Twisted: Network Programming Essentials provides insights on the open source network application framework written in Python. Twisted offers Python programmers a powerful flexible option, producing programs which won't lock up and which are event driven by network events. Its stability and reliability lends to a program which is versatile, very easy for programmers to manipulate, and which can be used to write a web server, enable applications via email, and more. Review the program's strengths with this bible of advice in hand.


  3. Are you a developer who wants to start building applications using twisted? If you are, then this book is for you! Author Abe Fettig, has done an outstanding job of writing a book that contains lots of examples of working code, with thorough notes and explanations of how you can use Twisted to do useful things.

    Fettig, begins by covering downloading and installing Twisted, and some additional libraries, on the operating system of your choice. Then, the author shows you how you can use Twisted to make TCP connections to servers, and how to write a server that accepts TCP connections from clients. He continues by showing you how to use Twisted to work with the Web. Next, the author shows you how you can design a Twisted web application for programmatic accessing using the REST architectural style. Then he discusses the Twisted authentication framework, which provides an extremely flexible approach to authenticating users against different backends. He also demonstrates Twisted's powerful support for mail clients and servers. Then, he discusses Usenet clients and servers using the NNTP protocol. The author continues by covering Twisted's support for SSH. Finally, the author shows you how to use the tools Twisted provides for running and managing applications, which give you the ability to run daemon processes, use setuid and chroot to limit permissions, and write log files.

    The goal of this most excellent book is to focus on practical examples of how to use Twisted to perform some of the most common tasks that face developers building network applications. More importantly, this book will help you to understand the key concepts and design patterns used in Twisted applications.


  4. This book was disappointing to me. It does not cover Twisted fundamentals very well or comprehensively, but is rather a collection of few large code-examples and verbose commentary. For an introductory (or 'essentials' as the title state) material to Twisted, you are better off with the online manuals.

    Granted, there are a few "oh - that's clever" moments in the book, but those are buried in the examples and hard to look up for future reference.

    The bulk of the book shows examples for web clients and servers (simple stuff, not useful since easier-to-use and more powerful tools/libraries exist) and low-level pop, smtp, imap and nntp servers and clients (probably not very common in today's applications).

    I haven't used Twisted extensively in a real project, but I have read the online docs and fiddled with small scripts - and the "new" things beyond them that I discovered reading this book can be counted on the fingers of one hand (namely Perspective Broker, authentication and SSH stuff).

    I would have liked this book to be a more comprehensive overview of twisted's fundamentals and the base-protocols it provides - with more examples of custom protocols - since that's probably what most people turn to Twisted for.


  5. This book is nothing more than a handful of code examples that you can just as easily get from the web. There's nothing in the way of overall architecture, insightful approaches to using Twisted in an application setting, etc. Save your money and read the web pages. Worst O'Reilly book ever.


Read more...


Posted in Programming (Tuesday, May 13, 2008)

Written by Erica Sadun. By Apress. The regular list price is $24.99. Sells new for $15.34. There are some available for $15.37.
Read more...

Purchase Information
1 comments about Taking Your iPhone to the Max (Technology in Action).
  1. So you've taken the plunge and bought an iPhone. You've read what passes for an instruction manual, and you're amazed that everything just seems to work. But you *know* there's more that you're missing. Taking Your iPhone to the Max by Erica Sadun does a very good job in walking you through all the major parts of the iPhone interface, explaining how they work, and giving you plenty of "hidden tips" along the way. I changed a few ways I do things on my iPhone after reading...

    Contents:
    Selecting, Buying, and Activating Your iPhone; Interacting with Your New iPhone; Placing Calls with iPhone; iPhone Messaging; iPhone E-mail; Browsing with Safari; Preparing Your Media in iTunes; It's Also an iPod; iPhone Photos; Google Maps and Other Apps; Hacking the iPhone; Index

    Since the "instruction manual" included with the iPhone is about eight panels of a fold-out piece of paper, you're not going to get much in the way of instruction when you buy the thing. You can download the PDF guide from Apple's site, but how often did you ever read the manual of your prior cell phone? Thought so... Sadun presents the information in a much more relaxed and understandable format. Rather than a simple "do this, this, and this", she explains why things work the way they do, as well as some things that aren't common knowledge. For instance, there are a number of service shortcuts you can use to get information about your AT&T account. *225# will give you the balance of your bill, *646# will give you the remaining number of minutes on your account, etc. I'm sure you can dig up that information somewhere, but it's all nicely formatted and presented here in a logical, cohesive manner. Personally, I hadn't known of (or remembered) about punctuation dragging, where you touch the .?123 key and then drag your finger over to the punctuation character you want. Since it's a single character action, the keyboard immediately returns to the alpha setting. I find myself doing that all the time now.

    While the book is well-suited for the non-techie phone users, there's also coverage of the jailbreak process and how that works. She references that technique in a number of places, and explains where you can find certain directories and files if you've got command-line access to your iPhone. As this came out before the official Apple API release, you won't get any coverage of it here. But when you get down to it, the people who will use the jailbreak method probably won't want to play by the restrictive rules of the official API anyway. :)

    This wasn't the first iPhone book I've read, but it was no less valuable than the first one. I find myself picking up new tips and tricks that I didn't remember or that didn't stick the first time. And given the size and style of the book, it hits a nice blend between pure tech and hand-holding newbie. Nicely done...


Read more...


Posted in Programming (Tuesday, May 13, 2008)

Written by Robert Sedgewick. By Addison-Wesley Professional. The regular list price is $64.99. Sells new for $40.00. There are some available for $24.00.
Read more...

Purchase Information
5 comments about Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching (3rd Edition).
  1. If you're looking for an exhaustive, upto-date reference/textbook for
    fundamental, searching and sorting algorithms, then this is one of
    the very best available.

    Sedgewick has split his popular book into two volumes, with Graph
    algorithms being hifted to the second volume. Moreover, many advanced
    topics like computational geometry, fft, number theoretic algorithms
    etc, which were introduced in the previous edition, seem to be missing
    now - so the breadth of coverage seems to have reduced, which is a pity.

    However, the depth has increased instead - i doubt that even Knuth
    covers more sorting algorithms ! In particular, there are several
    recent algorithms and data structures which are treated in greater
    detail here than by Knuth. Of course, Knuth analyses all the
    algorithms he presents in rigorous and exhaustive detail, which
    this book doesn't.

    Moreover, the book has many new algorithms and presents the state of the
    art in sorting and searching algorithms, giving it a distinct advantage
    over the older books.

    Sedgewick makes it very clear in the preface that the emphasis is on
    the practical importance of the algorithms, so esoteric algorithms which
    are important 'only in theory' may find no mention. Also the emphasis is
    more on the design of algorithms than on their analysis.

    The number of (exercise!!) problems has multiplied manifold in this edition
    to become more than most competing textbooks. Problems are graded by
    difficulty level to help you choose the ones relevant to your needs.

    The exposition is clear and authoritative - Prof. Sedgewick is a leading
    authority in the field of algorithms and a student of Donald Knuth.
    He has a gift for making difficult concepts seem simple, and the great
    illustrations in the book go a long way in explaining the behaviour of
    the algorithms.

    For the practising professional, this is an ideal reference, since it'll
    help you select the best algorithm for your task without bogging you
    down with heavy mathematics.

    The reasearcher, on the other hand, may benefit by gaining unique insights
    from a master of the area, while using other books for the detailed
    analysis of algorithms, including prehaps Sedgewick's own book on the
    analysis of algorithms(with Flajolet).

    A caveat - the code may not be 'ready to run'. It's better not to rely
    on this book to provide you with usable code - if that is what you want,
    perhaps the books by Drozdek/Weiss/Heileman/Rowe might be better choices.

    If you want C code rather than C++, then the C version of this book is
    a good choice, since the code provided is of 'K & R' class and therefore
    a delight to read.

    Of course, if you're looking for a language independent coverage,
    then 'Introduction to algorithms' by Cormen,Leiserson and Rivest is
    possibly the best book which combines rigor with comprehensive coverage
    of the most important algorithms. Look out for the newly released
    second edition.

    And if you want a more rigorous and equally exhaustive coverage of
    sorting and searching, go for Knuth vol.3 - still the authoritative
    reference, though it may require more hard work on the reader's part.

    Otherwise, invest in this and you won't be disappointed.



  2. This book is full of great information on C++ algorithms. There are many excellent examples, and the author presents the gammit as far as topics. They really open up your mind to possibilities. The reading at times is rough going, though (very dry). Sample code or examples to download may be found at the publisher's website instead of the one printed in the book.


  3. I purchased this book to refresh my memory on data structures with templates. It is well written in most spots and provides excellent examples. I would recommend this book to any intermediate c++ programmer who wishes to learn/relearn advanced data structures such as Linked Lists,Hash,QuickSort,etc....


  4. When you are ready to take the bold step into algorithms, this book is a great second step. I say second step because I think it helps if you read "teach yourself algorithms in 21 days" before this book.

    This book deals with a good number of algorithms and does not shy away from reasonable analysis. The book helped a lot when I was having problems with putting a good harsh function together.

    The chapter on recursion is also very good too.

    In order to write decent code you have to know about this difficult/painful subject and this book takes some of that pain away.



  5. This book puts most of my college textbooks to shame. Not that they were bad, but really this is a step above. Sedgewick is a master at distilling difficult concepts into just a few lines of code, and then talking the reader through all of the implications of any design decision. For a professional who needs to reacquaint himself with the basic principles of algorithms, and needs some simple code to get started on coding a solution, this cannot be beat. While I am not in school anymore, I feel this can also be a great supplemental text for any serious Computer Science university student, although it's possible that the focus on C++ implementations may not be ideal for curricula where Java is the mainstay.

    One of the factors that I did not see mentioned in other reviews is that Sedgewick's visual representations of the algorithms are phenomenal. In older algorithms textbooks, these have always been represented by small diagrams--if any--that show what happens when an algorithm is used to attack a small problem (say, a linked list with 10 nodes). This text shows a visual representation of those small cases, but then goes the extra mile to show visual representations of the same algorithm when scaled to a variety of massive inputs. These representations are a great tool for comparing the scalability of various algorithmic approaches against one another.


Read more...


Posted in Programming (Tuesday, May 13, 2008)

Written by Robin Williams and John Tollett and Dave Rohr. By Peachpit Press. The regular list price is $44.99. Sells new for $16.00. There are some available for $2.92.
Read more...

Purchase Information
5 comments about Robin Williams Web Design Workshop (Robin Williams Design Workshop).
  1. I borrowed this book from the library to see if it was worth purchasing. It has some great design tips and ideas but nothing that can't be found in other books in greater detail. The glossy color pages make it fun to browse through, but there isn't enough detailed information on the various design topics.

    I skimmed through the book within two or three days and don't see it as an item I will bother to purchase for my personal Web design library.


  2. Several years ago I met with the main designer at company that created the web pages for several pharmaceutical distributors in Canada. At the time, I was well versed in creating web pages using several of the professional programs including Dreamweaver, as well as writing code. The designer, however, said that they did all of their designing in Photoshop and then used a slicing technique in ImageReady before editing the site in Dreamweaver. I hate to admit it, but I had never heard of creating web pages that way, so I went home and began looking through all of my web designing books to see if I could find a description of the technique. Yes, I found it in this book.

    I don't want to give the impression that this book is all about Photoshop, it clearly isn't. But, at least for me, the Photoshop information has been extremely useful! Though I do not design the majority of my sites using Photoshop, there are some that I could not have created as easily with out it. I have not used other applications that supposedly are similar to Photoshop/ImageReady, so I can't say if they can or can not do the things that Photoshop/ImageReady can.

    Nevertheless, since the time I opened this book and took a real look, I have used this book more than any other web books on my shelf. Sometimes it is to simply look at the pictures to spark a new idea, sometimes it is to review a specific designing technique.

    Honestly I do not think Robin can write a bad book.


  3. Robin Williams does an excellent job of providing clear suggestions, good rationales, and lots of examples to make her point.


  4. Because web sites are made with computers, somehow it seems that the vast majority of authors of "how to make a web site" books focus almost entirely on the technical aspects, as somehow devoid of relation to the practical art of making sites that work.

    This book is remarkable, because it is written from the point of view of working, experienced web/graphic designers.

    As the authors make clear, making a web site is a lot more than just using a computer and making pretty pictures. They clarify what you really need to know about the entire process. It covers everything about the development cycle, from clarifying the site requirements with the client, to making thumbnail sketches, to practical, nitty-gritty details of how to make an interesting, "non-boxy" site.

    If you want to really understand the entire process of developing effective, beautiful web sites for people as a business, this is the best book I have ever seen on the subject.


  5. I love Robin Williams' books and this one was no exception when it came out. However, anyone doing web design in 2007/8 needs to have a companion book to counter the now incorrect suggestions in this book. Tables are not longer considered the only way, or really even "a" way to build web pages. Web standards have become essential if you want to comply with accessibility or just be able to make changes to your site. And if that sounds like only geeks would care, that's just not the case anymore. I would recommend finding this book used, look through it for some good ideas, and have a copy of one of Eric Meyers' books around for understanding CSS (an essential these days) and web standards in general.

    I'm hoping Robin comes up with a new edition taking out nested tables and adding in more than the 4 pages of CSS. That's not to say it needs to be a CSS book (there are more than enough of those out there), but since we have to go in that direction, we could use a little more help in applying the principles she's advancing with the standards of the day. As soon as it comes out, I'll have my order in.


Read more...


Posted in Programming (Tuesday, May 13, 2008)

Written by Karl E. Wiegers. By Microsoft Press. The regular list price is $29.99. Sells new for $10.41. There are some available for $2.99.
Read more...

Purchase Information
4 comments about Practical Project Initiation: A Handbook with Tools (Best Practices).
  1. There is one word that particularly comes to mind when I think of Karl Wiegers: solid. I've been reading Mr. Wiegers articles and books about software for at least a decade, and Practical Project Initiation is as solid as I've come to expect. I use the word "solid" specifically to describe the kind of advice that Wiegers offers, which is typically based on real world experience and research, never on conjecture, received tradition, or trends. Karl is all about doing software right and helping you do the same.

    There are several things I like about this book. First and foremost, I like that it is short and narrowly focused on the topic of starting new software projects--a neglected area to be sure. Much like Robert Galen's recent book Software Endgames focuses on getting a troubled project over the finish line, Practical Project Initiation focuses on the start of the process, with the idea of helping you keep your project from getting into trouble in the first place.

    At 200 pages, the book is short (by software book standards anyway) not only because the focus is narrow but also because Wiegers is concise; there is almost no fluff here. I think Wiegers knows that when you need a book like this, you need immediate help getting your project off on the right foot, not three months worth of study material. I was able to read it all the way through pretty quickly, and much of the material is designed so that you can come back to it later for reference purposes.

    The ironic part of what I've said about the book's narrow focus is that the first 25 pages of the book may actually be one of the best short introductions out there to the broad topic of project management.

    Another thing I really like about Practical Project Initiation is that Wiegers does not steer you in the direction of a particular process, or try to propose Yet Another Great Methodology, or try to convince you of the One Right Way to develop software. (In fact, I seem to remember an essay by Wiegers from a few years ago called "No New Models!") Weigers makes room for whatever methodology/process you are using, and if you're really not sure what methodology you are using or should be using, don't worry--just follow the foundation advice in this book, and you'll be okay. Another way of saying this is that, while the book overall does have a strategic scope, the focus of the material is very tactical. The tactics Wiegers suggests can be used on the most agile Agile project or the most formal "heavyweight" project.

    Before this review gets too long, I want to highlight the wealth of "tools" that come with this book. Many of these are tools in the literal sense, in the form of worksheets, checklists, and templates that are printed in the book and that can be downloaded for free. But the whole book is full of tools in the figurative sense also--things like the wideband delphi method for estimation, a feature triage process for figuring out what to include in the project when there's just too much scope, and techniques for identifying and managing risks.

    If you, like me, just like to geek out on software books and pick up new techniques and insights, I recommend this book for reading and loaning out. If you are more squarely in the target audience of the book--being a person who is tasked with getting a software project off the ground--this book is a must-have. Get it fast, read it fast, and put Wiegers practical advice into action right away.


  2. Approximately 200 concise pages of very good advice. Several useful tools. Another very good book from Karl.


  3. Project inception is the most difficult step for every project. If not done properly, the whole project is going to fail.

    In my opinion chapter 3 is the most useful. It concentrates not on how a project should be started, but rather on whether it should be undertaken.
    More often than not a project is doomed to fail and should not have been started in the first place. Therefore it is very important to concentrate on the right projects, which are those which are aligned with the business objectives of the enterprise.

    Chapter 11 describes a process called "wideband delphi" which is used to gain useful estimations. Wideand delphi allows a group of people to find more accurate estimates.

    After all a recommended reading for every manager and project manager.


  4. This book, while good didn't thrill me. It covers some software projects management fundamentals and best practices. It's short, simple and and easy to read, addressing a broad range of topics such as project preparation, project charting, risk management, principled negotiation, project metrics, project retrospectives. In my opinion it's too high-level and most of the topics are already well covered in other books, such as "Rapid Development" by Steve McConnell or "Competitive Engineering" by Tom Gilb (both excellent and quoted in this book). The landmark book by Karl Wiegers is still "Software Requirements".


Read more...


Posted in Programming (Tuesday, May 13, 2008)

Written by David Studebaker. By Packt Publishing. Sells new for $59.99. There are some available for $89.97.
Read more...

Purchase Information
5 comments about Programming Microsoft Dynamics NAV.
  1. This is currently the only book that covers programming Microsoft Dynamics NAV and that for most people will be a good-enough reason to buy it.

    The book is intended to help reduce the time needed for non-NAV programmers to become productive with NAV's unique programming language and development tools. From its coverage of terminology and basic concepts to advanced topics and techniques, this book is not just for the NAV-newbie; there is enough advanced content and good advice to prove useful for the seasoned NAV developer too. According to the preface, the book is also intended to help managers and those considering purchasing or enhancing the product to become familiar with the level of customisation the product can provide.

    David Studebaker has been programming NAV since 1996 and, with over 40 years IT experience, he is well-qualified to write this book. He is currently a principal of a company that provides development, consulting, training and upgrade services for NAV resellers and firms using NAV. It is rare to get the opportunity to work with someone with such experience and this book may be the closest you'll ever get to having a true veteran provide mentoring and advice.

    Overall this is a good book, but it could have been a lot better. The publisher claims this is a "Fast-paced and to-the-point... [book with] ...clear explanations and practical example code." However, I found some of the early chapters rambling, slow and tedious with more than a handful of mistakes. The chapter on fields in particular contained a number of basic errors that should have been picked up by the proof reader or reviewers. At times I felt as though I was the first person to actually read this book.

    Whilst David is clearly a very experienced NAV developer, he is not a great writer, so do not expect an easy read. Some explanations are long-winded and prone to tangential wanderings. It seems that, subconsciously at least, David is aware of his propensity to ramble when, after a 5-page-explanation of the "Date Formula" data type including a programming example, he writes: "It may seem that we overemphasized this experiment. But you got to see a lot more here than just date calculations." A good editor could have helped us all at this point.

    I really wanted to like this book and essentially I do. The content is undoubtedly good, so do not be put off by my criticisms. In value-for-money terms this book is exceptional: try to see how much consultancy or training time 60 US Dollars will buy you!

    David has done a great job in completing this book and has obviously invested a lot of time for what must be a tiny market. If you work with NAV you should buy this book.


  2. This book is aimed at people with some programming and business background, who plan to find their way into a NAV System. This is a challenging task, because NAV works somewhat differently to other ERP-Systems, and the author has done a good job in easing the way into a very complex application.

    A simple sample application for a fictitious company is developed throughout the book. All objects ( Tables, Forms, Reports, Dataports, XMLPorts, Codeunits, MenuSuites) are first explained in their basic functions and properties, and later in more detail to implement the more advanced functions for the addon. A few of the major management codeunits which offer callable functions which every developer will look for sooner or later are covered, and by studying the way these codeunits are used the NAV newcomer will soon be able to write his own functions and subsequently his own enhancements.

    Yet no one should be led to believe that after reading this book you can be let loose on any NAV System to do whatever you like. It takes a considerable amount of time to learn to estimate what impacts your coding will have in the long run, and even after several years there is always something new to learn, to fix or to optimize practically every day in an application that is making rapid strides forward. This applies even more so if you plan to work on many different databases which may have been extensively customized. But if you work your way through this book, and also take a good and hard look at the recommended internal documentations and white papers available, you will get a rough idea of what is lying ahead of you.

    Of course there are quite a number of advanced topics on which you will find only a brief introduction in this book, such as the possibilities of interactions with external programs, the use of the NAV application server or automation objects (e.g. exporting/importing data to/from Excel).

    A very useful comparison of the differences between the native server and SQL Server is also included. Locking, Deadlock and SQL Performance issues are discussed to some extent, but not to a degree that code examples of "do's and don'ts" are included.

    There are some minor issues which I have found:

    Page 246 : Although temporary tables run on the clients RAM only, all record variables in this table which are not temporary can insert, modify or delete data in the database. A seemingly harmless validate in a field trigger can lead to unexpected sideeffects. This is not mentioned.

    Page 142/152 : The form triggers and form control triggers are listed ,and the author states that it should be avoided to write code in these triggers. Although this is basically true, the newcomer will find lots of code in standard forms, and will have a hard time in understanding the form and table interactions at first. Every card form needs a code line to remove the filter on the primary key, otherwise the user cannot move to the next record when the card form is called from a list form. This is not explained. Rather than removing code unnecessarily, this should be modified, as the new page object which will be introduced with NAV "6.0" will have mostly an equivalent to the old form triggers as well, so it is advisable to only call functions in codeunits to avoid maintaining two similar functions in two objects.

    Page 237 : It is not mentioned that a customer without the application designer granule, which small-size companies usually do not purchase, cannot import objects in .txt format. It is stated that only experienced developers should use the 2 merge options when importing .fob objects. In my opinion, this should be avoided at all costs unless any fields in the standard range have to be added which can't be created with a normal developers license when the object is of the .txt type. Then you have no choice and should perform a manual merge of the code afterwards to ensure that the code lines have not been messed up.

    Page 121 : The examples for date and boolean for the AND operator are repetitions of the Not Equal operator examples.

    Page 301 : Some examples of the FORMAT function would be useful. If you look for this in the index, you will find it under D (data conversion functions), not under F.

    Page 345 : It is stated that Codeunits 80/90 post journal data into a ledger, but these Codeunits post Documents by transferring the data to journals, which are then posted by Codeunit 12 (G/L Ledger)/22 ( Item Ledger) etc.

    Page 439 : It is stated that an executable upgrade is a one-way process. Actually, there is a backdoor if it fails, you can create an empty database with the old client, and then restore a .fbk backup which was created before installing the new executeables. A full upgrade, on the other hand, really is a one-way process.


  3. This is a 460 page book (11 chapters) that covers the needs of developers that are starting to approach the NAV development to developers that are experts on NAV development but want to know more. It starts to introduce the Application Design concepts inside NAV, then it goes more in-depth into every NAV object (Tables, Forms and Reports in particular). After that, the author goes in depth into the CSIDE and the C/AL code by clearly explaining all you need in order to create NAV applications (C/AL sintax, validation functions, data conversion functions, I/O functions, filtering etc.).

    Chapters from 9 to 11 are "the plus" of this book and they're devoted to experienced developer. They cover aspects about architecturing and tuning a NAV solution, working with external applications and other design tips.

    The nice thing is that a sample application for a fictitious company is developed throughout the book, so the reader can immediately learn the concepts and put them in practice.

    So... what's my final opinion?

    I think that this book is a great resource for anyone that wants to start learning NAV development because it covers all the aspects in details and in a clear manner. It covers also some hot topics such as code optimizations that are not so common to find on books (and also on Microsoft's official MOCs).

    There's a good comparison between the native server and the SQL Server one, but I think that the optimization topics with SQL Server could be covered more in depth (index management, index statistics, MaintainSiftIndex, MaintainSQLIndex etc.). The same for the interaction with external programs and about how to extend NAV with other controls (for example .NET controls).

    About form triggers, I've appreciated that the author alerts the NAV developer on placing code on form triggers as few as possible because the future NAV versions will further constrain, or may even eliminate, the ability to insert C/AL code directly within a form (use of calling a codeunit on a form is recommended).

    If you're a NAV developer, I recommend you this book: it covers all the aspects you need for your work and something more. It lacks a bit on the SQL features topic, but this could be an argument for a dedicated book.

    (http://www.demiliani.com/blog)


  4. This book provide structural and functional base of Navision.
    From other side advanced topics are not covered.
    Book structure can be better if author follow bullet
    style instead of deep in his thoughts about programming
    debugging and technic.


  5. If you want to trade $50 for the convenience of having something handy to read, be my guess. Anything you can find in this book has already been in the Navision help file(s). The author probably has never actually done any programming work(s) with Navision, all he has done is rephrasing whatever written in those help files (by adding lots of his useless wordy information), and he has left out lots of usual information found in those help files.

    Don't buy this boook. This will be your sorry 50-dollar waste.
    Whoever recommended this book should be fired/laid off at once.


Read more...


Page 160 of 250
10  20  30  40  50  60  70  80  90  100  110  120  130  140  150  151  152  153  154  155  156  157  158  159  160  161  162  163  164  165  166  167  168  169  170  180  190  200  210  220  230  240  250  
WordPress 2 (Visual QuickStart Guide)
Java Swing, Second Edition
Postfix: The Definitive Guide
Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web
Twisted Network Programming Essentials
Taking Your iPhone to the Max (Technology in Action)
Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching (3rd Edition)
Robin Williams Web Design Workshop (Robin Williams Design Workshop)
Practical Project Initiation: A Handbook with Tools (Best Practices)
Programming Microsoft Dynamics NAV

Copyright © 2005
*Amazon.com prices and availability subject to change.
Last updated: Tue May 13 11:42:59 EDT 2008