Best of
Programming

2007

Clean Code: A Handbook of Agile Software Craftsmanship


Robert C. Martin - 2007
    But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer but only if you work at it. What kind of work will you be doing? You'll be reading code - lots of code. And you will be challenged to think about what's right about that code, and what's wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft. Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code - of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and "smells" gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code. Readers will come away from this book understanding ‣ How to tell the difference between good and bad code‣ How to write good code and how to transform bad code into good code‣ How to create good names, good functions, good objects, and good classes‣ How to format code for maximum readability ‣ How to implement complete error handling without obscuring code logic ‣ How to unit test and practice test-driven development This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.

Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)


Michael T. Nygard - 2007
    Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?If you're a developer and don't want to be on call for 3AM for the rest of your life, this book will help.In Release It!, Michael T. Nygard shows you how to design and architect your application for the harsh realities it will face. You'll learn how to design your application for maximum uptime, performance, and return on investment.Mike explains that many problems with systems today start with the design.

The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws


Dafydd Stuttard - 2007
    The authors explain each category of vulnerability using real-world examples, screen shots and code extracts. The book is extremely practical in focus, and describes in detail the steps involved in detecting and exploiting each kind of security weakness found within a variety of applications such as online banking, e-commerce and other web applications. The topics covered include bypassing login mechanisms, injecting code, exploiting logic flaws and compromising other users. Because every web application is different, attacking them entails bringing to bear various general principles, techniques and experience in an imaginative way. The most successful hackers go beyond this, and find ways to automate their bespoke attacks. This handbook describes a proven methodology that combines the virtues of human intelligence and computerized brute force, often with devastating results.The authors are professional penetration testers who have been involved in web application security for nearly a decade. They have presented training courses at the Black Hat security conferences throughout the world. Under the alias "PortSwigger," Dafydd developed the popular Burp Suite of web application hack tools.

Core Java, Volume 1: Fundamentals


Cay S. Horstmann - 2007
    Fully updated for the new Java SE 6 platform, this no-nonsense tutorial and reliable reference illuminates the most important language and library features with thoroughly tested real-world examples. The example programs have been carefully crafted to be easy to understand as well as useful in practice, so you can rely on them as an outstanding starting point for your own code. Volume I is designed to quickly bring you up to speed on what's new in Java SE 6 and to help you make the transition as efficiently as possible, whether you're upgrading from an earlier version of Java or migrating from another language. The authors concentrate on the fundamental concepts of the Java language, along with the basics of user-interface programming. You'll find detailed, insightful coverage ofJava fundamentalsObject-oriented programmingInterfaces and inner classesReflection and proxiesThe event listener modelGUI programming with SwingPackaging applicationsException handlingLogging and debuggingGeneric programmingThe collections frameworkConcurrencyFor detailed coverage of XML processing, networking, databases, internationalization, security, advanced AWT/Swing, and other advanced features, look for the forthcoming eighth edition of "Core Java(TM), Volume II--Advanced Features "(ISBN: 978-0-13-235479-0).

What Every Programmer Should Know About Memory


Ulrich Drepper - 2007
    Hardware designers have come up with ever more sophisticated memory handling and acceleration techniques–such as CPU caches–but these cannot work optimally without some help from the programmer. Unfortunately, neither the structure nor the cost of using the memory subsystem of a computer or the caches on CPUs is well understood by most programmers. This paper explains the structure of memory subsystems in use on modern commodity hardware, illustrating why CPU caches were developed, how they work, and what programs should do to achieve optimal performance by utilizing them.

Linux System Programming: Talking Directly to the Kernel and C Library


Robert Love - 2007
    With this comprehensive book, Linux kernel contributor Robert Love provides you with a tutorial on Linux system programming, a reference manual on Linux system calls, and an insider’s guide to writing smarter, faster code.Love clearly distinguishes between POSIX standard functions and special services offered only by Linux. With a new chapter on multithreading, this updated and expanded edition provides an in-depth look at Linux from both a theoretical and applied perspective over a wide range of programming topics, including:A Linux kernel, C library, and C compiler overviewBasic I/O operations, such as reading from and writing to filesAdvanced I/O interfaces, memory mappings, and optimization techniquesThe family of system calls for basic process managementAdvanced process management, including real-time processesThread concepts, multithreaded programming, and PthreadsFile and directory managementInterfaces for allocating memory and optimizing memory accessBasic and advanced signal interfaces, and their role on the systemClock management, including POSIX clocks and high-resolution timers

Design Patterns in Ruby


Russ Olsen - 2007
    Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. He clearly explains each idea, making a wealth of experience available to Ruby developers for their own daily work."--Steve Metsker, Managing Consultant with Dominion Digital, Inc."This book provides a great demonstration of the key 'Gang of Four' design patterns without resorting to overly technical explanations. Written in a precise, yet almost informal style, this book covers enough ground that even those without prior exposure to design patterns will soon feel confident applying them using Ruby. Olsen has done a great job to make a book about a classically 'dry' subject into such an engaging and even occasionally humorous read."--Peter Cooper"This book renewed my interest in understanding patterns after a decade of good intentions. Russ picked the most useful patterns for Ruby and introduced them in a straightforward and logical manner, going beyond the GoF's patterns. This book has improved my use of Ruby, and encouraged me to blow off the dust covering the GoF book."--Mike Stok" Design Patterns in Ruby is a great way for programmers from statically typed objectoriented languages to learn how design patterns appear in a more dynamic, flexible language like Ruby."--Rob Sanheim, Ruby Ninja, RelevanceMost design pattern books are based on C++ and Java. But Ruby is different--and the language's unique qualities make design patterns easier to implement and use. In this book, Russ Olsen demonstrates how to combine Ruby's power and elegance with patterns, and write more sophisticated, effective software with far fewer lines of code.After reviewing the history, concepts, and goals of design patterns, Olsen offers a quick tour of the Ruby language--enough to allow any experienced software developer to immediately utilize patterns with Ruby. The book especially calls attention to Ruby features that simplify the use of patterns, including dynamic typing, code closures, and "mixins" for easier code reuse.Fourteen of the classic "Gang of Four" patterns are considered from the Ruby point of view, explaining what problems each pattern solves, discussing whether traditional implementations make sense in the Ruby environment, and introducing Ruby-specific improvements. You'll discover opportunities to implement patterns in just one or two lines of code, instead of the endlessly repeated boilerplate that conventional languages often require. Design Patterns in Ruby also identifies innovative new patterns that have emerged from the Ruby community. These include ways to create custom objects with metaprogramming, as well as the ambitious Rails-based "Convention Over Configuration" pattern, designed to help integrate entire applications and frameworks.Engaging, practical, and accessible, Design Patterns in Ruby will help you build better software while making your Ruby programming experience more rewarding.

High Performance Web Sites


Steve Souders - 2007
    Author Steve Souders, in his job as Chief Performance Yahoo!, collected these best practices while optimizing some of the most-visited pages on the Web. Even sites that had already been highly optimized, such as Yahoo! Search and the Yahoo! Front Page, were able to benefit from these surprisingly simple performance guidelines.The rules in High Performance Web Sites explain how you can optimize the performance of the Ajax, CSS, JavaScript, Flash, and images that you've already built into your site -- adjustments that are critical for any rich web application. Other sources of information pay a lot of attention to tuning web servers, databases, and hardware, but the bulk of display time is taken up on the browser side and by the communication between server and browser. High Performance Web Sites covers every aspect of that process.Each performance rule is supported by specific examples, and code snippets are available on the book's companion web site. The rules include how to: Make Fewer HTTP RequestsUse a Content Delivery NetworkAdd an Expires HeaderGzip ComponentsPut Stylesheets at the TopPut Scripts at the BottomAvoid CSS ExpressionsMake JavaScript and CSS ExternalReduce DNS LookupsMinify JavaScriptAvoid RedirectsRemove Duplicates ScriptsConfigure ETagsMake Ajax CacheableIf you're building pages for high traffic destinations and want to optimize the experience of users visiting your site, this book is indispensable.If everyone would implement just 20% of Steve's guidelines, the Web would be adramatically better place. Between this book and Steve's YSlow extension, there's reallyno excuse for having a sluggish web site anymore.-Joe Hewitt, Developer of Firebug debugger and Mozilla's DOM InspectorSteve Souders has done a fantastic job of distilling a massive, semi-arcane art down to a set of concise, actionable, pragmatic engineering steps that will change the world of web performance.-Eric Lawrence, Developer of the Fiddler Web Debugger, Microsoft Corporation

PHP Objects, Patterns, and Practice


Matt Zandstra - 2007
    Borne from a contract developer's pet project, these days you'll find PHP powering many of the world's largest web sites, including Yahoo!, Digg, EA Games, and Lycos.PHP Objects, Patterns, and Practice, Second Edition shows you how to meld the power of PHP with the sound enterprise development techniques embraced by professional programmers. Going well beyond the basics of objectoriented development, you'll learn about advanced topics such as working with static methods and properties, abstract classes, interfaces, design patterns, exception handling, and more. You'll also be exposed to key tools such as PEAR, CVS, Phing, and phpDocumentor. What you'll learn Write solid, maintainable code by embracing objectoriented techniques and design patterns Create detailed, versatile documentation using the powerful phpDocumentor automated documentation system Gain new flexibility during the development process by managing your code within a CVS repository and using the Phing build system Capitalize upon the quality code of others by using the PEAR package management solution Who this book is forPHP developers seeking to embrace sound development techniques such as objectorientation, design patterns, testing, and documentation. "

Windows via C/C++ (PRO-Developer) (Pro - Developer)


Jeffrey Richter - 2007
    Programming Applications for Microsoft Windows is a classic book (formerly titled Advanced Windows, Third Edition) and is now fully updated for Windows Vista, including the latest information about Windows XP. In-depth and comprehensive, this essential reference covers the Windows operating system and how to program at the API level. Recognized experts provide an inside view of how Windows works and how to use its features in Visual C++ development tasks. Topics covered include processes, thread pooling, virtual memory, DLLs, file I/O, and message crackers. For systems-level programmers, this is a must-have title. Includes code samples in Visual C++.

Processing: A Programming Handbook for Visual Designers and Artists


Casey Reas - 2007
    This book is an introduction to the concepts of computer programming within the context of the visual arts. It offers a comprehensive reference and text for Processing (www.processing.org), an open-source programming language that can be used by students, artists, designers, architects, researchers, and anyone who wants to program images, animation, and interactivity. The ideas in Processing have been tested in classrooms, workshops, and arts institutions, including UCLA, Carnegie Mellon, New York University, and Harvard University. Tutorial units make up the bulk of the book and introduce the syntax and concepts of software (including variables, functions, and object-oriented programming), cover such topics as photography and drawing in relation to software, and feature many short, prototypical example programs with related images and explanations. More advanced professional projects from such domains as animation, performance, and typography are discussed in interviews with their creators. "Extensions" present concise introductions to further areas of investigation, including computer vision, sound, and electronics. Appendixes, references to additional material, and a glossary contain additional technical details. Processing can be used by reading each unit in order, or by following each category from the beginning of the book to the end. The Processing software and all of the code presented can be downloaded and run for future exploration.Includes essays by Alexander R. Galloway, Golan Levin, R. Luke DuBois, Simon Greenwold, Francis Li, and Hernando Barragan and interviews with Jared Tarbell, Martin Wattenberg, James Paterson, Erik van Blockland, Ed Burton, Josh On, Jurg Lehni, Auriea Harvey and Michael Samyn, Mathew Cullen and Grady Hall, Bob Sabiston, Jennifer Steinkamp, Ruth Jarman and Joseph Gerhardt, Sue Costabile, Chris Csikszentmihalyi, Golan Levin and Zachary Lieberman, and Mark Hansen.Casey Reas is Associate Professor in the Design Media Arts Department at the University of California, Los Angeles. Ben Fry is Nierenburg Chair of Design in the School of Design at Carnegie Mellon University, 2006-2007."

Windows Powershell in Action


Bruce Payette - 2007
    In the tradition of Manning's ground breaking "In Action" series, this book comes from right from the source. Written by Bruce Payette, one of principal creators of PowerShell, Windows PowerShell in Action shows you how to build scripts and utilities to automate system tasks or create powerful system management tools to handle the day-to-day tasks that drive a Windows administrator's life. Because it's based on the .NET platform, PowerShell is also a powerful tool for developers and power users.Windows PowerShell in Action was written by Bruce Payette, one of the founding members of the Windows PowerShell team, co-designer of the PowerShell language and the principal author of the PowerShell language implementation. The book enables you to get the most out of the PowerShell environment. Using many examples, both small and large, this book illustrates the features of the language and environment and shows how to compose those features into solutions, quickly and effectively.This book is designed for anyone who wants to learn PowerShell and use it well. Rather than simply being a book of recipes to read and apply, this book gives you the deep knowledge about how PowerShell works and how to apply it.

Architecture of a Database System


Joseph M. Hellerstein - 2007
    Architecture of a Database System presents an architectural discussion of DBMS design principles, including process models, parallel architecture, storage system design, transaction system implementation, query processor and optimizer architectures, and typical shared components and utilities. Successful commercial and open-source systems are used as points of reference, particularly when multiple alternative designs have been adopted by different groups. Historically, DBMSs were among the earliest multi-user server systems to be developed, and thus pioneered many systems design techniques for scalability and reliability now in use in many other contexts. While many of the algorithms and abstractions used by a DBMS are textbook material, Architecture of a Database System addresses the systems design issues that make a DBMS work. Architecture of a Database System is an invaluable reference for database researchers and practitioners and for those in other areas of computing interested in the systems design techniques for scalability and reliability that originated in DBMS research and development.

Sams Teach Yourself Microsoft SQL Server T-SQL in 10 Minutes (Sams Teach Yourself)


Ben Forta - 2007
    By working through 10-minute lessons, you'll learn everything you need to know to take advantage of Microsoft SQL Server's T-SQL language. This handy pocket guide starts with simple data retrieval and moves on to more complex topics, including the use of joins, subqueries, full text-based searches, functions and stored procedures, cursors, triggers, table constraints, XML, and much more. You'll learn what you need to know methodically, systematically, and simply-in highly focused lessons designed to make you immediately and effortlessly productive. Tips point out shortcuts and solutions Cautions help you avoid common pitfalls Notes explain additional concepts, and provide additional information 10 minutes is all you need to learn how to...Use T-SQL in the Microsoft SQL Server environmentConstruct complex T-SQL statements using multiple clauses and operatorsFilter data so you get the information you need quicklyRetrieve, sort, and format database contentsJoin two or more related tablesMake SQL Server work for you with globalization and localizationCreate subqueries to pinpoint your dataAutomate your workload with triggersCreate and alter database tablesWork with views, stored procedures, and more Register your book at www.samspublishing.com/register to download examples and source code from this book.

Game Physics Engine Development [With CDROM]


Ian Millington - 2007
    Physics engines are the software programs that run these simulations. Building an engine is difficult, however. There are a large number of new developers (and hobbyists) coming into this market who need help through this complex process. Current introductory books are inadequate; they don't bring enough real-world programming experience to the task. There is a need for an introductory book on game physics with solid coding guidance but which limits the math content. Ian Millington brings his extensive professional programming experience to this problem. He has developed games since 1987, has studied AI and mathematics at the PhD level, and founded Mindlathe Ltd., a company that designed and built commercial physics engines. Physics Engine Development carefully describes each step in the creation of a robust, usable physics engine. It introduces the mathematical concepts in a clear and simple manner, keeping to high school level topics and building a physics code library as it goes. Each new concept is explained in diagrams and code to make sure that even the most novice of game programmers understands. The companion CD-ROM includes the source code for a complete physics engine of commercial quality. This book will serve as a introduction to more mathematically advanced books on game physics, such as Dave Eberly's Game Physics. * Uses only high school algebra* Shows how to build a complete system based on professional principles* CD-ROM with C++ source code for a full commercial-quality physics engine

If I Only Changed the Software, Why Is the Phone on Fire?: Embedded Debugging Methods Revealed: Technical Mysteries for Engineers


Lisa K. Simone - 2007
    She introduces a team of engineers who readers will recognize from their own workplaces, and then confronts them with real-world debugging scenarios of progressive complexity, drawing the reader into the "mysteries" with their new fictional colleagues, and guiding them step-by-step toward successful solutions.

Forth Programmer's Handbook


Edward K. Conklin - 2007
    Written for readers with programming backgrounds but not necessarily with prior exposure to Forth, it offers comprehensive coverage of all major aspects of the language, from basic principles to advanced concepts such as multitasking and cross-compiling for embedded systems. It covers nearly 400 commands, including ANS Forth words and many common extensions. The book describes how programmers use Forth to solve problems, serves as a reference for experienced programmers and presents the language's history and rationale. Forth was developed at the National Radio Astronomy Laboratory in the early 1970s; the authors were among its original developers and founders of FORTH, Inc., a premier supplier of Forth products and services. Elizabeth D. Rather chaired the Technical Committee that produced the ANSI Standard for Forth in 1994.

Inside Microsoft SQL Server 2005: Query Tuning and Optimization: Query Tuning and Optimization


Kalen Delaney - 2007
    This in-depth guide delivers best practices, pragmatic advice, and code samples to help you enable efficient, effective queries—and optimize database performance. Discover how to: Create a baseline and monitor workload by using System Monitor and DMVs Design, manipulate, and manage traces to isolate database performance issues Audit user activity by using built-in default, black box, and Common Criteria traces Analyze query execution using scans and seeks, joins, aggregations, unions, and parallelism Generate efficient and cost-effective queries using cached plans or new plans Detect and resolve locking, blocking, and deadlocking concurrency issues Use best practices to diagnose and troubleshoot response time, throughput, and scalability issues PLUS—Includes Transact-SQL code samples and on the Web

Next Generation ABAP Development


Rich Heilman - 2007
    Based on a single real-world example that runs throughout the book - a university upgrading from SAP R/3 4.6C to SAP NetWeaver 2004s - you'll follow along with the university's lead ABAP developer as he develops a custom course booking system. This unique approach allows readers to view the entire process of design, development, and testing - right through the eyes of a developer. You'll quickly familiarize yourself with all of the new possibilities in ABAP while discovering a series of actual scenarios that could easily be encountered in a real-life project. In certain areas the author also provides you with a glimpse towards upcoming ABAP releases, as well as references to former releases, as required. Highlights Include: New ABAP Workbench possibilities Strings and Binary Strings in Transparent Tables Web Service Proxies, Exposing Web Services Persistent Objects, ZIP Compression, Shared Memory Objects ABAP Unit Web Dynpro ABAP, Web Dynpro Debugger View Adobe Interactive Forms, BSP, AJAX Visual Composer, Portal Eventing, Guided Procedures

Matrix Methods in Data Mining and Pattern Recognition


Lars Eldén - 2007
    This application-oriented book describes how modern matrix methods can be used to solve these problems, gives an introduction to matrix theory and decompositions, and provides students with a set of tools that can be modified for a particular application. Part I gives a short introduction to a few application areas before presenting linear algebra concepts and matrix decompositions that students can use in problem-solving environments such as MATLAB. In Part II, linear algebra techniques are applied to data mining problems. Part III is a brief introduction to eigenvalue and singular value algorithms. The applications discussed include classification of handwritten digits, text mining, text summarization, pagerank computations related to the Google search engine, and face recognition. Exercises and computer assignments are available on a Web page that supplements the book.

Beginning Java Se 6 Platform: From Novice to Professional


Jeff Friesen - 2007
    The first chapter sets the stage by introducing Java SE 6 in terms of its name change, themes, an overview, and a sampling of new features. It also briefly discusses the first two Java SE 6 updates.The remaining nine chapters organize features into the following categories: core libraries, GUI toolkits: AWT, GUI toolkits: Swing, internationalization, Java Database Connectivity, monitoring and management, networking, scripting, and security and web services. While exploring these chapters, you will encounter a variety of useful and interesting topics: introducing a new locale with its own currency, creating a new JConsole plug-in, creating a scripted JEditorPane component, invoking and communicating with JavaFX Script and JRuby scripts from a Java application that interacts with the Scripting API, signing an arbitrary XML document and validating a signed document's XML signature, and accessing an existing web service are examples.With a few exceptions, each of chapters 2 through 10 alphabetically organizes its topics for convenient access. Furthermore, all 10 chapters end with a "Test Your Understanding" section that provides questions and exercises to help you reinforce your understanding of what you have read.Additional features are covered in the first three appendices. The first appendix introduces you to annotation types for annotation processors, Common Annotations 1.0, and several tables that conveniently organize additional annotation types that are new to Java SE 6. The second appendix explores changes made to various Java tools. For example, the Java compiler tool now supports annotation processing--you'll learn how to take advantage of this capability by writing your own annotation processor. Another example: you'll learn how to interact with the command-line script shell. The third appendix looks at a variety of performance enhancements, ranging from a fix for the gray-rect problem to single-threaded rendering.The second-to-last appendix provides answers and code to all of the questions and exercises in the various "Test Your Understanding" sections. The final appendix anticipates Java SE 7 by looking at features most likely to make the cut, including closures, the Java Module System, and the Swing Application Framework.By the time you finish this book, you will have mastered most of what's new and improved in Java SE 6. Although a few features, such as multiple gradient paints and an in-depth look at StAX are not covered, you will find a growing list of articles devoted to these additional topics on the author's website (JavaJeff.mb.ca). Follow the links at the bottom of the website's Articles page.

Advanced Windows Debugging: Developing and Administering Reliable, Robust, and Secure Software


Mario Hewardt - 2007
    

Advanced Php Programming: Developing Large Scale Web Applications With Php 5 (Developer's Library)


George Schlossnagle - 2007
    PHP is now starting to make inroads into large-scale business-critical Web systems. The introduction of PHP 5 two years ago brought enterprise-grade capabilities to PHP -- capabilities that have been expanded upon and solidified with the subsequent release of PHP 5.1. Schlossnagle's Advanced PHP Programming demonstrates that PHP is ready for enterprise Web applications by showing the reader how to develop PHP-based applications for maximum performance, stability, and extensibility.

Regular Expression Pocket Reference: Regular Expressions for Perl, Ruby, PHP, Python, C, Java and .NET (Pocket Reference (O'Reilly))


Tony Stubblebine - 2007
    Ideal as a quick reference, Regular Expression Pocket Reference covers the regular expression APIs for Perl 5.8, Ruby (including some upcoming 1.9 features), Java, PHP, .NET and C#, Python, vi, JavaScript, and the PCRE regular expression libraries.This concise and easy-to-use reference puts a very powerful tool for manipulating text and data right at your fingertips. Composed of a mixture of symbols and text, regular expressions can be an outlet for creativity, for brilliant programming, and for the elegant solution. Regular Expression Pocket Reference offers an introduction to regular expressions, pattern matching, metacharacters, modes and constructs, and then provides separate sections for each of the language APIs, with complete regex listings including: Supported metacharacters for each language API Regular expression classes and interfaces for Ruby, Java, .NET, and C# Regular expression operators for Perl 5.8 Regular expression module objects and functions for Python Pattern-matching functions for PHP and the vi editor Pattern-matching methods and objects for JavaScript Unicode Support for each of the languages With plenty of examples and other resources, Regular Expression Pocket Reference summarizes the complex rules for performing this critical text-processing function, and presents this often-confusing topic in a friendly and well-organized format. This guide makes an ideal on-the-job companion.

Foundation ActionScript 3.0 Animation: Making Things Move!


Keith Peters - 2007
    This has contributed to making it one of the most widely used programs for creating interactive web content. With each new version of Flash, ActionScript, its built-in scripting language, has become more powerful and a little more complex, too. ActionScript, now at version 3.0, has significantly matured as a programming language, bringing power and speed only previously dreamed about to Flash-based animation, going far beyond traditionally used keyframes and tweens.The material inside this book covers everything you need to know to harness the power of ActionScript 3.0. First, all the basics of script-based animation and setting up an ActionScript 3.0 project are covered. An introduction to object-oriented programming follows, with the new syntax, events, and rendering techniques of ActionScript 3.0 explained, giving you the confidence to use the language, whether starting from scratch or moving up from ActionScript 2.0.The book goes on to provide information on all the relevant trigonometry you will need, before moving on to physics concepts such as acceleration, velocity, easing, springs, collision detection, conservation of momentum, 3D, and forward and inverse kinematics. In no time at all, you'll both understand the concepts of scripted animation and have the ability to create all manner of exciting animations and games.

WPF in Action: Windows Presentation Foundation using Visual Studio 2008


Arlen Feldman - 2007
    The book starts with thorough coverage of the basics, layouts, styles, resources, and themes. It then takes you through several real-world scenarios, exploring common challenges and application-types. You'll build several sample applications, ranging from a simple calculator to a typical line-of-business application. Along the way, you'll add graphical elements, animation, and support for printing, accessibility, and other standard functionality.

Fractals, Visualization and J


Clifford A. Reiter - 2007
    Designed for classroom use or individual learning. J is freely available and no prior experience with J is required. Experiments are hands on explorations that readers can duplicate. Topics include fractals, time series, iterated function systems, chaos and symmetry, cellular automata, complex dynamics, image processing, ray tracing and Open GL.

Digital Image Processing: An Algorithmic Introduction Using Java


Wilhelm Burger - 2007
    Formal and mathematical aspects are discussed at a fundamental level and various practical examples and exercises supplement the text. The book uses the image processing environment ImageJ, freely distributed by the National Institute of Health. A comprehensive website supports the book, and contains full source code for all examples in the book, a question and answer forum, slides for instructors, etc. Digital Image Processing in Java is the definitive textbook for computer science students studying image processing and digital processing.

Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java� Applications


Chet Haase - 2007
    They suck the user in from the outset and hang on to them with a death grip of excitement. Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java(TM) Applications shows you how to build better, more effective, cooler desktop applications that intensify the user experience.The keys to Filthy Rich Clients are graphical and animated effects. These kinds of effects provide ways of enhancing the user experience of the application through more attractive GUIs, dynamic effects that give your application a pulse, and animated transitions that keep your user connected to the logical flow of the application. The book also discusses how to do so effectively, making sure to enrich applications in sensible ways.In-depth coverage includesGraphics and GUI fundamentals: Dig deep into the internals of how Swing and Java 2D work together to display GUI applications onscreen. Learn how to maximize the flexibility of these libraries and use them most effectively. Performance: Follow in-depth discussions and tips throughout the book that will help you write high-performing GUI applications. Images: Understand how images are created and used to make better Java applications. Advanced graphics: Learn more about elements of Swing and Java 2D that are of particular benefit to Filthy Rich Clients. Animation: Discover general concepts of animation, as well as how to use the facilities provided in the Java platform. Learn new utility libraries that vastly simplify animations in Java. Effects: Learn how to create, customize, and use static and animated effects--the mainstays of Filthy Rich Clients. Code examples illustrate key concepts, and the book's companion Web site, http: //filthyrichclients.org, includes extensive demos, utility libraries, additional information on related technologies, and more.Informal, fun, and, most of all, useful, this book is great for any developer working with Java to build desktop applications.

Fault-Tolerant Systems


Israel Koren - 2007
    No other text on the market takes this approach, nor offers the comprehensive and up-to-date treatment that Koren and Krishna provide.This book incorporates case studies that highlight six different computer systems with fault-tolerance techniques implemented in their design. A complete ancillary package is available to lecturers, including online solutions manual for instructors and PowerPoint slides.Students, designers, and architects of high performance processors will value this comprehensive overview of the field.

Microsoft Office Excel 2007 for Project Managers


Kim Heldman - 2007
    You'll walk through a project and learn how to use these powerful tools to schedule jobs, create budgets, manage processes, and share project information. Whether new to project management or a veteran, you'll discover techniques, hints, and examples you can use immediately.

Microsoft Excel & Access Integration: With Office 2007


Michael Alexander - 2007
    In this book, you'll discover how Access benefits from Excel's flexible presentation layer and versatile analysis capabilities, while Access's relational database structure and robust querying tools enhance Excel. Once you learn to make the two work together, you'll find that your team's productivity is the real winner.

ABAP Objects: ABAP Programming in SAP NetWeaver Book/DVD Package


H. Keller - 2007
    Whether you are new to ABAP programming, an experienced developer, or a consultant or project team member: this in-depth reference provides you with comprehensive knowledge of all facets of ABAP technology. Based on ABAP Objects, this 1000+ page book describes all concepts of modern ABAP up to Release 7.0 (including a "sneak preview" of Release 7.10). Brand new topics found in the new edition include SAP NetWeaver Application Server ABAP, Regular Expressions, Shared Objects, class-based exception handling, assertions, Web Dynpro for ABAP, Object Services, dynamic programming, interface technologies (RFC, ICF, XML), and test tools, among others. Procedural techniques are also covered where necessary.Highlights: SAP NetWeaver Application Server ABAP Development basics: ABAP Workbench, Object Navigator, Class Builder, etc. Basic elements of ABAP Objects Classic modularisation and program execution Avoiding erros and error handling GUI programming: dynpros, lists, selection screens, controls and Web Dynpro Persistent data: DB access, Object Services, file interface, data clusters Dynamic programming: field symbols, RTTS, dynamic tokens and procedure calls Data und communication interfaces: RFC, ICF, web services, XML

Object-Oriented Programming in Python


Michael H. Goldwasser - 2007
    This text presents a balanced & flexible approach to the incorporation of object-orientated principles in courses using Python, providing a solid framework for the development of computer software.

Mastering Perl


Brian D. Foy - 2007
    Mastering Perl pulls everything together to show you how to bend Perl to your will. It convey's Perl's special models and programming idioms. This book isn't a collection of clever tricks, but a way of thinking about Perl programming so you can integrate the real-life problems of debugging, maintenance, configuration, and other tasks you encounter as a working programmer. The book explains how to:Use advanced regular expressions, including global matches, lookarounds, readable regexes, and regex debugging Avoid common programing problems with secure programming techniques Profile and benchmark Perl to find out where to focus your improvements Wrangle Perl code to make it more presentable and readable See how Perl keeps track of package variables and how you can use that for some powerful tricks Define subroutines on the fly and turn the tables on normal procedural programming. Modify and jury rig modules to fix code without editing the original source Let your users configure your programs without touching the code Learn how you can detect errors Perl doesn't report, and how to tell users about them Let your Perl program talk back to you by using Log4perl Store data for later use in another program, a later run of the same program, or to send them over a network Write programs as modules to get the benefit of Perl's distribution and testing tools Appendices include "brian's Guide to Solving Any Perl Problem" to improve your troubleshooting skills, as well as suggested reading to continue your Perl education. Mastering Perl starts you on your path to becoming the person with the answers, and, failing that, the person who knows how to find the answers or discover the problem.

Building Automated Trading Systems: With an Introduction to Visual C++.NET 2005 (Financial Market Technology)


Benjamin Van Vliet - 2007
    Indeed, this is already happening. While several finance books provide C++ code for pricing derivatives and performing numerical calculations, none approaches the topic from a system design perspective. This book will be divided into two sections programming techniques and automated trading system ( ATS ) technology and teach financial system design and development from the absolute ground up using Microsoft Visual C++.NET 2005. MS Visual C++.NET 2005 has been chosen as the implementation language primarily because most trading firms and large banks have developed and continue to develop their proprietary algorithms in ISO C++ and Visual C++.NET provides the greatest flexibility for incorporating these legacy algorithms into working systems. Furthermore, the .NET Framework and development environment provide the best libraries and tools for rapid development of trading systems.The first section of the book explains Visual C++.NET 2005 in detail and focuses on the required programming knowledge for automated trading system development, including object oriented design, delegates and events, enumerations, random number generation, timing and timer objects, and data management with STL.NET and .NET collections. Furthermore, since most legacy code and modeling code in the financial markets is done in ISO C++, this book looks in depth at several advanced topics relating to managed/unmanaged/COM memory management and interoperability. Further, this book provides dozens of examples illustrating the use of database connectivity with ADO.NET and an extensive treatment of SQL and FIX and XML/FIXML. Advanced programming topics such as threading, sockets, as well as using C++.NET to connect to Excel are also discussed at length and supported by examples.The second section of the book explains technological concerns and design concepts for automated trading systems. Specifically, chapters are devoted to handling real-time data feeds, managing orders in the exchange order book, position selection, and risk management. A .dll is included in the book that will emulate connection to a widely used industry API ( Trading Technologies, Inc. s XTAPI ) and provide ways to test position and order management algorithms. Design patterns are presented for market taking systems based upon technical analysis as well as for market making systems using intermarket spreads. As all of the chapters revolve around computer programming for financial engineering and trading system development, this book will educate traders, financial engineers, quantitative analysts, students of quantitative finance and even experienced programmers on technological issues that revolve around development of financial applications in a Microsoft environment and the construction and implementation of real-time trading systems and tools. * Teaches financial system design and development from the ground up using Microsoft Visual C++.NET 2005.* Provides dozens of examples illustrating the programming approaches in the book* Chapters are supported by screenshots, equations, sample Excel spreadsheets, and programming code

Embedded Hardware (Newnes Know It All) (Newnes Know It All)


Jack G. Ganssle - 2007
    Guaranteed not to gather dust on a shelf Circuit design using microcontrollers is both a science and an art. This book covers it all. It details all of the essential theory and facts to help an engineer design a robust embedded system. Processors, memory, and the hot topic of interconnects (I/O) are completely covered. Our authors bring a wealth of experience and ideas; this is a must-own book for any embedded designer. CHAPTER 1: Embedded Hardware BasicsCHAPTER 2: Logic CircuitsCHAPTER 3: Embedded ProcessorsCHAPTER 4: Embedded Board Buses and I/OCHAPTER 5: Memory SystemsCHAPTER 6: Timing Analysis in Embedded SystemsCHAPTER 7: Chooosing a Microcontroller and Other Design DecisionsCHAPTER 8: The Essence of Microcontroller Networking: RS-232CHAPTER 9: Interfacing to Sensors and ActuatorsCHAPTER 10: Other Useful Hardware Design Tips and TechniquesAPPENDIX A: Schematic Symbols APPENDIX B: Acronyms and AbbreviationsAPPENDIX C: PC Board Design Issues *A 360 degree view from best-selling authors including Jack Ganssle, Tammy Noergard, and Fred Eady*Key facts, techniques, and applications fully detailed*The ultimate hard-working desk reference: all the essential information, techniques, and tricks of the trade in one volume

Pro Java 6 3D Game Development: Java 3d, Jogl, Jinput and Joal APIs


Andrew Davison - 2007
    It's assumed you have a reasonable knowledge of Java--the sort of thing picked up in a first Java course at school.Topics are split into three sections: Java 3D API, non-standard input devices for game playing, and JOGL. Java 3D is a high-level 3D graphics API, and JOGL is a lower-level Java wrapper around the popular OpenGL graphics API.You'll look at three non-standard input devices the webcam, the game pad, and the P5 data glove.Along the way, you'll utilize several other games-related libraries including JInput, JOAL, JMF, and Odejava.Learn all the latest Java SE 6 features relevant to gaming, including splash screens, JavaScript scripting as well as the desktop and system tray interfaces.Unique coverage of Java game development using both the Java 3D API and Java for OpenGL, as well as invaluable experience from a recognized Java gaming guru, will provide you with a distinct advantage after reading this book.

Pro JavaScript Design Patterns


Ross Harmes - 2007
    But there is more power waiting to be unlockedJavaScript is capable of full objectoriented capabilities, and by applyingobject-oriented principles, best practices, and design patterns to your code, you can make it more powerful, more efficient, and easier to work with alone or as part of a team.With Pro JavaScript Design Patterns, you'll start with the basics of objectoriented programming in JavaScript applicable to design patterns, including making JavaScript more expressive, inheritance, encapsulation, information hiding, and more. With that covered, you can kickstart your JavaScript development in the second part of the book, where you'll find detail on how to implement and take advantage of several design patterns in JavaScript, including composites, decorators, facades, adapters, and many more.Each chapter is packed with realworld examples of how the design patterns are best used and expert advice on writing better code, as well as what to watch out for. Along the way you'll discover how to create your own libraries and APIs for even more efficient coding.Master the basics of objectoriented programming in JavaScript, as they apply to design patterns Apply design patterns to your kickstart your JavaScript development Work through several realworld examples What you'll learn How to apply objectoriented programming techniques in JavaScript How to take advantage of inheritance, interfaces, and encapsulation and information hiding to kickstart your JavaScript development How to implement several design patterns in your JavaScript projects, including factory, facade, bridge, composite, adapter, decorator, flyweight, proxy, command, observer, and chain of responsibility How to make your code easier to manage in a team environment, as well as on your own How to create your own libraries and APIs Who this book is forThis book will be an invaluable learning tool for any experienced JavaScript developer. Table of Contents Expressive JavaScript Interfaces Encapsulation and Information Hiding Inheritance The Singleton Pattern Chaining The Factory Pattern The Bridge Pattern The Composite Pattern The Facade Pattern The Adapter Pattern The Decorator Pattern The Flyweight Pattern The Proxy Pattern The Observer Pattern The Command Pattern The Chain of Responsibility Pattern

Accelerated VB 2008


Trey Nash - 2007
    Even someone familiar with Visual Basic 6.0 who is looking for an object-oriented language will find VB 2008 easy to pick up. However, though VB 2008, coupled with .NET, provides a quick path for creating simple applications, you still must know a wealth of information and understand how to use it correctly in order to produce sophis- cated, robust, fault-tolerant applications. We teach you what you need to know and explain how best to use your knowledge so that you can quickly develop true VB 2008 expertise. Idioms and design patterns are invaluable for developing and applying expertise, and we show you how to use many of them to create applications that are efficient, robust, fault-tolerant, and exception-safe. Although many are familiar to C++ and Java programmers, some are unique to .NET and the Common Language Runtime (CLR). We show you how to apply these indispen- ble idioms and design techniques to seamlessly integrate your VB 2008 applications with the .NET runtime, focusing on the new capabilities of VB 2008. Design patterns document best practices in application design that many different p- grammers have discovered and rediscovered over time. In fact, .NET itself implements many well-known design patterns. You will see these practices detailed throughout this book. Also, it is important to note that the invaluable tool chest of techniques is evolving constantly.

Excel 2007 Pocket Guide


Curtis D. Frye - 2007
    Microsoft's radical redesign of the application's user interface has led to confusion among many who people who have relied on Excel for years. Our new edition of the Excel 2007 Pocket Guide has been written from the ground up to help newcomers and longtime users alike find their way around without getting lost. With this book in hand, you'll be able to find your favorite Excel tools quickly. It's packed with information to guide beginners through the basics of creating spreadsheets and entering data, while providing advanced users with information on formulas, pivot tables, and more. Inside, you'll find:A visual guide to the new "Ribbon" interface that helps users find familiar toolsA section designed to give beginners enough information to dive right in and start creating rich Excel workbooks immediatelyQuick answers about how to perform specific tasks in Excel, such as working with files, editing data, formatting, summarizing and displaying dataConvenient techniques for connecting data across worksheets and projectsHelp for moving from the basics of spreadsheet construction to more advanced featuresThis edition also includes an extensive reference on commonly used formulas, which reveal at a glance the many possibilities Excel 2007 provides for easy calculation. Tasks in the book are presented as answers to "How do I..." questions -- such as "How do I change the formatting of part of a cell's contents?" -- followed by concise instructions for performing the task. You'll learn ways to customize Excel to fit your needs, and how to share workbooks and collaborate with others. And much more. Don't let Excel 2007 baffle you. Pick up this convenient pocket guide and learn to navigate this redesigned application with ease.

Rich Client Programming: Plugging into the NetBeans Platform


Tim Boudreau - 2007
    Now, for the first time since the release of NetBeans IDE 5.0, there's a comprehensive guide to rich client development on the NetBeans Platform.Written for Java developers and architects who have discovered that basic Swing components are not enough for them, this book will help you get started with NetBeans module development, master NetBeans' key APIs, and learn proven techniques for building reliable desktop software. Each chapter is filled with practical, step-by-step instructions for creating complete rich client applications on top of the NetBeans Platform and plugins for NetBeans IDE."Rich Client Programming"'s wide-ranging content coversWhy modular development makes sense for small, medium, and large applicationsUsing NetBeans to accelerate development and improve efficiencyLeveraging NetBeans productivity features, from the Component Palette to Code CompletionLeveraging NetBeans' modular architecture in your own applicationsImplementing loosely coupled communication to improve code maintainability and robustnessManaging user- and system-configuration dataBuilding reloadable components with solid threading modelsConstructing sophisticated multiwindow applications and presenting rich data structures to usersAdding user-configurable optionsIntegrating Web services with NetBeans desktop applicationsAutomating module updates and providing user help"Foreword by Jonathan Schwartz Foreword by Jan Chalupa Preface About the Authors and Contributors Acknowledgments " Chapter 1: Getting Started with the NetBeans Platform Chapter 2: The Benefits of Modular Programming Chapter 3: Modular Architecture Chapter 4: Loosely Coupled Communication Chapter 5: Lookup Chapter 6: Filesystems Chapter 7: Threading, Listener Patterns, and MIME Lookup Chapter 8: The Window System Chapter 9: Nodes, Explorer Views, Actions, and Presenters Chapter 10: DataObjects and DataLoaders Chapter 11: Graphical User Interfaces Chapter 12: Multiview Editors Chapter 13: Syntax Highlighting Chapter 14: Code Completion Chapter 15: Component Palettes Chapter 16: Hyperlinks Chapter 17: Annotations Chapter 18: Options Windows Chapter 19: Web Frameworks Chapter 20: Web Services Chapter 21: JavaHelp Documentation Chapter 22 Update Centers Chapter 23: Use Case 1: NetBeans Module Development Chapter 24: Use Case 2: Rich Unger on Application Development Chapter A: Advanced Module System Techniques Chapter B: Common Idioms and Code Patterns in NetBeans Chapter C: Performance "Index "

The Compiler Design Handbook


Y.N. Srikant - 2007
    Engineers are discovering that many of the compilers in use today are ill-suited to meet the demands of more advanced computer architectures.Updated to include the latest techniques, The Compiler Design Handbook, Second Edition offers a unique opportunity for designers and researchers to update their knowledge, refine their skills, and prepare for emerging innovations. The completely revised handbook includes 14 new chapters addressing topics such as worst case execution time estimation, garbage collection, and energy aware compilation. The editors take special care to consider the growing proliferation of embedded devices, as well as the need for efficient techniques to debug faulty code. New contributors provide additional insight to chapters on register allocation, software pipelining, instruction scheduling, and type systems.Written by top researchers and designers from around the world, The Compiler Design Handbook, Second Edition gives designers the opportunity to incorporate and develop innovative techniques for optimization and code generation.

Mastering Integrated HTML and CSS


Virginia DeBolt - 2007
    You?ll discover how to create websites that are accessible to the widest range of visitors, build CSS for print and handheld devices, and work with a variety of CSS-based layouts. Using the latest standards, best practices, and real-world examples, this book offers you with a thorough grounding in the basics and also includes advanced techniques.

MCPD Self-Paced Training Kit (Exam 70-549): Designing and Developing Enterprise Applications Using the Microsoft .NET Framework


Bruce Johnson - 2007
    Book by Johnson, Bruce, Lanham, Brian, Lanham, Brian C., Wildermuth, Shawn

Professional C# 2005 with .Net 3.0


Christian Nagel - 2007
    Preparing readers to program in C#, this authoritative guide provides the necessary background information on how the .NET architecture works Begins with a tutorial on C# 2005 and the .NET 3.0 Framework, then moves through the vast .NET class library, showing how C# can be used to solve various tasks Includes coverage of the new .NET 3.0 Framework, Generics, ObjectSpaces, .NET 3.0 in SQL Server, ASP.NET 3.0, Windows Communication Foundation, Windows Workflow Foundation, Windows Presentation Foundation, arrays, system transactions, tracing, and event logging Additional coverage includes such topics as writing Windows applications and Windows services, writing Web pages and Web services with ASP.NET 3.0, manipulating XML using C# 2005, and generating graphics using C# 2005

Maximum Lego NXT: Building Robots with Java Brains


Brian Bagnall - 2007
    Maximum Lego NXT introduces a diverse set of projects, building tips, programming code, complete 3D rendered building instructions and hundreds of illustrations to help you realize your robotic dreams.Using Java™, the most popular and easy to use programming language available, this book will give you endless entertainment and exploration. It introduces the new LEGO® NXT kit, including the NXT intelligent brick and Bluetooth™.  Maximum NXT includes:  � Easy to follow instructions by the author of Core LEGO® MINDSTORMS™ Programming  � Explanations for all available sensors and expansion products available for the NXT kit, including unique projects interfacing a video camera, cell phone, GPS, data gloves, and many more  � An exciting collection of 14 robots, including a chess playing robot, an exoskeleton for your hand, a Mars Rover, a robotic arm you can control through the Internet, a 3D object scanner, soccer robots, and many more  � Introduces over two dozen in-depth programming projects including navigation, mapping, precise robotic arm control, voice control and global localization  � Artificial Intelligence concepts including Vision analysis, Rodney Brooks' Subsumption Architecture, and Reinforcement Learning  � Exciting projects that use third-party sensors like compass, tilt sensor, and port expanders  � A full chapter on building with the new LEGO stud-less brick paradigm.  � A complete tutorial on programming Java™   � How to install a free development environment for leJOS NXJ, the Java™ Virtual Machine for the NXT � Foreword by Søren Lund, Director of LEGO MINDSTORMSMaximum LEGO NXT is the ultimate LEGO MINDSTORMS guide:� Meet NXT � leJOS NXJ � Java for Primates � The leJOS NXJ API � LEGO Parts � Building 101 � Bite into Bluetooth � Grabby Robots � Sound � Robots with Vision � Standing Tall � Localization � Mapping � Path-finding � Hands & Exoskeletons � Network Robotics � Scanning � Behavior-Based Robots � Expanding the NXT � GPS & Harsh Terrain � Speech � Appendices � Index

Mastering Joomla! 1.5 Extension and Framework Development


James Kennard - 2007
    The world's hottest open-source content management system, and winner of the 2006 Open Source CMS Prize, standard Joomla! does a great job managing website content; but its true power lies in its application framework, which facilitates creating sophisticated add-ons that extend Joomla! in virtually unlimited directions. If you've mastered the basics of creating Joomla! extensions using PHP, this book takes you to the next level, covering: best-practice design and coding for Joomla! components, modules, plugins, and other extensions; customizing page output; using JavaScript effects; using Web Services from within Joomla!; and ensuring your code is secure and error-free. A unique and comprehensive reference to the main areas of interest within the Joomla! framework is also included.

Effective Software Maintenance and Evolution: A Reuse-Based Approach


Stanislaw Jarzabek - 2007
    Aging legacy systems, for example, pose an especially rough challenge as veteran programmers retire and their successors are left to figure out how the systems operate. This book explores program analyzers, reverse engineering tools, and reengineering tools in-depth and explains the best ways to deploy them. It also discusses using XML-based tools, the roles of software components, object technology, and metaprogramming in improving systems maintenance, as well as how to align software with business goals through strategic maintenance.

C++ Idioms (More)


Various - 2007
    The objective of this open content book is to present modern C++ idioms to programmers who have moderate level of familiarity with C++, and help elevate their knowledge so that C++ feels much friendlier to them.

Multi-Objective Group Decision Making: Methods Software and Applications with Fuzzy Set Techniques [With CDROM]


Jie Lu - 2007
    Key Features- Describes a complete set of models, methods and algorithms with fuzzy set techniques not only for solving fuzzy MODM, fuzzy MCDM and fuzzy GDM problems, but also for solving general MODM, MCDM and GDM problems- Features two decision support systems (DSSs) for a fuzzy multi-objective DSS and a fuzzy group DSS on how to apply, design and implement such kinds of DSSs in practice- Highlights various applications of proposed decision-making methods and DSS software including power markets, team situation awareness, and logistics management, from the practical point of view- Reveals new directions of decision support systems -- online customer decision support systems and perceptive decision support system.

Minimum You Need to Know About Service Oriented Architecture (Minimum You Need to Know)


Roland Hughes - 2007
    The primary focus of the book is porting FMS based business applications to Intranet and Internet applications using ACMS.

Data Modeling Fundamentals: A Practical Guide for It Professionals


Paulraj Ponniah - 2007
    It begins with an overview of basic data modeling concepts, introduces the methods and techniques, provides a comprehensive case study to present the details of the data model components, covers the implementation of the data model with emphasis on quality components, and concludes with a presentation of a realistic approach to data modeling. It clearly describes how a generic data model is created to represent truly the enterprise information requirements.

IBM System i APIs at Work


Bruce Vining - 2007
    Many System i programmers, however, do not have a working knowledge of the APIs available within i5/OS. Worse still, programmers who are familiar with the use of APIs may not be taking full advantage of the APIs and processing techniques available to them.In this book, author and noted IBM API expert Bruce Vining is your guide to making sense, and effectively mastering, the wide variety of APIs available with System i. Each chapter is full of real business-world examples that you can modify and use in your own environment.In recent years, the business programmer has had to integrate applications—often from different operating systems and programming platforms—using different languages to integrate business rules and requirements. APIs allow you to gain access to the underlying structure of an application. With this book you will soon realize that APIs are among the most powerful tools in your toolbox.New for this edition:• New chapters covering topics such as exit point concepts, Integrated File System, date and time, cryptographic services, TCP/IP, and more• Sorting, character data conversion, and user application information• APIs are covered in depth• Fully updated code on previous APIs to bring them up to newer standards• Updates to API changes since the previous edition• Modernized RPG code to demonstrate current coding style• An Appendix with COBOL examples and implementation including API equivalents for RPG support of memory management, bit testing, edit words, and more• Check Your Knowledge tasks at the conclusion of each chapter with solutions provided in RPG and COBOL Write client and server applications that enable your System i to communicatewith other systems, such as PCs, using sockets

RF & Wireless Technologies [With CDROM]


Bruce A. Fette - 2007
    Guaranteed not to gather dust on a shelf RF (radio frequency) and wireless technologies drive communication today. This technology and its applications enable wireless phones, portable device roaming, and short-range industrial and commercial application communication such as the supply chain management wonder, RFID. Up-to-date information regarding software defined RF, using frequencies smarter, and, using more of the spectrum, with ultrawideband technology is detailed. Chapter 1: Survey of RF and Wireless TechnologyChapter 2: Communications Protocols and ModulationChapter 3: TransmittersChapter 4: ReceiversChapter 5: Radio PropagationChapter 6: Antenna Fundamentals IChapter 7: Antenna Fundamentals II.Chapter 8: Basics of Wireless Local Area NetworksChapter 9: Outdoor Networks.Chapter 10: Voice Over Wi-Fi and Other Wireless TechnologiesChapter 11: Security in Wireless Local Area NetworksChapter 12: System PlanningChapter 13: System Implementation, Testing, and OptimizationChapter 14: Next Generation Wireless NetworksChapter 15: Mobile Ad Hoc NetworksChapter 16: Wireless Sensor NetworksChapter 17: Reliable Wireless Networks for Industrial NetworksChapter 18: Software-Defined RadioChapter 19: The Basics of Radio Frequency Identification (RFID) TechnologyChapter 20: UWB Spectrum and RegulationChapter 21: Interference and CoexistenceChapter 22: Direct Sequence UWBChapter 23: Multiband Approach to UWBChapter 24: History and Background of Cognitive RadioChapter 25: The Software Defined Radio as a Platform for Cognitive RadioChapter 26: Cognitive Radio: The TechnologiesChapter 27: Spectrum AwarenessChapter 28: Direct Sequence and Frequency Hopping Spread SpectrumChapter 29: RF Power AmplifiersChapter 30: Phase Locked Loop Techniques in Modern Communications SystemsChapter 31 Orthogonal Frequency Division Multiplexing (OFDM) *A 360 degree view from best-selling authors including Roberto Aiello, Bruce Fette, and Praphul Chandra*Hot topics covered including ultrawideband and cognitive radio technologies*The ultimate hard-working desk reference: all the essential information, techniques, and tricks of the trade in one volume

Photoshop Elements 5 for Windows


Jeff Carlson - 2007
    Topics covered include creating and managing images, fixing and retouching photos, changing and adjusting colours, painting and drawing, and preparing images for the Web.

Pro SQL Server 2005: Intergration Services


James Wightman - 2007
    It exists for both the database administrator and the developer, as well as that new role SSIS has created between the two--the data artisan.Pro SQL Server 2005 Integration Services contains everything you could ever hope to know about this exciting development from Microsoft: developer insight, Microsoft group manager-level access, personal experience of using the technology in the real-world, and fine-grained analysis. If you want to rapidly gain knowledge and context from your data, Microsoft's latest and greatest interpretation of enterprise application integration, SQL Server Integration Services, is for you. As part of the extensive SQL Server suite, Integration Services is a more serious and expandable interpretation of the integration paradigm than previously available. At once both simple to use yet incredibly complex, it goes far beyond being a reimagining and reengineering of DTS, and it's all presented in a familiar Visual Studio context. It's agile, it's service-oriented, it's everything to everyone.Written for the developer, the database administrator, and the data artisan, Pro SQL Server 2005 Integration Services will show you how to develop and deploy enterprise SSIS solutions in multibillion-item environments. It's everything SSIS, explained for everyone!

Beginning ASP.Net 2.0 Ajax


Wallace B. McClure - 2007
    Written by a high-power team of Microsoft MVPs, this book provides a comprehensive introduction to the ASP.NET AJAX features After a quick overview of the architecture and features of ASP.NET 2.0 AJAX, coverage then goes on to show developers how to build richer, more responsive dynamic Web sites and Web applications Dives into such topics as ASP.NET 2.0 AJAX user interface design issues, JavaScript enhancements with AJAX, how to use the UpdatePanel for implementing server-side controls, and XML scripting in AJAX Also offers an outline of the ASP.NET 2.0 AJAXControl Toolkit, and discusses implementing drag and drop functions, databinding, debugging and security, ASP.NET services, and bridging and gadgets The companion Web site provides readers with a rich set of code examples

Software Teamwork: Taking Ownership for Success


Jim Brosseau - 2007
    This choice, of course, is up to you.""-Matthew Heusser ""Jim Brosseau's understanding of the true dynamics of the IT workplace shows through in "Software Teamwork." For those on the IT solution delivery front lines, and for those who manage them, his insights and wisdom will lead to not only better projects, but a better work life as well.""-Bruce A. Stewart, Chief Executive Officer, Accendor Research, Inc. Optimizing the Human Side of Software Development: Real Solutions Based on Real Data and Experience "Software Teamwork" is a compelling, innovative, intensely practical guide to improving the human dynamics that are crucial to building great software. Drawing on years of work with a wide range of teams, Jim Brosseau shows how to drive powerful improvements through small, focused changes that deliver results. These changes are designed to work for the whole team and respect existing organizational culture. Better yet, Brosseau identifies solutions you can start implementing right now, as an individual, without waiting for executive buy-in. Whatever your methodology, technology, or organization, " Software Teamwork "demonstrates how to apply solutions to realistic development challenges involving complex sets of stakeholders. Along the way, Brosseau shares important new insights into the attitudes, motives, and personal relationships that project management software just can't track. "Software Teamwork" is a revelation-and an invaluable working resource for every project team member, leader, and stakeholder. Preface xvAcknowledgments xxiAbout the Author xxiii Part I: The Problem SpaceChapter 1: Why Are We So Challenged? 3Chapter 2: Do the Right Thing 23Part II: IndividualsChapter 3: The Right Stuff 39Chapter 4: A Quality Focus 53Chapter 5: Facing Challenges 65Chapter 6: Proactive Effectiveness 81Chapter 7: Sustainability 95Part III: GroupsChapter 8: Communication 109Chapter 9: Motives and Expectations 125Chapter 10: Playing Well Together 143Part IV: TeamsChapter 11: Alignment 161Chapter 12: Organization 177Chapter 13: Coordination 199Chapter 14: Guidance 217Part V: StakeholdersChapter 15: Customers 235Chapter 16: Setting Goals 243Chapter 17: Specification 259Chapter 18: Prioritization 273Chapter 19: Change 283Chapter 20: Progress 295Part VI: Putting It All TogetherChapter 21: Pick Your Battles 311Chapter 22: Flexibility and Rigor 323Chapter 23: Progress Revisited 335Chapter 24: Change Revisited 345Chapter 25: Constant Vigilance 361Part VII: Appendix Appendix: Core Tools 375 Index 387

Object-Oriented Programming Languages: Interpretation


Iain D. Craig - 2007
    It has given the possibility that software components can be constructedandreusedwithconsiderablymorecredibility.Therearenowmany case studies in which the reuse of object-oriented components has been made and analysed. Object-oriented programming relates the programming activity to that of modelling or simulation; objects are identi?ed by a correspondence with the objects found in the application area of the program and are used to model those domain operations. Object-oriented programming also opens the prospect of more ?exible software that is able to respond dynamically to the needs of the application at runtime. It is very easy to think that object-oriented programming can be performed in only one way. The prevalence of C++ and Java suggests that they are the onlywaytoapproachtheproblemofwhatanobject-orientedprogrammingl- guage should look like. There are many approaches to this way of programming andC++andJavaexemplifyjustoneofthesedi?erentapproaches.Indeed, the wayinwhichtheconceptoftheobjectisinterpreteddi?ersbetweenapproaches and between languages. The two main approaches found in object-oriented programming languages are, respectively, class-based and prototype-based languages. Class-based l- guages are exempli?ed by Smalltalk [34], C++ [75, 74] and Java [47]. This 2 1. Introduction approach is based upon the identi?cation of common properties of objects and their description in terms of a de?nitional structure called a class. The objects manipulated by class-based programs are the result of instantiating classes."

Video Game Design Revealed


Guy W. Lecky-Thompson - 2007
    Videogame Design Revealed focuses on taking an idea, and creating a video game from it, taking into account all of the various approaches that may be taken, and their influence on the final product. This book is divided into three distinct parts - you are taken through a journey that begins with a look at how videogames have evolved over the years, as well as those designs that are have and those that have failed. Including chapters on platforms and technologies, videogame design in practice, game mechanics, videogame AI design, and more, this book is great for anyone interested in learning more about videogame creation.

Financial Applications Using Excel Add-In Development in C/C++ [With CDROM]


Steve Dalton - 2007
    This is the only complete how-to guide and reference book for the creation of high performance add-ins for Excel in C and C++ for users in the finance industry. Steve Dalton explains how to apply Excel add-ins to financial applications with many examples given throughout the book. It also covers the relative strengths and weaknesses of developing add-ins for Excel in VBA versus C/C++, and provides comprehensive code, workbooks and example projects on the accompanying CD-ROM. The impact of Excel 2007's multi-threaded workbook calculations and large grids on add-in development are fully explored. "Financial Applications using Excel Add-in Development in C/C++" features: Extensive example codes in VBA, C and C++, explaining all the ways in which a developer can achieve their objectives.Example projects that demonstrate, from start to finish, the potential of Excel when powerful add-ins can be easily developed.Develops the readers understanding of the relative strengths and weaknesses of developing add-ins for Excel in VBA versus C/C++.A CD-ROM with several thousand lines of example code, numerous workbooks, and a number of complete example projects.

A Distributed Pi-Calculus


Matthew Hennessy - 2007
    Formal mathematical models and theories of distributed behavior are needed in order to understand them. This book proposes a distributed pi-calculus called Dpi, for describing the behavior of mobile agents in a distributed world. It is based on an existing formal language, the pi-calculus, to which it adds a network layer and a primitive migration construct. A mathematical theory of the behavior of these distributed systems is developed, in which the presence of types plays a major role. It is also shown how in principle this theory can be used to develop verification techniques for guaranteeing the behavior of distributed agents. The text is accessible to computer scientists with a minimal background in discrete mathematics. It contains an elementary account of the pi-calculus, and the associated theory of bisimulations. It also develops the type theory required by Dpi from first principles.

Modern Software Development Using Java


Paul T. Tymann - 2007
    Revolutionizing the second course in computer science, this text teaches Java programming concepts and techniques essential for working in a modern software development environment.

X3D: Extensible 3D Graphics for Web Authors: Extensible 3D Graphics for Web Authors Vol 1 (The Morgan Kaufmann Series in Computer Graphics)


Don Brutzman - 2007
    An HTML-like language, VRML, was proposed in 1994 and became the standard for describing interactive 3D objects and worlds on the Web. 3D Web courses were started, several best-selling books were published, and VRML continues to be used today. However VRML, because it was based on HTML, is a stodgy language that is not easy to incorporate with other applications and has been difficult to add features to. Meanwhile, applications for interactive 3D graphics have been exploding in areas such as medicine, science, industry, and entertainment. There is a strong need for a set of modern Web-based technologies, applied within a standard extensible framework, to enable a new generation of modeling & simulation applications to emerge, develop, and interoperate. X3D is the next generation open standard for 3D on the web. It is the result of several years of development by the Web 3D Consortium's X3D Task Group. Instead of a large monolithic specification (like VRML), which requires full adoption for compliance, X3D is a component-based architecture that can support applications ranging from a simple non-interactive animation to the latest streaming or rendering applications. X3D replaces VRML, but also provides compatibility with existing VRML content and browsers. Don Brutzman organized the first symposium on VRML and is playing a similar role with X3D; he is a founding member of the consortium. Len Daly is a professional member of the consortium and both Len and Don have been involved with the development of the standard from the start. * The first book on the new way to present interactive 3D content over the Web, written by two of the designers of the standard* Plentiful illustrations and screen shots in the full color text* Companion website with extensive content, including the X3D specification, sample code and applications, content creation tools, and demos of compatible Web browsers

A Practical Guide to Data Structures and Algorithms using Java (Chapman & Hall/CRC Applied Algorithms and Data Structures series)


Sally A. Goldman - 2007
    Rare book