Sunday, December 6, 2009

Software Craftsmanship or Inside Cisco

Software Craftsmanship: The New Imperative

Author: Pete McBreen

better applications.

Today’s software development projects are often based on the traditional software engineering model, which was created to develop large-scale defense projects. Projects that use this antiquated industrial model tend to take longer, promise more, and deliver less.

As the demand for software has exploded, the software engineering establishment has attempted to adapt to the changing times with short training programs that teach the syntax of coding languages. But writing code is no longer the hard part of development; the hard part is figuring out what to write. This kind of know-how demands a skilled craftsman, not someone who knows only how to pass a certification course.

Software Craftsmanship presents an alternative—a craft model that focuses on the people involved in commercial software development. This book illustrates that it is imperative to turn from the technology-for-its-own-sake model to one that is grounded in delivering value to customers. The author, Pete McBreen, presents a method to nurture mastery in the programmer, develop creative collaboration in small developer teams, and enhance communications with the customer. The end result—skilled developers who can create, extend, and enhance robust applications.

This book addresses the following topics, among others:

  • Understanding customer requirements
  • Identifying when a project may go off track
  • Selecting software craftsmen for a particular project
  • Designing goals for application development
  • Managing software craftsmen
  • Software Craftsmanship is written forprogrammers who want to become exceptional at their craft and for the project manager who wants to hire them.





    Table of Contents:
    Foreword
    Preface
    Pt. 1Questioning Software Engineering1
    1Understanding Software Engineering3
    2The Problems with Software Engineering11
    3Understanding Software Development17
    4Finding a Better Metaphor Than Software Engineering25
    Pt. 2Software Craftsmanship31
    5Putting People Back into Software Development33
    6Craftsmanship Is the Opposite of Licensing37
    Pt. 3Implications of Software Craftsmanship45
    7How Craftsmanship Affects the Users of Systems47
    8Customers Have a Different Relationship with Craftsmen55
    9Managing Craftsmen69
    10Becoming a Software Craftsman79
    11Mastering the Craft85
    12Apprentice Developers93
    13Journeymen Developers105
    Pt. 4Repositioning Software Engineering109
    14Software Engineering Projects111
    15Hazards of the Software Engineering Metaphor117
    16Learning from Software Engineering131
    Pt. 5What to Do on Monday Morning139
    17Experience - The Best Indicator of Project Success141
    18Design for Testing and Maintenance155
    19Perpetual Learning171
    Epilogue179
    Acknowledgments181
    Index183

    Look this: Texturing Modeling or Case Studies in Knowledge Management

    Inside Cisco: The Real Story of Sustained M&A Growth

    Author: Ed Paulson

    An insider reveals the core strategies behind Cisco's phenomenal success

    Most savvy business observers agree that the major component in Cisco's phenomenal growth has been their unwavering commitment to expanding their product line through aggressive acquisitions. Since 1995, the "New Goliath," as Cisco is known throughout the business and finance communities, has acquired more than sixty companies. In this groundbreaking book, a Silicon Valley veteran, Ed Paulson, uses his strong connections to Cisco's management to reveal the M&A gospel according to Cisco.

    Paulson explores how Cisco has used acquisitions to stay ahead of its competitors, analyzes their strategies and proven methods for incorporating new companies seamlessly, positively, and profitably. Paulson reveals the centerpiece of Cisco's acquisition strategy-one that is company-focused, culturally compatible, and retains staff. He examines how Cisco executives determine if a target company is compatible with Cisco's corporate culture and strategic outlook and describes the extraordinary lengths to which these executives will go to gain the loyalty of acquired people. This book details the Cisco methodology and illustrates how it can be applied to companies across industries.

    Ed Paulson (Chicago, IL) is President of Technology and Communications, Inc., a business and technology consulting firm and a visiting professor at DePaul University's School for New Training. He is a Silicon Valley veteran with more than two decades of experience and the author of numerous business and technology books, most recently, The Technology M&A Guidebook (Wiley:0-471-36010-4).

    Publishers Weekly

    Once the gold-plated standard for how to succeed on the Internet, Cisco Systems has since lost some of its luster. But even though the company's stock price has dropped, Paulson (The Technology M&A Guidebook) makes a convincing case for still using Cisco as a model for how other companies can manage their M&A (merger and acquisition) growth. For one, Cisco buys companies not just when it is trying to expand or protect itself against potential competitors, but rather "as an integral part of its system," thus looking ahead for future growth. Indeed, Cisco's acquisitions have been prolific, and the author explains who the company targets for acquisitions and why. Unlike many acquirers, Cisco tries to retain most of the personnel during an acquisition, and Paulson shows how that makes good sense. According to Cisco CEO John Chambers, "If you pay $500,000 to $2 million per person... and you lose 30 to 40 percent of those people in the first two years, you've made a terrible decision." Paulson shows most of Cisco's major acquisitions and the buying price per employee, which is appropriate for a book on M&A's, of course, but he is too meandering to offer specific, helpful information. Those interested in refining their company's M&A strategies won't find too much here to help them; Paulson makes a great case why Cisco is good at what it does, but aphorisms like "[Cisco] listens closely to its customers" are less than effective. Such lines suggest that the book is targeted more at a general business audience, but how many of those readers actually need advice on how to buy companies? (Oct.) Copyright 2001 Cahners Business Information.



    Saturday, December 5, 2009

    Texturing Modeling or Case Studies in Knowledge Management

    Texturing & Modeling: A Procedural Approach

    Author:

    This latest edition is thoroughly expanded and revised to include new material on L-systems, particle systems, scene graphs, cloud modeling, and noise improvements, and all-new chapters devoted to real-time issues, cellular texturing, geometric instancing, texture atlases, and virtual universes. In addition, the code provided in each chapter and on the accompanying Web site has been updated to the latest standard. Readers will appreciate the addition of many more magnificent sample images, considering this edition's most visible improvement: printed in full-color throughout.



    Table of Contents:

    New interesting textbook: The Nature and Determinants of Disclosure Adequacy or Multinational Business Finance

    Case Studies in Knowledge Management

    Author: Jennex

    Case Studies in Knowledge Management provides case-based lessons learned from several examples of actual applications of knowledge management in a variety of organizational and global settings. A variety of KM issues are explored, including issues associated with building a KMS, organizational culture and its effect on knowledge capture, sharing, re-use, strategy, and implementation of KM initiatives and a KMS.



    Thursday, December 3, 2009

    Send or ASP ADO and XML Complete

    Send: The Essential Guide to Email for Office and Home

    Author: David Shipley

    When should you email, and when should you call, fax, or just show up?

    What is the crucial—and most often overlooked—line in an email?

    What is the best strategy when you send (in anger or error) a potentially career-ending electronic bombshell?

    Enter Send. Whether you email just a little or never stop, use a desktop or a handheld, here, at last, is an authoritative and delightful book that shows how to write the perfect email—at work, at school, or anywhere. Send also points out the numerous (but not always obvious) times when email can be the worst option and might land you in hot water (or even jail!).

    The secret is, of course, to think before you click. Send is nothing short of a survival guide for the digital age—wise, brimming with good humor, and filled with helpful lessons from the authors’ own email experiences (and mistakes). In short: absolutely e-ssential.

    The New York Times - Dave Barry

    E-mail, for all its efficiency, often fails to achieve its intended result; a vague or carelessly worded message can cause major problems — personal, legal and financial — for senders and receivers. Helping you avoid these problems is the goal of "Send," an informative, entertaining, thorough and thoughtful book. The authors are media veterans — David Shipley is deputy editorial page editor of The New York Times; Will Schwalbe is editor in chief of Hyperion Books — with extensive, and not always positive, experience sending and receiving e-mail. They summarize their essential message in two rules: "Think before you send" and "Send e-mail you would like to receive."

    Publishers Weekly

    From this essential guidebook's opening sentence—"Bad things can happen on email"—Shipley and Schwalbe make all too clear what can go wrong. E-mail's ubiquity, with casual and formal correspondence jumbled in the same inbox, makes misunderstandings common; e-mail's inexpressive, text-only format doesn't help. Given its brief history, there's no established etiquette for usage, which is why this primer is so valuable. It promises the reader hope of becoming more efficient and less annoying, reducing danger of a career-ending blunder. Brisk, practical and witty, the book aims to improve the reader's skills as sender and recipient: devising effective subject lines and exploring "the politics of the cc"; how to steer clear of legal issues; and how to recognize different types of attachments. Using real-life examples from flame wars and awkward exchanges (including their own), Shipley and Schwalbe (op-ed editor of the New York Timesand Hyperion Books' editor-in-chief) explain why people so often say "incredibly stupid things" in their outgoing messages. "Email has a tendency to encourage the lesser angels of our nature," they note. They also offer "seven big reasons to love email," along with quick guides to instant messaging and e-mail technology, all the while urging us to "think before [we] send." (Apr.)

    Copyright 2007 Reed Business Information

    School Library Journal

    Adult/High School-In a snappy and easy manner, the authors provide a brief history of email, explain why people love it, review reasons for using it, and describe times when it should be avoided-for love letters, documents to be archived, and confidential correspondence. There are discussions on writing emails (essentially six types), subject lines, the use of contractions, font type and size, color, openings, and sign-offs. For readers who have ever sent an email and instantly regretted it, wondered about legality issues or whether or not that deleted email will stay deleted, or what information is hidden in an email's header, this guide provides the answers.-Joanne Ligamari, Rio Linda School District, Sacramento, CA

    Copyright 2007 Reed Business Information

    What People Are Saying


    Send is an easy to read primer, full of practical tips for every emailer.” 
    —Bob Eckert, Charman and CEO, Mattel, Inc.

    Send can help any of us send emails that build better business relationships and get better results.”
    —Spencer Johnson, M.D., author of Who Moved My Cheese?

    “It should not have taken until 2007 for someone to write the definitive tome on email. Send is to email what The Elements of Style is to writing. Thank God it’s here at last. (BCC: David Shipley and Will Schwalbe)”
    —Guy Kawasaki, author of The Art of the Start

    “This is just the book I’ve been waiting for.”
    —Bill Bryson

    “A fascinating, entertaining, and, above all, informative look at email—and how it changed the way we communicate with one another. What Strunk and White is to style, this book is to email. It’s a terrific read. I highly recommend it.”
    —Charles Osgood

    “The Internet has finally found its Emily Post. If after you’ve read this you fail to change your emailing habits, you’re doomed. Read it or weep.”
    —Michael Lewis, author of The Blind Side and Moneyball




    New interesting book: The Taste for Ethics or Edible France

    ASP, ADO, and XML Complete

    Author: Sybex Inc

    ASP, ADO, and XML Complete is a one-of-a-kind computer book--valuable both for its extensive content and its low price. This book contains a wealth of vital information for any developer in need of a complete reference to the most essential technologies used for Web programming on the Windows platform.
    ASP, ADO, and XML Complete not only covers the fundamentals of scripting and ASP but it also highlights database development with ADO and SQL Server, client-side scripting, building your own components, using XML with ASP, implementing e-commerce with Microsoft BizTalk server, and building your own online store.
    ASP, ADO, and XML Complete introduces you to the work of some of Sybex's finest authors, so you'll know where to turn when you want to learn even more about key Web development topics.



    Table of Contents:

    Introduction.

    Part i Programming Essentials.

    Chapter 1: The Microsoft Toolset.

    Chapter 2: Visual Basic and the Web.

    Chapter 3: Web Applications and ASP.

    Chapter 4: Introduction to VBScript.

    Chapter 5: Introduction to JScript.

    Part ii: Beginning ASP.

    Chapter 6: IIS Applications.

    Chapter 7: Introduction to ASP Applications.

    Chapter 8: Building ASP Applications.

    Chapter 9: State Maintenance in ASP Applications.

    Chapter 10: Sample Application.

    Part iii: Database Development.

    Chapter 11: Database Access: Architectures and Technologies.

    Chapter 12: Basic Concepts of Relational Databases.

    Chapter 13: Introduction to Relational Databases and SQL.

    Chapter 14: Exploring Data from Visual Basic.

    Chapter 15: ADO 2.5 for Web Developers.

    Part iv: Advanced ASP and WebClasses.

    Chapter 16: Client-Side Scripting.

    Chapter 17: Building Your Own Components.

    Chapter 18: Planning Applications.

    Part v: XML.

    Chapter 19: Using XML/XSL with ASP.

    Chapter 20: XML and ASP.

    Chapter 21: XML and MS Databases.

    Chapter 22: E-Commerce with MS BizTalk.

    Part vi: Building Real-World Web Applications.

    Chapter 23: Building the User Interface.

    Chapter 24: Making a Basket Case.

    Chapter 25: On Sale.

    Chapter 26: Discussion Forums.

    Index.

    Wednesday, December 2, 2009

    Network Security or UNIX Network Programming Volume 2

    Network Security: A Hacker's Perspective

    Author: Thomson Course Technology Staff

    Virtually every organization is reliant on its computer system, and when hackers infiltrate, the consequences can be grave-halts in productivity, sensitive information stolen, assets at risk. Network Security: A Hacker's Perspective, Second Edition will help you step into the minds of computer criminals so that you can predict their moves and stop them before they strike. Written for anyone with some networking experience, this completely updated edition of the bestseller covers the most serious network-related security threats, vulnerabilities, and loopholes related to most major platforms, including Windows, UNIX, and Novell. Using a hands-on approach and numerous real-life case studies, the book identifies the tools, techniques, and methods that criminals use to break into networks for espionage and malicious purposes, with tips for prevention, as well as countermeasures you can take in the event the hackers strike first. In addition to providing information on the significant advancements in the field of security, attacks, and network reconnaissance, this latest edition provides a completely new section on input validation attacks, password cracking, buffer overflows, Trojan attacks, and much, much more. A companion Web site offers all the tools, scripts, and code discussed in the book.



    Table of Contents:
    Ch. 1Preparing the attack1
    Ch. 2Gathering information for the attack99
    Ch. 3Executing the attack223
    Ch. 4Secure protocols, encryption algorithms, and file security327
    App. AWell-known port numbers375
    App. BCountry codes379
    App. CTrojan port numbers385
    App. DProtocol numbers list393

    New interesting book: Professional Cooking Study Guide or Hand Book of Practical Cookery for Ladies and Professional Cooks

    UNIX Network Programming, Volume 2: Interprocess Communications

    Author: W Richard Stevens

    Don't miss the rest of the series!

    • Vol. 1, Networking APIs: Sockets and XTI
    • Vol. 3, Applications (forthcoming)

    The only guide to UNIX(r) interprocess communications you'll ever need!

    Well-implemented interprocess communications (IPC) are key to the performance of virtually every non-trivial UNIX program. In UNIX Network Programming, Volume 2, Second Edition, legendary UNIX expert W. Richard Stevens presents a comprehensive guide to every form of IPC, including message passing, synchronization, shared memory, and Remote Procedure Calls (RPC).

    Stevens begins with a basic introduction to IPC and the problems it is intended to solve. Step-by-step you'll learn how to maximize both System V IPC and the new Posix standards, which offer dramatic improvements in convenience and performance. You'll find extensive coverage of Pthreads, with many examples reflecting multiple threads instead of multiple processes. Along the way, you'll master every current IPC technique and technology, including:

    • Pipes and FIFOs.
    • Posix and System V Message Queues
    • Mutexes and Condition Variables
    • Read-Write Locks
    • Record Locking
    • Posix and System V Semaphores
    • Posix and System V Shared Memory
    • Solaris Doors and Sun RPC
    • Performance Measurements of IPC Techniques

    If you've read Stevens' best-selling first edition of UNIX Network Programming, this book expands its IPC coverage by a factor of five! You won't just learn about IPC "from the outside." You'll actually create implementations of Posix message queues, read-write locks, and semaphores, gaining anin-depth understanding of these capabilities you simply can't get anywhere else.

    The book contains extensive new source code-all carefully optimized and available on the Web. You'll even find a complete guide to measuring IPC performance with message passing bandwidth and latency programs, and thread and process synchronization programs.

    The better you understand IPC, the better your UNIX software will run. One book contains all you need to know: UNIX Network Programming, Volume 2, Second Edition.



    Tuesday, December 1, 2009

    Learning in Real Time or Exploiting Software

    Learning in Real Time: Synchronous Teaching and Learning Online

    Author: Jonathan E Finkelstein

    Learning in Real Time is a concise and practical resource for education professionals teaching live and online or those wanting to humanize and improve interaction in their online courses by adding a synchronous learning component. The book offers keen insight into the world of synchronous learning tools, guides instructors in evaluating how and when to use them, and illustrates how educators can develop their own strategies and styles in implementing such tools to improve online learning.



    Books about: Barbarians at the Gate or The PMP Exam

    Exploiting Software: How to Break Code

    Author: Greg Hoglund

    Exploiting Software is filled with the tools, concepts, and knowledge necessary to break software.



    Table of Contents:
    Attack Patterns
    Foreword
    Preface
    Acknowledgments
    1Software - The Root of the Problem1
    2Attack Patterns37
    3Reverse Engineering and Program Understanding71
    4Exploiting Server Software147
    5Exploiting Client Software201
    6Crafting (Malicious) Input233
    7Buffer Overflow277
    8Rootkits367
    References449
    Index453

    Monday, November 30, 2009

    Visual QuickStart Guide or Engineering with Excel

    Visual QuickStart Guide: SQL

    Author: Chris Fehily

    As dynamic, database-driven Web sites become the standard, more and more nonprogrammers just like yourself are being forced to work with database information and create and edit database objects. With SQL and this task-based guide to it, you can do it too--no programming experience required!

    After going over the relational database model and SQL syntax in the first few chapters, veteran author Chris Fehily launches into the tasks that will get you comfortable with SQL fast. In addition to explaining SQL basics, this updated reference covers the ANSI SQL:2003 standard and contains a wealth of brand-new information, including a new chapter on set operations and common tasks, well-placed optimization tips to make your queries run fast, sidebars on advanced topics, and added IBM DB2 coverage.

    Best of all, the book's examples were tested on the latest versions of Microsoft Access, Microsoft SQL Server, Oracle, IBM DB2, MySQL, and PostgreSQL. On the companion Web site, you can download the SQL scripts and sample database for all these systems and put your knowledge to work immediately on a real database..



    Interesting book: Perfect Phrases for Performance Reviews or The 17 Indisputable Laws Of Teamwork

    Engineering with Excel

    Author: Ronald W Larsen

    Based on Excel 2007 , Engineering with Excel, 3e  takes a comprehensive look at using Excel in engineering.  This book focuses on applications and is intended to serve as both a textbook and a reference for students.

    Booknews

    This textbook for a first-year engineering course explains how to apply the Excel spreadsheet program to perform common engineering calculations. Topics include graphing, matrix operations, linear regression, macros, Visual Basic for applications, financial calculations, statistics functions, and numerical integration techniques for differential equations. Annotation c. Book News, Inc., Portland, OR (booknews.com)



    Table of Contents:
    1Introduction to Excel1
    2Graphing with Excel46
    3Excel Functions84
    4Matrix Operations in Excel126
    5Linear Regression in Excel153
    6Iterative Solutions Using Excel187
    7Using Macros in Excel225
    8Programming in Excel with VBA268
    9Sharing Excel Information with Other Programs296
    10Time Value of Money with Excel335
    11Financial Calculations with Excel363
    12Excel's Statistics Functions387
    13Numerical Differentiation Using Excel409
    14Numerical Integration Using Excel433
    15Numerical Integration Techniques for Differential Equations Using Excel459
    Index490

    Sunday, November 29, 2009

    Beginning Lua Programming or Creating Cool Web Sites with HTML XHTML and CSS

    Beginning Lua Programming

    Author: Aaron Brown

    Lua offers a wide range of features that you can use to support and enhance your applications. With this book as your guide, you’ll gain a thorough understanding of all aspects of programming with this powerful language. The authors present the fundamentals of programming, explain standard Lua functions, and explain how to take advantage of free Lua community resources. Complete code samples are integrated throughout the chapters to clearly demonstrate how to apply the information so that you can quickly write your own programs.



    See also: Raving Fans or Shift

    Creating Cool Web Sites with HTML, XHTML, and CSS

    Author: Dave Taylor



    • Walks readers through the process of creating a basic Web site from scratch using HMTL, the basis for billions of Web pages, and then jazzing it up with advanced techniques from the author's award-winning sites

    • This updated edition features new material that shows readers how to attract visitors to a site and keep them there, including new JavaScript examples and coverage of cascading style sheets and XHTML, technologies that make building successful Web sites even easier

    • Also features exciting new tips and tricks for beginning and advanced users, as well as more expanded examples and samples for users to incorporate in their own sites

    • The book moves from basic design and deployment to advanced page layout strategies, showing how to spice up new or existing sites with sound, video, and animation




    Table of Contents:
    Preface
    Acknowledgments
    Pt. IBuilding a wicked cool web page1
    Ch. 1So what's all this web jazz?3
    Ch. 2Building your first web page : HTML basic21
    Ch. 3Presenting text attractively43
    Ch. 4Moving into the 21st century with cascading style sheets57
    Ch. 5Lists and special characters81
    Ch. 6Putting the web in world wide web : adding pointers and links103
    Ch. 7From dull to cool by adding graphics121
    Pt. IIRockin' page design strategies157
    Ch. 8Tables and frames159
    Ch. 9Forms, user input, and the common gateway interface195
    Ch. 10Advanced form design219
    Ch. 11Activating your pages with JavaScript235
    Ch. 12Advanced cascading style sheets261
    Ch. 13Site development with weblogs293
    Pt. IIIExpanding your page into a web site307
    Ch. 14Web sites versus web pages309
    Ch. 15Thinking about your visitors and your site's usability323
    Ch. 16Validating your pages and style sheets335
    Ch. 17Building traffic and being found351
    App. A: Step-by-step web site planning guide373
    App. B: Finding a home for your web site379
    Index385

    Friday, November 27, 2009

    Visual Basic 6 for Windows for Dummies or Ruby on Rails For Dummies

    Visual Basic 6 for Windows for Dummies

    Author: Wallace Wang

    Create your own custom Visual Basic programs fast for Windows 95, Windows 98, and Windows NT with the power and friendly object-oriented interface of Microsoft's Visual Basic 6 with Visual Basic 6 For Dummies.

    Here's a great resource to help you

    • Understand the art of object-oriented programming in Visual Basic
    • Build attractive user interfaces with buttons, boxes, and scroll bars
    • Master menus and submenus -- plus expanding, pull-down, and pop-up menus -- quickly and easily
    • Discover how to write subprograms that everyone can share
    • Save and retrieve information in databases like Microsoft Access
    • Integrate your own special ActiveX controls into applications
    From the fundamentals of writing BASIC code to the thrill of distributing your very own custom applications, programming expert Wallace Wang brings a fresh and humorous perspective to the world of Visual Basic in terms everyone can understand. Plus, the bonus CD-ROM that comes with Visual Basic 6 For Dummies includes all the source code and examples from the book, along with demo or trial versions of some cool VB and ActiveX programs.



    Table of Contents:
    Introduction1
    Pt. ICreating a Visual Basic 6 Program7
    Ch. 1How Visual Basic Works9
    Ch. 2Using the Visual Basic User Interface15
    Ch. 3Designing Your First User Interface23
    Ch. 4Writing BASIC Code41
    Pt. IICreating User Interfaces53
    Ch. 5User Interface Design 10155
    Ch. 6Forms and Buttons81
    Ch. 7Boxes and Buttons for Making Choices103
    Ch. 8Text Boxes for Typing and Showing Words123
    Ch. 9Scroll Bars and Labels135
    Ch. 10Pretty Pictures and Objects from Geometry145
    Pt. IIIMaking Menus161
    Ch. 11Creating and Editing Pull-Down Menus163
    Ch. 12Submenus, Growing Menus, and Pop-Up Menus181
    Ch. 13Dialog Boxes191
    Pt. IVThe Basics of Writing Code207
    Ch. 14Event Procedures209
    Ch. 15Using Variables223
    Ch. 16Responding to the User247
    Ch. 17Math 101: Arithmetic, Logical, and Comparison Operators259
    Ch. 18Strings and Things275
    Ch. 19Defining Constants and Using Comments287
    Ch. 20Killing Bugs299
    Pt. VMaking Decisions (Something You Stop Doing When You Get Married)309
    Ch. 21The If-Then and If-Then-Else Statements311
    Ch. 22The Select Case Statement321
    Pt. VIGetting Loopy327
    Ch. 23The Do While and Do-Loop While Loops329
    Ch. 24The Do Until and Do-Loop Until Loops335
    Ch. 25For Next Loops That Can Count341
    Ch. 26Nested Loops and Quick Exits349
    Pt. VIIWriting Subprograms (So You Don't Go Crazy All at Once)353
    Ch. 27General Procedures (Subprograms Tha Everyone Can Share)355
    Ch. 28Passing Arguments363
    Ch. 29Functions, a Unique Type of Subprogram373
    Ch. 30Getting Some Class with Object-Oriented Programming385
    Ch. 31Managing Files403
    Pt. VIIIDatabase Files and Printing409
    Ch. 32Creating Database Files411
    Ch. 33Using Files from Database Programs You d Rather Not Use417
    Ch. 34Making Your Program Print Stuff433
    Pt. IXThe Part of Tens441
    Ch. 35The Ten Visual Basic Topics That Didn't Fit Anywhere Else443
    App. A: About the CD451
    Index459
    IDG Books Worldwide End-User License Agreement476
    Installation Instructions478
    Book Registration Information

    Books about: Global and the Local or Erp Tools Techniques and Applications for Integrating the Supply Chain

    Ruby on Rails For Dummies

    Author: Barry Burd

    Quickly create Web sites with this poweful tool

    Use this free and easy programming language for e-commerce sites and blogs

    If you need to build Web and database applications quickly but you don't dream in computer code, take heart! Ruby on Rails was created for you, and this book will have you up and running in no time. The Ruby scripting language and the Rails framework let you create full-featured Web applications fast. It's even fun!

    Discover how to



    • Install and run Ruby and Rails

    • Use the RadRails IDE

    • Create a blog with Ruby

    • Connect your Web site to a database

    • Build a shopping cart

    • Explore Ruby's syntax




    Thursday, November 26, 2009

    The Hidden Pattern or Black White Photography Techniques with Adobe Photoshop

    The Hidden Pattern: A Patternist Philosophy of Mind

    Author: Ben Goertzel

    The Hidden Pattern presents a novel philosophy of mind, intended to form a coherent conceptual framework within which it is possible to understand the diverse aspects of mind and intelligence in a unified way. The central concept of the philosophy presented is the concept of "pattern": minds and the world they live in and co-create are viewed as patterned systems of patterns, evolving over time, and various aspects of subjective experience and individual and social intelligence are analyzed in detail in this light.

    Many of the ideas presented are motivated by recent research in artificial intelligence and cognitive science, and the author's own AI research is discussed in moderate detail in one chapter. However, the scope of the book is broader than this, incorporating insights from sources as diverse as Vedantic philosophy, psychedelic psychotherapy, Nietzschean and Peircean metaphysics and quantum theory. One of the unique aspects of the patternist approach is the way it seamlessly fuses the mechanistic, engineering-oriented approach to intelligence and the introspective, experiential approach to intelligence..



    Go to: Umbertos Kitchen or Pearls of Kitchen Wisdom

    Black & White Photography Techniques with Adobe Photoshop

    Author: Maurice Hamilton

    Fine art quality, black-and-white prints are within every photographer's reach with the techniques illustrated in this digital image editing guide. Taking advantage of the control and reproducibility that the digital darkroom offers, this handbook teaches photographers how to fine-tune images with contrast and exposure levels, crop and rotate images for dynamic results, and remove flaws such as dust and scratches long after the photograph has been taken. Instruction on techniques that simulate traditional hand coloring and tinting and add special effects such as frames, infrared, and lighting and lens effects helps photographers realize their artistic vision. Screen shots and images guide readers through the presented techniques, allowing photographers to gauge their own results and anticipate the effects of the outlined corrections and enhancements on their own images. A gallery of the author's work provides inspiration for simulating—and improving upon—the chemical-based darkroom experience.

    Art Book News Annual

    "Describes and illustrates classic concepts and Adobe Photoshop editing techniques for digital photographers seeking to create fine art prints.



    Wednesday, November 25, 2009

    Successful Affiliate Marketing for Merchants or Office XP for Dummies

    Successful Affiliate Marketing for Merchants

    Author: Shawn Collins

    If you¿re an online business, instead of paying for an ad, like a banner, you pay for the result <196> the sale. This is called affiliate marketing. Pay for Performance will show anyone conducting business online, how to plan, implement, and manage a successful affiliate marketing program. The reader will find valuable Web resources such as tracking software and contract templates with the guidance of this book. There will also be direction for the reader to focus the content and develop the right affiliate model for the type of business. It will also provide case studies of successful programs as well as failures and scams to demonstrate and teach the lessons of building a successful program.



    Interesting textbook: Corporations and Other Business Associations or Human Value Management

    Office XP for Dummies: Quick Reference

    Author: Doug Low

    You certainly get your money’s worth with Office XP. In one convenient bundle, you get a world-class word processor (Word 2002), a spreadsheet program (Excel 2002), a presentation program (PowerPoint 2002), an e-mail program (Outlook 2002), and a database program (Access 2002). Plus, you get a grab-bag of other useful programs. What a bargain!

    With its plethora of features and commands, you may not know where or how to start using Office XP effectively. With Office XP For Dummies Quick Reference in hand, you'll find yourself zipping around in Office XP in no time. This handy guide is right for you if

    • You've just upgraded to Office XP
    • You currently use one of these versions of Microsoft Office XP: Standard Edition, Small Business Edition, Professional Edition
    • You already use Office XP and want to know more about its advanced features
    • You want quick, accessible answers to questions about Office XP

    Office XP has tried to make your experience among the various Office programs as consistent as possible – from using dialog boxes and toolbars to starting or navigating a program. But you'll still need help getting around in any Office program. Here's a sampling of the quick, "get-in, get-out" information that you'll find in Office XP For Dummies Quick Reference:

    • Getting a handle on the basics: Spell checking, searching, using the Task Pane
    • Word 2002: Creating envelopes and labels, tables and columns, keyboard shortcuts
    • Excel 2002: Using Autoformat and Autosum, charts, formatting cells, Pivot Table
    • Powerpoint 2002: Working with Animation and colorschemes, Photo Album, Slide Show, templates
    • Access 2002: Entering data, working in fields, using queries and reports
    • Outlook 2002: Managing a calendar, adding and deleting contacts, using e-mail, creating tasks
    • The Drawing Toolbar: Using clip art, Autoshapes, diagrams, text boxes

    Author Doug Lowe has written more than 50 computer books, including PowerPoint 2002 For Windows For Dummies, Networking For Dummies (5th Edition), and Internet Explorer 5.5 For Dummies, and he knows how to present boring technostuff in a style that is both entertaining and enlightening.



    Table of Contents:
    The Big Picture: Office XP
    Pt. IDoing Common Chores1
    Pt. IIWord 200215
    Pt. IIIExcel 200259
    Pt. IVPowerPoint 200293
    Pt. VAccess 2002123
    Pt. VIOutlook 2002145
    Pt. VIIWorking with the Drawing Toolbar163
    Pt. VIIICompleting Complex Tasks185
    Index199

    Sunday, February 22, 2009

    The Musicians Internet or SharePoint Office Pocket Guide

    The Musician's Internet: Online Strategies for Success in the Music Industry

    Author: Peter Spellman

    This hands-on guide is essential for any musician who wants to build a fan base and increase profits through the Internet. Peter Spellman, Director of the Career Development Center at Berklee College of Music, guides the self-managed musician through successful strategies to promote music on-line, reach rew audiences, and maximize income!



    Table of Contents:
    Acknowledgementsv
    Introductionix
    Chapter 1.Net Basics1
    Chapter 2.Getting Started as a Net-Global Artist15
    Chapter 3.Getting Listed in the Free Search Engines and Directories35
    Chapter 4.Communicating via E-Mail with Fans, Teammates, and Customers45
    Chapter 5.Sharing, Selling, and Licensing Your Music On-Line57
    Chapter 6.Webcasting Your Shows via Virtual Nightclubs and Other On-Line Venues73
    Chapter 7.Broadcasting Over Internet Radio79
    Chapter 8.Signing a Deal with Off-Line and On-Line Record Labels85
    Chapter 9.Using the Net as a Library of Music Career Guidance93
    Chapter 10.Tips for Expanding Your On-Line Presence103
    Chapter 11.Looking Backward, Seeing Forward: Gazing Into the Crystal Web109
    Appendix A.Glossary: Net Jargon121
    Appendix B.Resources: Further Food to Feed Your Internet Intelligence131

    New interesting textbook: Ética en el Lugar de trabajo:Instrumentos y Táctica para Transformación Organizativa

    SharePoint Office Pocket Guide

    Author: Jeff Webb

    "SharePoint Office Pocket Guide" is the quick path to sharing documents and building lists. Written specifically for users of Microsoft Word, Excel, and Outlook, it covers the ins and outs of SharePoint clearly and concisely. Within minutes, you'll understand how to:

    Create team sites, document libraries, and shared workspaces.

    Add web parts to create custom pages.

    Build searchable libraries of PDF files.

    Link local copies of Word and Excel files to SharePoint workspace copies.

    Reconcile changes from multiple authors.

    Review document history.

    Use the Explorer Views to drag-and-drop files into SharePoint quickly.

    Create data lists that look up values from other lists (look-up tables).

    Group, total, and filter list items using views.

    Use InfoPath form libraries to collect data.

    You get the how and why of the top tasks without the tedious menu-by-menu walkthroughs that take hundreds of pages but add little value. "SharePoint Office Pocket Guide" also includes a guide to online resources that expand your knowledge of specific topics.



    Saturday, February 21, 2009

    AutoCAD 2008 in 3D or Streaming Media Bible

    AutoCAD 2008 in 3D: A Modern Perspective

    Author: Frank Puerta

    Embracing the full capabilities of this powerful program, AutoCAD in 3D: A Modern Approach offers a complete guide to the creation and modification of 3D models. Using simple language and descriptive illustrations, it provides a foundation in the three basic modeling techniques and includes chapters on generating drawings, outputs and rendering. Each chapter is filled with aids to increase understanding—from command grids to job skills sections, to icons that show AutoCAD’s 2008 enhancements. Comprehensive projects, tutorials and exercises are geared to specific disciplines and help users develop an understanding of this software’s potential in their own professional life.  KEY TOPICS: Provides readers with features, uses and applications of AutoCAD not always discussed in competing books.  Shows how 3D models are used to support new trends in stereolithography prototyping and 3D printing.   



    Table of Contents:

    1.      Introduction to 3D in the AutoCAD Program

    2.      Quick-Start Tutorials

    3.      Wireframe Modeling

    4.      Creating and Modifying Faceted Surfaces

    5.      Creating 3D Solids and Surfaces

    6.      Editing 3D Solids and Surfaces

    7.      Advanced Tutorials

    8.      Generating Drawings and DWF Files

    9.      Rendering and Other Presentations

     

    New interesting book: Winning the War against Asthma and Allergies or 100 Questions and Answers about Colorectal Cancer

    Streaming Media Bible

    Author: Steve Mack

    The Streaming Media Bible is the authoritative and comprehensive guide for producing professional-quality streaming media over the Internet. It provides an overview of what streaming media is, how it can be used and the tools and software programs available to consumers and businesses alike. It covers all aspects of streaming media, from the capturing, creation and optimization of source media files, to encoding and serving files over sites using the primary available technologies. Throughout the book, the streaming process is dissected and separated into its component pieces: original media creation, encoding, and serving. All three major streaming media systems (RealNetworks' RealSystem, Apple QuickTime and Microsoft Windows Media) are covered.
    ABOUT THE CD-ROM
    Includes a cross-platform CD-ROM with software and examples: RealPlayer, RealProducer, RealServerBasic
    Windows Media Technologies, Windows Media Player 8, Windows Media On Demand Encoder, Apple QuickTime Player, QuickTime Encoder, SoundForge XP or CoolEdit, sample audio clips, sample video clips, video tutorials, and sample code libraries.



    Friday, February 20, 2009

    MIcrosoft Word 2004 for Mac OSX or POJOs in Action

    MIcrosoft Word 2004 for Mac OSX: Visual QuickStart Guide

    Author: Maria Langer

    Sure, you were happy when the first Mac OS X-compatible version of Word arrived (after all, it's the one software program you can't live without). But this is the version you've really been waiting for. In contrast to Word for Mac OS X-which gelled nicely with the new OS but didn't offer much compelling additional functionality-Word 2004 offers a slew of usability improvements. To start taking advantage of them immediately, you need this task-based guide from popular Mac teacher Maria Langer! Using simple step-by-step instructions, loads of visual aids, and plenty of well-placed tips, Maria gets you up and running fast on the basics before moving on to cover more advanced techniques (formatting, inserting objects, creating outlines, and more). If you're a veteran user, you can go directly to the new material (for example, learning how to record audio notes and link them to your Word docs). And if you're a beginner, you'll appreciate the thorough coverage of all the most common Word tasks.



    Books about: Rogue State or The Atomic Bazaar

    POJOs in Action

    Author: Chris Richardson

    The standard platform for enterprise application development has been EJB but the difficulties of working with it caused it to become unpopular. They also gave rise to lightweight technologies such as Hibernate, Spring, JDO, iBATIS and others, all of which allow the developer to work directly with the simpler POJOs. Now EJB version 3 solves the problems that gave EJB 2 a black eye-it too works with POJOs. "POJOs in Action describes the new, easier ways to develop enterprise Java applications. It describes how to make key design decisions when developing business logic using POJOs, including how to organize and encapsulate the business logic, access the database, manage transactions, and handle database concurrency. This book is a new-generation Java applications guide: it enables readers to successfully build lightweight applications that are easier to develop, test, and maintain.



    Table of Contents:
    1Developing with POJOs : faster and easier3
    2J2EE design decisions31
    3Using the domain model pattern61
    4Overview of persisting a domain model95
    5Persisting a domain model with JDO 2.0149
    6Persisting a domain model with Hibernate 3195
    7Encapsulating the business logic with a POJO facade243
    8Using an exposed domain model289
    9Using the transaction script pattern317
    10Implementing POJOs with EJB 3360
    11Implementing dynamic paged queries407
    12Database transactions and concurrency451
    13Using offline locking patterns488

    Thursday, February 19, 2009

    Adobe Acrobat 8 PDF Bible or Ruby Way

    Adobe Acrobat 8 PDF Bible

    Author: Ted Padova

    "The Adobe Acrobat 8 PDF Bible is the comprehensive guide to Acrobat for novices and power users alike. With a concise, easy-to-read format, you will be creating interactive XML forms, enabling streamlined document review processes, and publishing high-impact electronic documents in no time."
    —Rick Brown, director of product management, Adobe Acrobat

    The book you need to succeed with Adobe Acrobat!

    Why do readers turn to the Adobe Acrobat Bible again and again? Because whether you're already experienced with Adobe Acrobat or you're learning to use this powerful tool for the first time, you'll find exactly what you need to know in these well-organized pages. Packed with helpful tips and step-by-step instructions, this latest edition will guide you through both basic and advanced features, enabling you to take full advantage of everything Acrobat 8 has to offer.



    • Create, collect, and distribute forms with LiveCycle® Designer

    • Work seamlessly with Microsoft® Office applications

    • Convert AutoCAD® and Visio® files to PDF

    • Discover new ways to edit PDFs and remove sensitive data

    • Explore enhanced Shared Reviews tools with easy-to-use Wizard

    • Collect form data by exporting it directly to Microsoft Excel®

    • Combine files and create PDF Packages using new Acrobat 8 tools



    What's on the CD-ROM?

    You'll find valuable, author-developed sample files including PDF documents, Adobe Designer forms, and Acrobat PDF forms with JavaScripts—all arranged in folders according to chapters inthe book, so you use them along with the book's tutorials. The CD also includes:



    • Adobe Reader software

    • Entire book in searchable PDF with embedded index

    • Windows demonstration plug-ins




    Book about: Contabilit�

    Ruby Way: Solutions and Techniques in Ruby Programming

    Author: Hal Fulton

    Ruby is an agile object-oriented language, borrowing some of the best features from LISP, Smalltalk, Perl, CLU, and other languages. Its popularity has grown tremendously in the five years since the first edition of this book.

     

    The Ruby Way takes a “how-to” approach to Ruby programming with the bulk of the material consisting of more than 400 examples arranged by topic. Each example answers the question “How do I do this in Ruby?” Working along with the author, you are presented with the task description and a discussion of the technical constraints. This is followed by a step-by-step presentation of one good solution. Along the way, the author provides detailed commentary and explanations to aid your understanding.

     

    Coverage includes

     

    •    An overview of Ruby, explaining terminology and basic principles

    •    Operations on low-level data types (numbers, strings, regular expressions, dates)

    •    The new regular expression engine (Oniguruma)

    •    Internationalization (I18N) and message catalogs in Ruby

    •    Operations on hashes, arrays, and other data structures such as stacks, trees, and graphs

    •    Working with general I/O, files, and persistentobjects

    •    Database coverage including MySQL, SQLite, Oracle, DBI, and more

    •    Ruby-specific techniques in OOP and dynamic programming

    •    Graphical interfaces in Ruby (Tk, GTK+, Fox, and Qt)

    •    Working with Ruby threads for lightweight multitasking

    •    Everyday scripting and system administration in Ruby

    •    Working with image files, PDFs, YAML, XML, RSS, and Atom

    •    Testing, debugging, profiling, and packaging Ruby code

    •    Low-level network programming and client-server interaction

    •    Web development tools including Rails, Nitro, Wee, IOWA, and more

    •    Working with distributed Ruby, Rinda, and Ring

    •    Ruby development tools such as IDEs, documentation tools, and more

     

    The source code for the book can be downloaded from

     

     

    Hal Fulton has worked for over 15 years with variousforms of Unix, including AIX, Solaris, and Linux. He was first exposed to Ruby in 1999, and in 2001 he began work on the first edition of this book–the second Ruby book published in the English language. He has attendednumerous Ruby conferences and has given presentations at several of those, including the first European Ruby Conference. 

     

    He has two degrees in computer science from the University of Mississippi and taught computer science for four years before moving to Austin, Texas to work as a contractor for variouscompanies, including IBM Austin.  Hal currently works at Broadwing Communications in Austin, Texas, maintaining a large data warehouse and related telecom applications, working daily with C++, Oracle, and, of course, Ruby.

     

     



    Table of Contents:

                                 Foreword

                                 Acknowledgments

                                 About the Author

    1   Ruby in Review

        1.1                    An Introduction to Object Orientation

            1.1.1             What Is an Object?

            1.1.2             Inheritance

            1.1.3             Polymorphism

            1.1.4             A Few More Terms

        1.2                    Basic Ruby Syntax and Semantics

            1.2.1             Keywords and Identifiers

            1.2.2             Comments and Embedded Documentation

            1.2.3             Constants, Variables, and Types

            1.2.4             Operators and Precedence

            1.2.5             A Sample Program

            1.2.6             Looping and Branching

            1.2.7             Exceptions

        1.3                    OOP in Ruby

            1.3.1             Objects

            1.3.2             Built-in Classes

            1.3.3             Modules and Mixins

            1.3.4             Creating Classes

            1.3.5             Methods and Attributes

        1.4                    Dynamic Aspects of Ruby

            1.4.1             Coding at Runtime

            1.4.2             Reflection

            1.4.3             Missing Methods

            1.4.4             Garbage Collection (GC)

        1.5                    Training Your Intuition: Things to Remember

            1.5.1             Syntax Issues

            1.5.2             Perspectives in Programming

            1.5.3             Ruby’s case Statement

            1.5.4             Rubyisms and Idioms

            1.5.5             Expression Orientation and Other Miscellaneous Issues

        1.6                    Ruby Jargon and Slang

        1.7                    Conclusion

    2   Working with Strings

        2.1                    Representing Ordinary Strings

        2.2                    Representing Strings with Alternate Notations

        2.3                    Using Here-Documents

        2.4                    Finding the Length of a String

        2.5                    Processing a Line at a Time

        2.6                    Processing a Byte at a Time

        2.7                    Performing Specialized String Comparisons

        2.8                    Tokenizing a String

        2.9                    Formatting a String

        2.10                  Using Strings As IO Objects

        2.11                   Controlling Uppercase and Lowercase

        2.12                  Accessing and Assigning Substrings

        2.13                  Substituting in Strings

        2.14                  Searching a String

        2.15                  Converting Between Characters and ASCII Codes

        2.16                  Implicit and Explicit Conversion

        2.17                  Appending an Item Onto a String

        2.18                  Removing Trailing Newlines and Other Characters

        2.19                  Trimming Whitespace from a String

        2.20                   Repeating Strings

        2.21                  Embedding Expressions Within Strings

        2.22                  Delayed Interpolation of Strings

        2.23                  Parsing Comma-Separated Data

        2.24                  Converting Strings to Numbers (Decimal and Otherwise)

        2.25                  Encoding and Decoding rot13 Text

        2.26                  Encrypting Strings

        2.27                  Compressing Strings

        2.28                  Counting Characters in Strings

        2.29                  Reversing a String

        2.30                  Removing Duplicate Characters

        2.31                  Removing Specific Characters

        2.32                  Printing Special Characters

        2.33                  Generating Successive Strings

        2.34                  Calculating a 32-Bit CRC

        2.35                  Calculating the MD5 Hash of a String

        2.36                  Calculating the Levenshtein Distance Between Two Strings

        2.37                  Encoding and Decoding base64 Strings

        2.38                  Encoding and Decoding Strings (uuencode/uudecode)

        2.39                  Expanding and Compressing Tab Characters

        2.40                  Wrapping Lines of Text

        2.41                  Conclusion

    3   Working with Regular Expressions

        3.1                    Regular Expression Syntax

        3.2                    Compiling Regular Expressions

        3.3                    Escaping Special Characters

        3.4                    Using Anchors

        3.5                    Using Quantifiers

        3.6                     Positive and Negative Lookahead

        3.7                    Accessing Backreferences

        3.8                    Using Character Classes

        3.9                    Extended Regular Expressions

        3.10                  Matching a Newline with a Dot

        3.11                  Using Embedded Options

        3.12                  Using Embedded Subexpressions

        3.13                  Ruby and Oniguruma

            3.13.1           Testing the Presence of Oniguruma

            3.13.2            Building Oniguruma

            3.13.3           A Few New Features of Oniguruma

            3.13.4           Positive and Negative Lookbehind

            3.13.5           More on Quantifiers

            3.13.6           Named Matches

            3.13.7           Recursion in Regular Expressions

        3.14                  A Few Sample Regular Expressions

            3.14.1           Matching an IP Address

            3.14.2           Matching a Keyword-Value Pair

            3.14.3           Matching Roman Numerals

            3.14.4           Matching Numeric Constants

            3.14.5           Matching a Date/Time String

            3.14.6           Detecting Doubled Words in Text

            3.14.7           Matching All-Caps Words

            3.14.8           Matching Version Numbers

            3.14.9           A Few Other Patterns

        3.15                  Conclusion

    4   Internationalization in Ruby

        4.1                    Background and Terminology

        4.2                    Coding in a Post-ASCII World

            4.2.1             The jcode Library and $KCODE

             4.2.2             Revisiting Common String and Regex Operations

            4.2.3             Detecting Character Encodings

            4.2.4             Normalizing Unicode Strings

            4.2.5             Issues in String Collation

            4.2.6             Converting Between Encodings

        4.3                    Using Message Catalogs

            4.3.1             Background and Terminology

            4.3.2             Getting Started with Message Catalogs

            4.3.3             Localizing a Simple Application

            4.3.4              Other Notes

        4.4                    Conclusion

    5   Performing Numerical Calculations

        5.1                    Representing Numbers in Ruby

        5.2                    Basic Operations on Numbers

        5.3                    Rounding Floating Point Values

        5.4                    Comparing Floating Point Numbers

        5.5                    Formatting Numbers for Output

        5.6                    Formatting Numbers with Commas

        5.7                    Working with Very Large Integers

        5.8                    Using BigDecimal

        5.9                    Working with Rational Values

        5.10                  Matrix Manipulation

        5.11                  Working with Complex Numbers

        5.12                  Using mathn

        5.13                  Finding Prime Factorization, GCD, and LCM

        5.14                  Working with Prime Numbers

        5.15                  Implicit and Explicit Numeric Conversion

        5.16                  Coercing Numeric Values

        5.17                  Performing Bit-level Operations on Numbers

        5.18                  Performing Base Conversions

        5.19                  Finding Cube Roots, Fourth Roots, and so on

        5.20                  Determining the Architecture’s Byte Order

        5.21                  Numerical Computation of a Definite Integral

        5.22                  Trigonometry in Degrees, Radians, and Grads

        5.23                  More Advanced Trigonometry

        5.24                  Finding Logarithms with Arbitrary Bases

        5.25                  'Finding the Mean, Median, and Mode of a Data Set

        5.26                  Variance and Standard Deviation

        5.27                  Finding a Correlation Coefficient

        5.28                  Generating Random Numbers

        5.29                  Caching Functions with memoize

        5.30                  Conclusion

    6   Symbols and Ranges

        6.1                    Symbols

            6.1.1             Symbols As Enumerations

            6.1.2             Symbols As Metavalues

            6.1.3             Symbols, Variables, and Methods

            6.1.4             Converting to/from Symbols

        6.2                    Ranges

            6.2.1             Open and Closed Ranges

            6.2.2             Finding Endpoints

            6.2.3             Iterating Over Ranges

            6.2.4             Testing Range Membership

            6.2.5             Converting to Arrays

            6.2.6             Backward Ranges

            6.2.7             The Flip-Flop Operator

            6.2.8             Custom Ranges

        6.3                    Conclusion

    7   Working with Times and Dates

        7.1                    Determining the Current Time

        7.2                    Working with Specific Times (Post-epoch)

        7.3                    Determining the Day of the Week

        7.4                    Determining the Date of Easter

        7.5                    Finding the Nth Weekday in a Month

        7.6                    Converting Between Seconds and Larger Units

        7.7                    Converting To and From the Epoch

         7.8                    Working with Leap Seconds: Don’t!

        7.9                    Finding the Day of the Year

        7.10                  Validating a Date/Time

        7.11                  Finding the Week of the Year

        7.12                  Detecting Leap Years

        7.13                  Obtaining the Time Zone

        7.14                  Working with Hours and Minutes Only

        7.15                  Comparing Date/Time Values

        7.16                  Adding Intervals to Date/Time Values

        7.17                  Computing the Difference in Two Date/Time Values

        7.18                  Working with Specific Dates (Pre-epoch)

        7.19                  Interconverting Between Time, Date, and DateTime

        7.20                  Retrieving a Date/Time Value from a String

        7.21                  Formatting and Printing Date/Time Values

        7.22                  Time Zone Conversions

        7.23                  Determining the Number of Days in a Month

        7.24                  Dividing a Month into Weeks

        7.25                  Conclusion

    8   Arrays, Hashes, and Other Enumerables

        8.1                    Working with Arrays

            8.1.1             Creating and Initializing an Array

            8.1.2             Accessing and Assigning Array Elements

            8.1.3             Finding an Array’s Size

            8.1.4             Comparing Arrays

            8.1.5             Sorting an Array

            8.1.6             Selecting from an Array by Criteria

            8.1.7             Using Specialized Indexing Functions

            8.1.8             Implementing a Sparse Matrix

            8.1.9             Using Arrays as Mathematical Sets

            8.1.10           Randomizing an Array

            8.1.11           Using Multidimensional Arrays

            8.1.12           Finding Elements in One Array But Not Another

            8.1.13           Transforming or Mapping Arrays

            8.1.14           Removing nil Values from an Array

            8.1.15           Removing Specific Array Elements

            8.1.16           Concatenating and Appending onto Arrays

            8.1.17           Using an Array as a Stack or Queue

            8.1.18           Iterating Over an Array

            8.1.19           Interposing Delimiters to Form a String

            8.1.20           Reversing an Array

            8.1.21           Removing Duplicate Elements from an Array

            8.1.22           Interleaving Arrays

            8.1.23           Counting Frequency of Values in an Array

            8.1.24           Inverting an Array to Form a Hash

            8.1.25           Synchronized Sorting of Multiple Arrays

            8.1.26           Establishing a Default Value for New Array Elements

        8.2                    Working with Hashes

            8.2.1              Creating a New Hash

            8.2.2             Specifying a Default Value for a Hash

            8.2.3             Accessing and Adding Key-Value Pairs

            8.2.4             Deleting Key-Value Pairs

            8.2.5             Iterating Over a Hash

            8.2.6             Inverting a Hash

            8.2.7             Detecting Keys and Values in a Hash

            8.2.8             Extracting Hashes into Arrays

            8.2.9             Selecting Key-Value Pairs by Criteria

            8.2.10           Sorting a Hash

            8.2.11           Merging Two Hashes

            8.2.12           Creating a Hash from an Array

            8.2.13           Finding Difference or Intersection of Hash Keys

            8.2.14           Using a Hash as a Sparse Matrix

            8.2.15           Implementing a Hash with Duplicate Keys

        8.3                    Enumerables in General

            8.3.1             The inject Method

            8.3.2             Using Quantifiers

            8.3.3             The partition Method

            8.3.4              Iterating by Groups

            8.3.5             Converting to Arrays or Sets

            8.3.6             Using Enumerator Objects

            8.3.7             Using Generator Objects

        8.4                    Conclusion

    9   More Advanced Data Structures

        9.1                    Working with Sets

            9.1.1             Simple Set Operations

            9.1.2             More Advanced Set Operations

        9.2                    Working with Stacks and Queues

            9.2.1             Implementing a Stricter Stack

            9.2.2             Detecting Unbalanced Punctuation in Expressions

            9.2.3             Understanding Stacks and Recursion

            9.2.4             Implementing a Stricter Queue

        9.3                    Working with Trees

            9.3.1             Implementing a Binary Tree

            9.3.2             Sorting Using a Binary Tree

            9.3.3             Using a Binary Tree as a Lookup Table

            9.3.4             Converting a Tree to a String or Array

        9.4                    Working with Graphs

            9.4.1             Implementing a Graph as an Adjacency Matrix

            9.4.2             Determining Whether a Graph Is Fully Connected

            9.4.3             Determining Whether a Graph Has an Euler Circuit

            9.4.4             Determining Whether a Graph Has an Euler Path

            9.4.5             Graph Tools in Ruby

        9.5                    Conclusion

    10 I/O and Data Storage

        10.1                  Working with Files and Directories

            10.1.1           Opening and Closing Files

            10.1.2           Updating a File

            10.1.3           Appending to a File

            10.1.4           Random Access to Files

            10.1.5           Working with Binary Files

            10.1.6           Locking Files

            10.1.7           Performing Simple I/O

            10.1.8           Performing Buffered and Unbuffered I/O

            10.1.9           Manipulating File Ownership and Permissions

            10.1.10         Retrieving and Setting Time Stamp Information

            10.1.11         Checking File Existence and Size

            10.1.12         Checking Special File Characteristics

             10.1.13         Working with Pipes

            10.1.14         Performing Special I/O Operations

            10.1.15         Using Nonblocking I/O

            10.1.16         Using readpartial

            10.1.17         Manipulating Pathnames

            10.1.18         Using the Pathname Class

            10.1.19         Command-Level File Manipulation

            10.1.20         Grabbing Characters from the Keyboard

            10.1.21         Reading an Entire File into Memory

            10.1.22         Iterating Over a File by Lines

            10.1.23         Iterating Over a File by Byte

            10.1.24         Treating a String as a File

            10.1.25         Reading Data Embedded in a Program

            10.1.26         Reading Program Source

            10.1.27         Working with Temporary Files

            10.1.28         Changing and Setting the Current Directory

            10.1.29         Changing the Current Root

            10.1.30         Iterating Over Directory Entries

            10.1.31         Getting a List of Directory Entries

            10.1.32         Creating a Chain of Directories

            10.1.33         Deleting a Directory Recursively

            10.1.34          Finding Files and Directories

        10.2                  Performing Higher-Level Data Access

            10.2.1           Simple Marshaling

            10.2.2           More Complex Marshaling

            10.2.3           Performing Limited “Deep Copying” Using Marshal

            10.2.4           Better Object Persistence with PStore

            10.2.5           Working with CSV Data

                10.2.6       Marshaling with YAML

            10.2.7           Object Prevalence with Madeleine

            10.2.8           Using the DBM Library

        10.3                   Using KirbyBase

        10.4                  Connecting to External Databases

            10.4.1           Interfacing to SQLite

            10.4.2           Interfacing to MySQL

            10.4.3           Interfacing to PostgreSQL

            10.4.4           Interfacing to LDAP

            10.4.5           Interfacing to Oracle

            10.4.6           Using the DBI Wrapper

            10.4.7           Object-Relational Mappers (ORMs)

        10.5                  Conclusion

    11 OOP and Dynamic Features in Ruby

        11.1                   Everyday OOP Tasks

            11.1.1           Using Multiple Constructors

            11.1.2           Creating Instance Attributes

            11.1.3           Using More Elaborate Constructors

            11.1.4           Creating Class-level Attributes and Methods

            11.1.5           Inheriting from a Superclass

            11.1.6           Testing Classes of Objects

            11.1.7           Testing Equality of Objects

            11.1.8           Controlling Access to Methods

            11.1.9           Copying an Object

             11.1.10         Using initialize_copy

            11.1.11         Understanding allocate

            11.1.12         Working with Modules

            11.1.13         Transforming or Converting Objects

            11.1.14         Creating Data-only Classes (Structs)

            11.1.15         Freezing Objects

        11.2                  More Advanced Techniques

            11.2.1           Sending an Explicit Message to an Object

            11.2.2           Specializing an Individual Object

            11.2.3           Nesting Classes and Modules

            11.2.4           Creating Parametric Classes

            11.2.5           Using Continuations to Implement a Generator

            11.2.6           Storing Code as Objects

            11.2.7           How Module Inclusion Works

            11.2.8           Detecting Default Parameters

            11.2.9           Delegating or Forwarding

     &