Best of
Computer-Science

2010

The Linux Programming Interface: A Linux and Unix System Programming Handbook


Michael Kerrisk - 2010
    You'll learn how to:Read and write files efficiently Use signals, clocks, and timers Create processes and execute programs Write secure programs Write multithreaded programs using POSIX threads Build and use shared libraries Perform interprocess communication using pipes, message queues, shared memory, and semaphores Write network applications with the sockets API While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms.The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.Praise for The Linux Programming Interface "If I had to choose a single book to sit next to my machine when writing software for Linux, this would be it." —Martin Landers, Software Engineer, Google "This book, with its detailed descriptions and examples, contains everything you need to understand the details and nuances of the low-level programming APIs in Linux . . . no matter what the level of reader, there will be something to be learnt from this book." —Mel Gorman, Author of Understanding the Linux Virtual Memory Manager "Michael Kerrisk has not only written a great book about Linux programming and how it relates to various standards, but has also taken care that bugs he noticed got fixed and the man pages were (greatly) improved. In all three ways, he has made Linux programming easier. The in-depth treatment of topics in The Linux Programming Interface . . . makes it a must-have reference for both new and experienced Linux programmers." —Andreas Jaeger, Program Manager, openSUSE, Novell "Michael's inexhaustible determination to get his information right, and to express it clearly and concisely, has resulted in a strong reference source for programmers. While this work is targeted at Linux programmers, it will be of value to any programmer working in the UNIX/POSIX ecosystem." —David Butenhof, Author of Programming with POSIX Threads and Contributor to the POSIX and UNIX Standards ". . . a very thorough—yet easy to read—explanation of UNIX system and network programming, with an emphasis on Linux systems. It's certainly a book I'd recommend to anybody wanting to get into UNIX programming (in general) or to experienced UNIX programmers wanting to know 'what's new' in the popular GNU/Linux system." —Fernando Gont, Network Security Researcher, IETF Participant, and RFC Author ". . . encyclopedic in the breadth and depth of its coverage, and textbook-like in its wealth of worked examples and exercises. Each topic is clearly and comprehensively covered, from theory to hands-on working code. Professionals, students, educators, this is the Linux/UNIX reference that you have been waiting for." —Anthony Robins, Associate Professor of Computer Science, The University of Otago "I've been very impressed by the precision, the quality and the level of detail Michael Kerrisk put in his book. He is a great expert of Linux system calls and lets us share his knowledge and understanding of the Linux APIs." —Christophe Blaess, Author of Programmation systeme en C sous Linux ". . . an essential resource for the serious or professional Linux and UNIX systems programmer. Michael Kerrisk covers the use of all the key APIs across both the Linux and UNIX system interfaces with clear descriptions and tutorial examples and stresses the importance and benefits of following standards such as the Single UNIX Specification and POSIX 1003.1." —Andrew Josey, Director, Standards, The Open Group, and Chair of the POSIX 1003.1 Working Group "What could be better than an encyclopedic reference to the Linux system, from the standpoint of the system programmer, written by none other than the maintainer of the man pages himself? The Linux Programming Interface is comprehensive and detailed. I firmly expect it to become an indispensable addition to my programming bookshelf." —Bill Gallmeister, Author of POSIX.4 Programmer's Guide: Programming for the Real World ". . . the most complete and up-to-date book about Linux and UNIX system programming. If you're new to Linux system programming, if you're a UNIX veteran focused on portability while interested in learning the Linux way, or if you're simply looking for an excellent reference about the Linux programming interface, then Michael Kerrisk's book is definitely the companion you want on your bookshelf." —Loic Domaigne, Chief Software Architect (Embedded), Corpuls.com

UNIX and Linux System Administration Handbook


Evi Nemeth - 2010
    This is one of those cases. The UNIX System Administration Handbook is one of the few books we ever measured ourselves against." -From the Foreword by Tim O'Reilly, founder of O'Reilly Media "This book is fun and functional as a desktop reference. If you use UNIX and Linux systems, you need this book in your short-reach library. It covers a bit of the systems' history but doesn't bloviate. It's just straightfoward information delivered in colorful and memorable fashion." -Jason A. Nunnelley"This is a comprehensive guide to the care and feeding of UNIX and Linux systems. The authors present the facts along with seasoned advice and real-world examples. Their perspective on the variations among systems is valuable for anyone who runs a heterogeneous computing facility." -Pat Parseghian The twentieth anniversary edition of the world's best-selling UNIX system administration book has been made even better by adding coverage of the leading Linux distributions: Ubuntu, openSUSE, and RHEL. This book approaches system administration in a practical way and is an invaluable reference for both new administrators and experienced professionals. It details best practices for every facet of system administration, including storage management, network design and administration, email, web hosting, scripting, software configuration management, performance analysis, Windows interoperability, virtualization, DNS, security, management of IT service organizations, and much more. UNIX(R) and Linux(R) System Administration Handbook, Fourth Edition, reflects the current versions of these operating systems: Ubuntu(R) LinuxopenSUSE(R) LinuxRed Hat(R) Enterprise Linux(R)Oracle America(R) Solaris(TM) (formerly Sun Solaris)HP HP-UX(R)IBM AIX(R)

Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation


Jez Humble - 2010
    This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours-- sometimes even minutes-no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the "deployment pipeline," an automated process for managing all changes, from check-in to release. Finally, they discuss the "ecosystem" needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes - Automating all facets of building, integrating, testing, and deploying software - Implementing deployment pipelines at team and organizational levels - Improving collaboration between developers, testers, and operations - Developing features incrementally on large and distributed teams - Implementing an effective configuration management strategy - Automating acceptance testing, from analysis to implementation - Testing capacity and other non-functional requirements - Implementing continuous deployment and zero-downtime releases - Managing infrastructure, data, components and dependencies - Navigating risk management, compliance, and auditing Whether you're a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever--so you can deliver value to your business rapidly and reliably.

Metaprogramming Ruby


Paolo Perrotta - 2010
    Now you can get in on the action as well. This book describes metaprogramming as an essential component of Ruby. Once you understand the principles of Ruby, including the object model, scopes, and eigenclasses, you're on your way to applying metaprogramming both in your daily work and in your fun, after-hours projects. Learning metaprogramming doesn't have to be difficult or boring. By taking you on a Monday-through-Friday workweek adventure with a pair of programmers, Paolo Perrotta helps make mastering the art of metaprogramming both straightforward and entertaining. The book is packed with:Pragmatic examples of metaprogramming in action, many of which come straight from popular libraries or frameworks, such as Rails. Programming challenges that let you experiment and play with some of the most fun, "out-there" metaprogramming concepts. Metaprogramming spells--34 practical recipes and idioms that you can study and apply right now, to write code that is sure to impress. Whether you're a Ruby apprentice on the path to mastering the language or a Ruby wiz in search of new tips, this book is for you.

Eloquent JavaScript: A Modern Introduction to Programming


Marijn Haverbeke - 2010
    I loved the tutorial-style game-like program development. This book rekindled my earliest joys of programming. Plus, JavaScript!" —Brendan Eich, creator of JavaScriptJavaScript is the language of the Web, and it's at the heart of every modern website from the lowliest personal blog to the mighty Google Apps. Though it's simple for beginners to pick up and play with, JavaScript is not a toy—it's a flexible and complex language, capable of much more than the showy tricks most programmers use it for.Eloquent JavaScript goes beyond the cut-and-paste scripts of the recipe books and teaches you to write code that's elegant and effective. You'll start with the basics of programming, and learn to use variables, control structures, functions, and data structures. Then you'll dive into the real JavaScript artistry: higher-order functions, closures, and object-oriented programming.Along the way you'll learn to:Master basic programming techniques and best practices Harness the power of functional and object-oriented programming Use regular expressions to quickly parse and manipulate strings Gracefully deal with errors and browser incompatibilities Handle browser events and alter the DOM structure Most importantly, Eloquent JavaScript will teach you to express yourself in code with precision and beauty. After all, great programming is an art, not a science—so why settle for a killer app when you can create a masterpiece?

JavaScript Patterns


Stoyan Stefanov - 2010
    If you're an experienced developer looking to solve problems related to objects, functions, inheritance, and other language-specific categories, the abstractions and code templates in this guide are ideal -- whether you're writing a client-side, server-side, or desktop application with JavaScript.Written by JavaScript expert Stoyan Stefanov -- Senior Yahoo! Technical and architect of YSlow 2.0, the web page performance optimization tool -- JavaScript Patterns includes practical advice for implementing each pattern discussed, along with several hands-on examples. You'll also learn about anti-patterns: common programming approaches that cause more problems than they solve.Explore useful habits for writing high-quality JavaScript code, such as avoiding globals, using single var declarations, and moreLearn why literal notation patterns are simpler alternatives to constructor functionsDiscover different ways to define a function in JavaScriptCreate objects that go beyond the basic patterns of using object literals and constructor functionsLearn the options available for code reuse and inheritance in JavaScriptStudy sample JavaScript approaches to common design patterns such as Singleton, Factory, Decorator, and moreExamine patterns that apply specifically to the client-side browser environment

The Joy of Clojure


Michael Fogus - 2010
    It combines the nice features of a scripting language with the powerful features of a production environment—features like persistent data structures and clean multithreading that you'll need for industrial-strength application development.The Joy of Clojure goes beyond just syntax to show you how to write fluent and idiomatic Clojure code. You'll learn a functional approach to programming and will master Lisp techniques that make Clojure so elegant and efficient. The book gives you easy access to hard soft ware areas like concurrency, interoperability, and performance. And it shows you how great it can be to think about problems the Clojure way. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. What's InsideThe what and why of ClojureHow to work with macrosHow to do elegant application designFunctional programming idiomsWritten for programmers coming to Clojure from another programming background—no prior experience with Clojure or Lisp is required.

Test-Driven Web Development with Python


Harry Percival - 2010
    You’ll learn everything from the basics of database integration and the use of JavaScript to browser-automation tools like Selenium, and advanced topics such as NoSQL, Web Sockets, and async programming.Ideal for beginners, this book teaches a development methodology that leads to peace of mind, cleaner code, and better web apps.

Cryptography Engineering: Design Principles and Practical Applications


Niels Ferguson - 2010
    Cryptography is vital to keeping information safe, in an era when the formula to do so becomes more and more challenging. Written by a team of world-renowned cryptography experts, this essential guide is the definitive introduction to all major areas of cryptography: message security, key negotiation, and key management. You'll learn how to think like a cryptographer. You'll discover techniques for building cryptography into products from the start and you'll examine the many technical changes in the field.After a basic overview of cryptography and what it means today, this indispensable resource covers such topics as block ciphers, block modes, hash functions, encryption modes, message authentication codes, implementation issues, negotiation protocols, and more. Helpful examples and hands-on exercises enhance your understanding of the multi-faceted field of cryptography.An author team of internationally recognized cryptography experts updates you on vital topics in the field of cryptography Shows you how to build cryptography into products from the start Examines updates and changes to cryptography Includes coverage on key servers, message security, authentication codes, new standards, block ciphers, message authentication codes, and more Cryptography Engineering gets you up to speed in the ever-evolving field of cryptography.

Land of LISP: Learn to Program in LISP, One Game at a Time!


Conrad Barski - 2010
    Land of Lisp brings the language into the real world, teaching Lisp by showing readers how to write several complete Lisp-based games, including a text adventure, an evolution simulation, and a robot battle. While building these games, readers learn the core concepts of Lisp programming, such as data types, recursion, input/output, object-oriented programming, and macros. And thanks to the power of Lisp, the code is short. Rather than bogging things down with reference information that is easily found online, Land of Lisp focuses on using Lisp for real programming. The book is filled with the author Conrad Barski's famous Lisp cartoons, featuring the Lisp alien and other zany characters.

The D Programming Language


Andrei Alexandrescu - 2010
    I'm sure you'll find the read rewarding." --From the Foreword by Scott Meyers D is a programming language built to help programmers address the challenges of modern software development. It does so by fostering modules interconnected through precise interfaces, a federation of tightly integrated programming paradigms, language-enforced thread isolation, modular type safety, an efficient memory model, and more. The D Programming Language is an authoritative and comprehensive introduction to D. Reflecting the author's signature style, the writing is casual and conversational, but never at the expense of focus and pre-cision. It covers all aspects of the language (such as expressions, statements, types, functions, contracts, and modules), but it is much more than an enumeration of features. Inside the book you will find In-depth explanations, with idiomatic examples, for all language features How feature groups support major programming paradigms Rationale and best-use advice for each major feature Discussion of cross-cutting issues, such as error handling, contract programming, and concurrency Tables, figures, and "cheat sheets" that serve as a handy quick reference for day-to-day problem solving with D Written for the working programmer, The D Programming Language not only introduces the D language--it presents a compendium of good practices and idioms to help both your coding with D and your coding in general.

Wireshark Network Analysis: The Official Wireshark Certified Network Analyst Study Guide


Gerald Combs - 2010
    Wireshark is the world's most popular network analyzer tool. This book is the ultimate resource on Wireshark which is a MUST HAVE tool used by network IT professionals to troubleshoot, secure and optimize networks. Readers learn to capture wired and wireless traffic, focus on the cause of slow web browsing, identify why applications don't run properly across the network, locate the cause of poor VoIP call quality, determine why WLANs are plagued with problems and more. The author, Laura Chappell is the founder of Wireshark University and Chappell University and has been analyzing networks for over 20 years - the book is written in a clear manner with hundreds of screenshots for the visual learner. The foreword was written by Gerald Combs, creator of Wireshark. Wireshark Network Analysis covers the test objectives for the Wireshark Certified Network Analyst Exam and includes test questions and answers for all topics covered. Filled with 45 real-life case studies, Wireshark Network Analysis takes you inside small, medium and large corporations to see how they solved network problems in a more efficient, accurate way using Wireshark. Book supplements are available online at www.wiresharkbook.com.

Networks, Crowds, and Markets


David Easley - 2010
    This connectedness is found in many incarnations: in the rapid growth of the Internet, in the ease with which global communication takes place, and in the ability of news and information as well as epidemics and financial crises to spread with surprising speed and intensity. These are phenomena that involve networks, incentives, and the aggregate behavior of groups of people; they are based on the links that connect us and the ways in which our decisions can have subtle consequences for others. This introductory undergraduate textbook takes an interdisciplinary look at economics, sociology, computing and information science, and applied mathematics to understand networks and behavior. It describes the emerging field of study that is growing at the interface of these areas, addressing fundamental questions about how the social, economic, and technological worlds are connected.

The Apollo Guidance Computer: Architecture And Operation (Springer Praxis Books / Space Exploration)


Frank O'Brien - 2010
    In the 1960s most computers filled an entire room, but the spacecraft's computer was required to be compact and low power. Although people today find it difficult to accept that it was possible to control a spacecraft using such a 'primitive' computer, it nevertheless had capabilities that are advanced even by today's standards.This is the first book to fully describe the Apollo guidance computer's architecture, instruction format and programs used by the astronauts. As a comprehensive account, it will span the disciplines of computer science, electrical and aerospace engineering. However, it will also be accessible to the 'space enthusiast'. In short, the intention is for this to be the definitive account of the Apollo guidance computer.Frank O'Brien's interest in the Apollo program began as a serious amateur historian. About 12 years ago, he began performing research and writing essays for the Apollo Lunar Surface Journal, and the Apollo Flight Journal. Much of this work centered on his primary interests, the Apollo Guidance Computer (AGC) and the Lunar Module. These Journals are generally considered the canonical online reference on the flights to the Moon. He was then asked to assist the curatorial staff in the creation of the Cradle of Aviation Museum, on Long Island, New York, where he helped prepare the Lunar Module simulator, a LM procedure trainer and an Apollo space suit for display. He regularly lectures on the Apollo computer and related topics to diverse groups, from NASA's computer engineering conferences, the IEEE/ACM, computer festivals and university student groups.

Pearls of Functional Algorithm Design


Richard S. Bird - 2010
    These 30 short chapters each deal with a particular programming problem drawn from sources as diverse as games and puzzles, intriguing combinatorial tasks, and more familiar areas such as data compression and string matching. Each pearl starts with the statement of the problem expressed using the functional programming language Haskell, a powerful yet succinct language for capturing algorithmic ideas clearly and simply. The novel aspect of the book is that each solution is calculated from an initial formulation of the problem in Haskell by appealing to the laws of functional programming. Pearls of Functional Algorithm Design will appeal to the aspiring functional programmer, students and teachers interested in the principles of algorithm design, and anyone seeking to master the techniques of reasoning about programs in an equational style.

PostgreSQL 9.0 High Performance


Gregory Smith - 2010
    You could spend years discovering solutions to them all, step by step as you encounter them. Or you can just look in here. All successful database applications are destined to eventually run into issues scaling up their performance. Peek into the future of your PostgreSQL database's problems today. Know the warning signs to look for, and how to avoid the most common issues before they even happen. Surprisingly, most PostgreSQL database applications evolve in the same way: Choose the right hardware. Tune the operating system and server memory use. Optimize queries against the database, with the right indexes. Monitor every layer, from hardware to queries, using some tools that are inside PostgreSQL and others that are external. Using monitoring insight, continuously rework the design and configuration. On reaching the limits of a single server, break things up; connection pooling, caching, partitioning, and replication can all help handle increasing database workloads. The path to a high performance database system isn't always easy. But it doesn't have to be mysterious with the right guide. This book is a clear, step-by-step guide to optimizing and scaling up PostgreSQL database servers. - Publisher.

Modern Perl


chromatic - 2010
    With countless satisfied developers, tens of thousands of freely available libraries, and continual improvements to the language and its ecosystem, modern Perl development can be easy, reliable, and fun. To take advantage of the full power of Perl 5--to become a true expert, capable of solving any problem put before you--you must understand the language. Modern Perl explains Perl 5 from theory to implementation, including Perl 5.12.

Computer Vision: Algorithms and Applications


Richard Szeliski - 2010
    However, despite all of the recent advances in computer vision research, the dream of having a computer interpret an image at the same level as a two-year old remains elusive. Why is computer vision such a challenging problem and what is the current state of the art?Computer Vision: Algorithms and Applications explores the variety of techniques commonly used to analyze and interpret images. It also describes challenging real-world applications where vision is being successfully used, both for specialized applications such as medical imaging, and for fun, consumer-level tasks such as image editing and stitching, which students can apply to their own personal photos and videos.More than just a source of "recipes," this exceptionally authoritative and comprehensive textbook/reference also takes a scientific approach to basic vision problems, formulating physical models of the imaging process before inverting them to produce descriptions of a scene. These problems are also analyzed using statistical models and solved using rigorous engineering techniquesTopics and features: Structured to support active curricula and project-oriented courses, with tips in the Introduction for using the book in a variety of customized courses Presents exercises at the end of each chapter with a heavy emphasis on testing algorithms and containing numerous suggestions for small mid-term projects Provides additional material and more detailed mathematical topics in the Appendices, which cover linear algebra, numerical techniques, and Bayesian estimation theory Suggests additional reading at the end of each chapter, including the latest research in each sub-field, in addition to a full Bibliography at the end of the book Supplies supplementary course material for students at the associated website, http: //szeliski.org/Book/ Suitable for an upper-level undergraduate or graduate-level course in computer science or engineering, this textbook focuses on basic techniques that work under real-world conditions and encourages students to push their creative boundaries. Its design and exposition also make it eminently suitable as a unique reference to the fundamental techniques and current research literature in computer vision.

The Garbage Collection Handbook: The Art of Automatic Memory Management (Chapman & Hall/CRC Applied Algorithms and Data Structures series)


Richard Jones - 2010
    Since the field has changed considerably, there is a need for an updated look at where garbage collection and memory management research stands today. This book explores new challenges, such as concurrency and parallelism, while following the successful format of the previous book. It provides comprehensive, accessible coverage of important algorithms and places these algorithms within a common framework using consistent terminology. This approach facilitates comparisons between various designs. The book also examines the research literature and effective practical techniques and includes numerous case studies.

Oracle Jrockit: The Definitive Guide


Marcus Hirt - 2010
    

Camel in Action


Claus Ibsen - 2010
    It starts with core concepts like sending, receiving, routing, and transforming data and then shows readers the entire lifecycle. The book goes in depth on how to test, deal with errors, scale, deploy, and monitor apps and even how to build custom tooling. Written by core developers of Camel and the authors of the first edition, this book distills their experience and practical insights so that readers can tackle integration tasks like a pro.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

The Audio Programming Book [With CDROM]


Richard Boulanger - 2010
    Designed to be used by readers with varying levels of programming expertise, it not only provides the foundations for music and audio development but also tackles issues that sometimes remain mysterious even to experienced software designers. Exercises and copious examples (all cross-platform and based on free or open source software) make the book ideal for classroom use. Fifteen chapters and eight appendixes cover such topics as programming basics for C and C++ (with music-oriented examples), audio programming basics and more advanced topics, spectral audio programming; programming Csound opcodes, and algorithmic synthesis and music programming. Appendixes cover topics in compiling, audio and MIDI, computing, and math. An accompanying DVD provides an additional 40 chapters, covering musical and audio programs with micro-controllers, alternate MIDI controllers, video controllers, developing Apple Audio Unit plug-ins from Csound opcodes, and audio programming for the iPhone.The sections and chapters of the book are arranged progressively and topics can be followed from chapter to chapter and from section to section. At the same time, each section can stand alone as a self-contained unit. Readers will find The Audio Programming Book a trustworthy companion on their journey through making music and programming audio on modern computers.

Algorithms for Interviews


Adnan Aziz - 2010
    AFI consists of 174 solved algorithm design problems. It covers core material, such as searching and sorting; general design principles, such as graph modeling and dynamic programming; advanced topics, such as strings, parallelism and intractability. It also covers system design, problem solving, and interviewing techniques. AFI's authors are practicing algorithmists, with extensive academic and industrial experience. They have collectively published over 100 articles on applied algorithms, applied their skills at Google, Microsoft, IBM, Qualcomm, and a number of smaller software startups, and conducted many job interviews for various computer science jobs.

Data Analysis with Open Source Tools: A Hands-On Guide for Programmers and Data Scientists


Philipp K. Janert - 2010
    With this insightful book, intermediate to experienced programmers interested in data analysis will learn techniques for working with data in a business environment. You'll learn how to look at data to discover what it contains, how to capture those ideas in conceptual models, and then feed your understanding back into the organization through business plans, metrics dashboards, and other applications.Along the way, you'll experiment with concepts through hands-on workshops at the end of each chapter. Above all, you'll learn how to think about the results you want to achieve -- rather than rely on tools to think for you.Use graphics to describe data with one, two, or dozens of variablesDevelop conceptual models using back-of-the-envelope calculations, as well asscaling and probability argumentsMine data with computationally intensive methods such as simulation and clusteringMake your conclusions understandable through reports, dashboards, and other metrics programsUnderstand financial calculations, including the time-value of moneyUse dimensionality reduction techniques or predictive analytics to conquer challenging data analysis situationsBecome familiar with different open source programming environments for data analysisFinally, a concise reference for understanding how to conquer piles of data.--Austin King, Senior Web Developer, MozillaAn indispensable text for aspiring data scientists.--Michael E. Driscoll, CEO/Founder, Dataspora

Essentials of Metaheuristics


Sean Luke - 2010
    It was developed as a series of lecture notes for an undergraduate course I taught at GMU. The chapters are designed to be printable separately if necessary. As it's lecture notes, the topics are short and light on examples and theory. It's best when complementing other texts. With time, I might remedy this.What is a Metaheuristic? A common but unfortunate name for any stochastic optimization algorithm intended to be the last resort before giving up and using random or brute-force search. Such algorithms are used for problems where you don't know how to find a good solution, but if shown a candidate solution, you can give it a grade. The algorithmic family includes genetic algorithms, hill-climbing, simulated annealing, ant colony optimization, particle swarm optimization, and so on.

Java Design Pattern Essentials


Tony Bevis - 2010
    This fully revised and updated book gives you a step-by-step guide to object-oriented development, using tried and trusted techniques. The examples have been kept simple, enabling you to concentrate on understanding the concepts and application of each pattern. All examples have been designed around a common theme, making it easier to see how they relate to each other and how you can adapt them to your applications. While the book assumes a basic knowledge of Java you don't need to be a guru. This book is perfect for the programmer wishing to take their skills to the next level, and feel confident about using Java in real applications. Coverage includes all 23 of the patterns from the "Gang of Four" work, additional patterns including Model-View-Controller, and simple UML diagrams.

Autotools: A Practioner's Guide to GNU Autoconf, Automake, and Libtool


John Calcote - 2010
    Although the Autotools are used by thousands of open source software packages, they have a notoriously steep learning curve. And good luck to the beginner who wants to find anything beyond a basic reference work online.Autotools Autotools is the first book to offer programmers a tutorial-based guide to the GNU build system. Author John Calcote begins with an overview of high-level concepts and a quick hands-on tour of the philosophy and design of the Autotools. He then tackles more advanced details, like using the M4 macro processor with Autoconf, extending the framework provided by Automake, and building Java and C# sources. He concludes the book with detailed solutions to the most frequent problems encountered by first-time Autotools users.You'll learn how to:Master the Autotools build system to maximize your software's portability Generate Autoconf configuration scripts to simplify the compilation process Produce portable makefiles with Automake Build cross-platform software libraries with Libtool Write your own Autoconf macrosAutotools focuses on two projects: Jupiter, a simple "Hello, world!" program, and FLAIM, an existing, complex open source effort containing four separate but interdependent subprojects. Follow along as the author takes Jupiter's build system from a basic makefile to a full-fledged Autotools project, and then as he converts the FLAIM projects from complex hand-coded makefiles to the powerful and flexible GNU build system.

Competitive Programming


Steven Halim - 2010
    

Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant


Adam Chlipala - 2010
    This book provides an introduction to the Coq software for writing and checking mathematical proofs. It takes a practical engineering focus throughout, emphasizing techniques that will help users to build, understand, and maintain large Coq developments and minimize the cost of code change over time. Two topics, rarely discussed elsewhere, are covered in detail: effective dependently typed programming (making productive use of a feature at the heart of the Coq system) and construction of domain-specific proof tactics. Almost every subject covered is also relevant to interactive computer theorem proving in general, not just program verification, demonstrated through examples of verified programs applied in many different sorts of formalizations. The book develops a unique automated proof style and applies it throughout; even experienced Coq users may benefit from reading about basic Coq concepts from this novel perspective. The book also offers a library of tactics, or programs that find proofs, designed for use with examples in the book. Readers will acquire the necessary skills to reimplement these tactics in other settings by the end of the book. All of the code appearing in the book is freely available online.

C# 4.0 Unleashed


Bart De Smet - 2010
    While covering the language in lots of detail, it also provides enough coverage of various popular .NET technologies and techniques (such as debugging) for the reader to be successful on the .NET platform. The in-depth coverage of the language features is crucial to the success of a developer. Knowing exactly where and why to use certain language features can boost efficiency significantly. This book differs from other works by going into enough depth on how things work, while not being a clone of the formal language specification. Concise anecdotes with concrete samples illustrate how certain language features behave, and also point out possible caveats in using them. On the side of platform coverage, the author provides a gentle introduction to the wide landscape of the .NET platform, following a logical structure that reflects the high-level architecture of an application: presentation, logic, data, connectivity, etc. In the .NET part of the book there's coverage of relevant new technologies such as cloud computing, modeling, and parallel programming - things that will gain much more attention moving forward. Provides valuable insight into the C# language and the .NET Framework - not just "what" but also the "how" and "why" of the language and framework features Covers using C# with new major technologies, such as cloud computing, SharePoint, and ASP.NET MVC Author is Microsoft insider Will be day and date with the release of C# 4.0"

Data Structures Using C


Reema Thareja - 2010
    The book aims to provide a comprehensive coverage of the concepts of Data Structures.The book starts with a thorough overview of the concepts of C programming including Arrays, Pointers, Strings, and Functions. It then connects these concepts and applies them to the study of Data Structures by discussing key concepts like Linked Lists, Stacks and Queues, Trees and Graphs. Detailed description of various functions in Data Structures like Sorting - both Internal and External. Hashing and Search Trees is provided. The book also provides a chapter on the attributes and organization of files.Written in a simple style, the book provides numerous examples, programmes and psuedocodes to illustrate the theoretical concepts. Several end chapter exercises including review questions, multiple choice questions is provided to help students practise the concepts.

CUDA by Example: An Introduction to General-Purpose GPU Programming


Jason Sanders - 2010
    

SAP Businessobjects Web Intelligence


Jim Brogden - 2010
    Provides a solid functional overview of SAP BusinessObjects Web Intelligence, in addition to actionable, step-by-step content for creating the most powerful and business-relevant queries and reports and ensuring the tool is used to its full capability.The book also provides details on advanced features of the tool including customizing Web Intelligence with the software developer's kit (SDK) and linking with other SAP BI tools like Dashboard Builder 3.1.

The Handbook of Computational Linguistics and Natural Language Processing


Alexander Clark - 2010
    This comprehensive reference work provides an overview of the concepts, methodologies, and applications in computational linguistics and natural language processing (NLP).Features contributions by the top researchers in the field, reflecting the work that is driving the discipline forward Includes an introduction to the major theoretical issues in these fields, as well as the central engineering applications that the work has produced Presents the major developments in an accessible way, explaining the close connection between scientific understanding of the computational properties of natural language and the creation of effective language technologies Serves as an invaluable state-of-the-art reference source for computational linguists and software engineers developing NLP applications in industrial research and development labs of software companies

Information Technology Auditing (with ACL CD-Rom)


James A. Hall - 2010
    This new edition includes updated and expanded coverage of enterprise systems and fraud and fraud detection topics such as continuous online auditing. After reading Hall's IT Auditing, students will gain a true understanding of how these audits take place in the real world.

Ultra Low Power Bioelectronics: Fundamentals, Biomedical Applications, and Bio-Inspired Systems


Rahul Sarpeshkar - 2010
    It discusses fundamental principles and circuits for ultra low power electronic design and their applications in biomedical systems. It also discusses how ultra-energy-efficient cellular and neural systems in biology can inspire revolutionary low power architectures in mixed-signal and RF electronics. The book presents a unique, unifying view of ultra low power analog and digital electronics and emphasizes the use of the ultra-energy-efficient subthreshold regime of transistor operation in both. Chapters on batteries, energy harvesting, and the future of energy provide an understanding of fundamental relationships between energy use and energy generation at small scales and at large scales. A wealth of insights and examples from brain implants, cochlear implants, bio-molecular sensing, cardiac devices, and bio-inspired systems make the book useful and engaging for students and practicing engineers.

Replication: Theory and Practice


Bernadette Charron-Bost - 2010
    Although these communities have traditionally looked at replication from different viewpoints and with different goals (e.g., performance versus fault tolerance), recent developments have led to a convergence of these different goals. The objective of this state-of-the-art survey is not to speculate about the future of replication, but rather to understand the present, to make an assessment of approximately 30 years of research on replication, and to present a comprehensive view of the achievements made during this period of time.This book is the outcome of the seminar entitled A 30-Year Perspective on Replication, which was held at Monte Verita, Ascona, Switzerland, in November 2007. The book is organized in 13 self-contained chapters written by most of the people who have contributed to developing state-of-the-art replication techniques. It presents a comprehensive view of existing solutions, from a theoretical as well as from a practical point of view. It covers replication of processes/objects and of databases; replication for fault tolerance and replication for performance - benign faults and malicious (Byzantine) faults - thus forming a basis for both professionals and students of distributed computing, distributed systems, and databases."

Image Processing: The Fundamentals


Maria Petrou - 2010
    New material includes image processing and colour, sine and cosine transforms, Independent Component Analysis (ICA), phase congruency and the monogenic signal and several other new topics. These updates are combined with coverage of classic topics in image processing, such as orthogonal transforms and image enhancement, making this a truly comprehensive text on the subject. Key features:Presents material at two levels of difficulty: the main text addresses the fundamental concepts and presents a broad view of image processing, whilst more advanced material is interleaved in boxes throughout the text, providing further reference for those who wish to examine each technique in depth. Contains a large number of fully worked out examples. Focuses on an understanding of how image processing methods work in practice. Illustrates complex algorithms on a step-by-step basis, and lists not only the good practices but also identifies the pitfalls in each case. Uses a clear question and answer structure. Includes a CD containing the MATLAB(R) code of the various examples and algorithms presented in the book. There is also an accompanying website with slides available for download for instructors as a teaching resource. Image Processing: The Fundamentals, Second Edition is an ideal teaching resource for both undergraduate and postgraduate students. It will also be of value to researchers of various disciplines from medicine to mathematics with a professional interest in image processing

Cambridge IGCSE ICT Coursebook [with CD-ROM]


Chris Leadbetter - 2010
    Cambridge IGCSE ICT provides valuable and practical support for students. Written by experienced authors, the Coursebook with CD-ROM features questions and tasks throughout to reinforce learning, and a selection of past exam questions to help students develop and practise their exam techniques. This new Coursebook includes content that is accessible and challenging to all ability levels. A Teachers Resource CD-ROM is also available, providing formative assessment; theory and practical tests; and teaching notes.

Introduction to High Performance Computing for Scientists and Engineers


Georg Hager - 2010
    From working in a scientific computing center, the authors gained a unique perspective on the requirements and attitudes of users as well as manufacturers of parallel computers.The text first introduces the architecture of modern cache-based microprocessors and discusses their inherent performance limitations, before describing general optimization strategies for serial code on cache-based architectures. It next covers shared- and distributed-memory parallel computer architectures and the most relevant network topologies. After discussing parallel computing on a theoretical level, the authors show how to avoid or ameliorate typical performance problems connected with OpenMP. They then present cache-coherent nonuniform memory access (ccNUMA) optimization techniques, examine distributed-memory parallel programming with message passing interface (MPI), and explain how to write efficient MPI code. The final chapter focuses on hybrid programming with MPI and OpenMP.Users of high performance computers often have no idea what factors limit time to solution and whether it makes sense to think about optimization at all. This book facilitates an intuitive understanding of performance limitations without relying on heavy computer science knowledge. It also prepares readers for studying more advanced literature.Read about the authors' recent honor: Informatics Europe Curriculum Best Practices Award for Parallelism and Concurrency

A Dictionary of Computing


Oxford University Press - 2010
    The Dictionary of Computing has been fully revised by a team of computer specialists, making it the most up-to-date and authoritative guide to computing on the market today. With expanded coverage of networking and databases, addition of biographical entries, and feature spreads on key topics such as XML, it is a comprehensive reference work containing over 6,500 entries that is as useful for home and office users as it is indispensable for students of computing. This edition now features recommended web links for many entries, found on the regularly updated Dictionary of Computing companion website, which provides further valuable and up-to-date information. The Dictionary offers wide coverage of computer terms in industry, school, work, education, and the home, including the Internet, multimedia, networks and databases, and security. Terms are defined in a clear and concise manner with helpful examples where relevant. This dictionary is ideal not only for students of computing but for those studying the related fields of IT, mathematics, physics, media communications, electronic engineering, and natural sciences.

Modern Computer Arithmetic


Richard P. Brent - 2010
    Brent and Zimmermann present algorithms that are ready to implement in your favorite language, while keeping a high-level description and avoiding too low-level or machine-dependent details. The book is intended for anyone interested in the design and implementation of efficient high-precision algorithms for computer arithmetic, and more generally efficient multiple-precision numerical algorithms. It may also be used in a graduate course in mathematics or computer science, for which exercises are included. These vary considerably in difficulty, from easy to small research projects, and expand on topics discussed in the text. Solutions are available from the authors.

Numerical Methods for Ordinary Differential Equations: Initial Value Problems


David F. Griffiths - 2010
    Written for undergraduate students with a mathematical background, this book focuses on the analysis of numerical methods without losing sight of the practical nature of the subject.It covers the topics traditionally treated in a first course, but also highlights new and emerging themes. Chapters are broken down into `lecture' sized pieces, motivated and illustrated by numerous theoretical and computational examples.Over 200 exercises are provided and these are starred according to their degree of difficulty. Solutions to all exercises are available to authorized instructors.The book covers key foundation topics:o Taylor series methodso Runge--Kutta methodso Linear multistep methodso Convergenceo Stabilityand a range of modern themes:o Adaptive stepsize selectiono Long term dynamicso Modified equationso Geometric integrationo Stochastic differential equationsThe prerequisite of a basic university-level calculus class is assumed, although appropriate background results are also summarized in appendices. A dedicated website for the book containing extra information can be found via www.springer.com

Adobe Photoshop CS5 Digital Classroom


Jennifer Smith - 2010
    This full-color book and DVD work together to create an entire Photoshop training class that photographers, Web More... designers, and graphic designers can complete at their own pace. Thirteen lessons cover the features and capabilities of the newest version of Photoshop while teaching all the essential skills. Photoshop is the image-editing software preferred by professional photographers and designers around the world; the latest version includes new functionality and enhanced tools Each of the 13 lessons developed by Adobe certified instructors includes step-by-step instructions, lesson files, and video tutorials on the DVD Covers Adobe Bridge, Camera RAW, masks and layers, painting and retouching, selections and layers, and more, taking you from the basics through intermediate-level skills Photoshop Digital Classroom allows you to learn Photoshop from the experts who create official Adobe training materials, and do it at your own speed.

Complex-Valued Neural Networks: Advances and Applications


Akira Hirose - 2010
    They are highly suitable for processing complex amplitude, composed of amplitude and phase, which is one of the core concepts in physical systems to deal with electromagnetic, light, sonic/ultrasonic waves as well as quantum waves, namely, electron and superconducting waves. This fact is a critical advantage in practical applications in diverse fields of engineering, where signals are routinely analyzed and processed in time/space, frequency, and phase domains.Complex-Valued Neural Networks: Advances and Applications covers cutting-edge topics and applications surrounding this timely subject. Demonstrating advanced theories with a wide range of applications, including communication systems, image processing systems, and brain-computer interfaces, this text offers comprehensive coverage of:Conventional complex-valued neural networks Quaternionic neural networks Clifford-algebraic neural networks Presented by international experts in the field, Complex-Valued Neural Networks: Advances and Applications is ideal for advanced-level computational intelligence theorists, electromagnetic theorists, and mathematicians interested in computational intelligence, artificial intelligence, machine learning theories, and algorithms.

Data-Intensive Text Processing with Mapreduce


Jimmy Lin - 2010
    Processing the enormous quantities of data necessary for these advances requires large clusters, making distributed computing paradigms more crucial than ever. MapReduce is a programming model for expressing distributed computations on massive datasets and an execution framework for large-scale data processing on clusters of commodity servers. The programming model provides an easy-to-understand abstraction for designing scalable algorithms, while the execution framework transparently handles many system-level details, ranging from scheduling to synchronization to fault tolerance. This book focuses on MapReduce algorithm design, with an emphasis on text processing algorithms common in natural language processing, information retrieval, and machine learning. We introduce the notion of MapReduce design patterns, which represent general reusable solutions to commonly occurring problems across a variety of problem domains. This book not only intends to help the reader "think in MapReduce," but also discusses limitations of the programming model as well. Table of Contents: Introduction / MapReduce Basics / MapReduce Algorithm Design / Inverted Indexing for Text Retrieval / Graph Algorithms / EM Algorithms for Text Processing / Closing Remarks

Algorithmic Randomness and Complexity


Rodney G. Downey - 2010
    This theory was initiated by Turing, Grzegorczyk, Lacombe, Banach and Mazur and has seen rapid growth in recent years. br Computability and complexity theory are two central areas of research in theoretical computer science. Until recently, most work in these areas concentrated on problems over discrete structures, but there has been enormous growth of computability theory and complexity theory over the real numbers and other continuous structures, especially incorporating concepts of "randomness." One reason for this growth is that more and more computation problems over the real numbers are being dealt with by computer scientists#151;in computational geometry and in the modeling of dynamical and hybrid systems. Scientists working on these questions come from such diverse fields as theoretical computer science, domain theory, logic, constructive mathematics, computer arithmetic, numerical mathematics, and analysis.br An essential resource for all researchers in theoretical computer science, logic, computability theory and complexity.

Advanced Bash Scripting Guide 5.3 Volume 2


Mendel Cooper - 2010
    Advanced Bash Scripting Guide is the definitive guide to the Bourne Again Shell.

Computational Topology: An Introduction


Herbert Edelsbrunner - 2010
    

Principles of Html, Xhtml, and DHTML: The Web Technologies Series


Don Gosselin - 2010
    The book will also include enhanced coverage of DHTML, as HTML, X/HTML, and DHTML are commonly taught in the same course. Each chapter provides clear, non-technical explanations of the important concepts and techniques of a particular language or tool. The focus, however, is on learning-by-doing as students complete typical Web authoring tasks, such as adding tables to Web pages.

Sparse and Redundant Representations: From Theory to Applications in Signal and Image Processing


Michael Elad - 2010
    " This principle enabled scientists to select the "best" physical laws and theories to explain the workings of the Universe and continued to guide scienti?c research, leadingtobeautifulresultsliketheminimaldescriptionlength approachtostatistical inference and the related Kolmogorov complexity approach to pattern recognition. However, notions of complexity and description length are subjective concepts anddependonthelanguage"spoken"whenpresentingideasandresults. The?eldof sparse representations, that recently underwent a Big Bang like expansion, explic itly deals with the Yin Yang interplay between the parsimony of descriptions and the "language" or "dictionary" used in them, and it became an extremely exciting area of investigation. It already yielded a rich crop of mathematically pleasing, deep and beautiful results that quickly translated into a wealth of practical engineering applications. You are holding in your hands the ?rst guide book to Sparseland, and I am sure you'll ?nd in it both familiar and new landscapes to see and admire, as well as ex cellent pointers that will help you ?nd further valuable treasures. Enjoy the journey to Sparseland! Haifa, Israel, December 2009 Alfred M. Bruckstein vii Preface This book was originally written to serve as the material for an advanced one semester (fourteen 2 hour lectures) graduate course for engineering students at the Technion, Israel.

The It Handbook for Business: Managing Information Technology Support Costs


William C. Couie - 2010
    A large portion of these expenditures can be greatly reduced, and even eliminated, by simply educating the business-person on IT support procedures. The IT Handbook for Business was written to give you an inside look at the practices of the Information Technology support industry. Filled with an enormous amount of money-saving information and techniques, this book is a must-have for the business owner, manager, and professional. You will learn techniques that will raise your information technology "IQ" on subjects, such as: How to interview an IT firm What a quote and invoice should look like How to spot scams and unfair billing practices Save time, increase reliability, reduce costs, and enhance productivity. Written by an IT professional with more than 30 years experience, The IT Handbook for Business will be your desktop companion for years to come. You will not find this information anywhere else!

Computers Are Your Future, Complete


Catherine LaBerta - 2010
    Extensive images paired with a definition-driven format supply the reader with a practical approach to computers. Includes chapters and highlights on computer ethics, internet, e-commerce, system and application software, systems analysis and design. Contains an acronym finder and Concept Tips at the end of each chapter. Ideal for students and professionals seeking a comprehensive computer technology reference

GPU Pro: Advanced Rendering Techniques


Wolfgang Engel - 2010
    Brought to you by Wolfgang Engel and the same team of editors who made the ShaderX series a success, this volume covers advanced rendering techniques, engine design, GPGPU techniques, related mathematical techniques, and game postmortems. A special emphasis is placed on handheld programming to account for the increased importance of graphics on mobile devices, especially the iPhone and iPod touch.Example programs and source code can be downloaded from the book's CRC Press web page.

Library and Information Science Introduction: Association Des Bibliophiles Universels, Westerville Public Library


Source Wikipedia - 2010
    Pages: 106. Chapters: Association des Bibliophiles Universels, Westerville Public Library, NIST Special Publication 800-53, Library instruction, King County Library System, Charles E. Stevens American Atheist Library and Archives, Document theft, Content format, University of Rajasthan Library, Archival Resource Key, Iraqi Virtual Science Library, Christian Classics Ethereal Library, Woodrow Wilson Presidential Library, Public Libraries, Chained library, National Szechenyi Library, List of national archives, Canadian Library Association, Perkins School for the Blind, Duke University Library System, Electronic resource management, UIUC Graduate School of Library and Information Science, San Jose Public Library, Thayer Public Library, SS. Cyril and Methodius National Library, Bob Berring, Taylor Institution, Nebraska Library Commission, Colorado Alliance of Research Libraries, Desasevini Grameena Vayanasala, Amerika-Gedenkbibliothek, National Library of Brazil, Derby Central Library, Ask a Librarian, Biblical Manuscripts in the Freer Collection, Citation Style Language, Digital asset, National Library of Myanmar, GRETIL, National Library of Finland, Delhi Public Library, Wirtz Labor Library, American Archivist, Oslo Public Library, Uniform title, Northwestern University Library, T y Bunko, Biodiversity Heritage Library, National Library of Iran, Bibliographic record, Women's Studies Resource Centre, Library of the Russian Academy of Sciences, Biblioteca Nacional de Portugal, Nietzsche-Archiv, Rolf Griebel, Northern New York Library Network, Georgina Cole Library, Index term, National Library of Norway, Oro Valley Public Library, Tyndale House, Research Libraries UK, Pierce County Library System, Kitsap Regional Library, National Library of Albania, Vancouver Island Regional Library, Stanley Memorial Library, Library for Iranian Studies, ...

The Effective Organization: Practical Application of Complexity Theory and Organizational Design to Maximize Performance in the Face of Emerging Events


Dennis W. Tafoya - 2010
    Through performance organizations meet the needs of internal and external stakeholders as defined by their mission, goals and objectives. This is true for all organizations. If a retailer won't stock goods a customer wants, the customer will shop elsewhere. If a religious organization does not meet the needs of its followers, they leave. If a cult doesn't meet the needs of its memberships they seek their goal fulfillment elsewhere. If a manufacturing center can't produce goods that meet customer standards, the customer will reject it.Complexity theory, a tool used to examine the nature of dynamic systems like organizations, can contribute to our understanding of organizations and ways to improve their performance. The models and material outlined in the book illustrate ways competency and organizational programs, processes and procedures are used to manage emerging risks, threats and vulnerabilities that challenge today's organizations. Collectively this information enables the identification of individual organization profiles as a way to advance our understanding of an important theory, complexity, in an applied setting -- organizations.Unique typologies describing organizations (four types), events that effect organizations (six types) and the fundamental structure for organizations are presented to enable the forecasting of an organization's capacity to manage different events as they emerge and how behavior organizes around these events. Academicians studying organizations and practitioners interested in improving them can use this information to facilitate baseline, descriptive thinking and analysis or more sophisticated examinations aimed at understanding the dynamic nature of organizations as fully functioning systems.At the heart of the effort is the examination of what it takes to get the performance needed to achieve a vision or mission and why, despite planning, training and evaluation, few organizations can guarantee or maintain desired levels of performance when faced with events, routine to extreme, that shape their existence. Particular emphasis is placed on understanding how knowledge, evaluation, information and, communication management practices need to be tailored to fit particular organizations rather than treated as a "one size fits all" approach. These are not limited, theoretical discussions but are presented as ways to efficiently talk about an individual organization's profile or competencies within a class of, or in contrast to, other organizations.

Cellular Automata and Groups


Tullio Ceccherini-Silberstein - 2010
    This book presents a self-contained exposition of the theory of cellular automata on groups and explores its deep connections with recent developments in geometric group theory and other branches of mathematics and theoretical computer science.

AI Approaches to the Complexity of Legal Systems: Complex Systems, the Semantic Web, Ontologies, Argumentation, and Dialogue


Pompeu Casanovas - 2010
    The papers are organized in sections on language and complex systems in law, ontologies and the representation of legal knowledge, argumentation and logics.

Machine Learning Approaches To Bioinformatics (Science, Engineering, And Biology Informatics)


Zheng Rong Yang - 2010
    The book succeeds on two key unique features. First, it introduces the most widely used machine learning approaches in bioinformatics and discusses, with evaluations from real case studies, how they are used in individual bioinformatics projects. Second, it introduces state-of-the-art bioinformatics research methods. The theoretical parts and the practical parts are well integrated for readers to follow the existing procedures in individual research.Unlike most of the bioinformatics books on the market, the content coverage is not limited to just one subject. A broad spectrum of relevant topics in bioinformatics including systematic data mining and computational systems biology researches are brought together in this book, thereby offering an efficient and convenient platform for teaching purposes.An essential reference for both final year undergraduates and graduate students in universities, as well as a comprehensive handbook for new researchers, this book will also serve as a practical guide for software development in relevant bioinformatics projects.

Multi Core Programming Increasing Performance Through Software Multithreading


Shameem Akhter - 2010
    Multi-core architectures have a single processor package that contains two or more processor "execution cores," or computational engines, and deliver - with appropriate software - fully parallel execution of multiple software threads. Hyper-Threading Technology enables additional threads to operate on each core.This book helps software developers write high-performance multi-threaded code for Intel's multi-core architecture while avoiding the common parallel programming issues associated with multi-threaded programs.Highlights Include: Elements of parallel programming and multi-threading, Programming with threading APIs, OpenMP: The portable solution, Solutions to common parallel programming problems, Debugging and testing multi-threaded applications, Software development tools for multi-threadingThis book is a practical, hands-on volume with immediately usable code examples that enable readers to quickly master the necessary programming techniques. The companion Web site contains pointers to threading and optimization tools, code samples from the book, and extensive technical documentation on Intel multi-core architecture.

Elements of Scientific Computing


Aslak Tveito - 2010
    The computational approach to understanding nature and technology is currently flowering in many fields such as physics, geophysics, astrophysics, chemistry, biology, and most engineering disciplines. This book is a gentle introduction to such computational methods where the techniques are explained through examples. It is our goal to teach principles and ideas that carry over from field to field. You will learn basic methods and how to implement them. In order to gain the most from this text, you will need prior knowledge of calculus, basic linear algebra and elementary programming.

Green IT for Sustainable Business Practice: An ISEB Foundation Guide


Mark O'Neill - 2010
    There is consensus in the industry that organisations have a responsibility to cut their emissions and legislation is in place to make this mandatory. The book provides the tools to create an action list of Green IT requirements. It is primarily aimed at IT service providers but also contains advice for the general IT user.

Trust Theory: A Socio-Cognitive and Computational Model


Cristiano Castelfranchi - 2010
    The authors explain the concepts of trust, and describe a principled, general theory of trust grounded on cognitive, cultural, institutional, technical, and normative solutions. This provides a strong base for the author's discussion of role of trust in agent-based systems supporting human-computer interaction and distributed and virtual organizations or markets (multi-agent systems).Key Features: Provides an accessible introduction to trust, and its importance and applications in agent-based systems Proposes a principled, general theory of trust grounding on cognitive, cultural, institutional, technical, and normative solutions. Offers a clear, intuitive approach, and systematic integration of relevant issues Explains the dynamics of trust, and the relationship between trust and security Offers operational definitions and models directly applicable both in technical and experimental domains Includes a critical examination of trust models in economics, philosophy, psychology, sociology, and AIThis book will be a valuable reference for researchers and advanced students focused on information and communication technologies (computer science, artificial intelligence, organizational sciences, and knowledge management etc.), as well as Web-site and robotics designers, and for scholars working on human, social, and cultural aspects of technology. Professionals of ecommerce systems and peer-to-peer systems will also find this text of interest.

Embedded Systems Design with Platform FPGAs: Principles and Practices


Ronald R. Sass - 2010
    The focus is on embedded systems but it also serves as a general guide to building custom computing systems.The text describes the fundamental technology in terms of hardware, software, and a set of principles to guide the development of Platform FPGA systems. The goal is to show how to systematically and creatively apply these principles to the construction of application-specific embedded system architectures. There is a strong focus on using free and open source software to increase productivity. Each chapter is organized into two parts. The white pages describe concepts, principles, and general knowledge. The gray pages provide a technical rendition of the main issues of the chapter and show the concepts applied in practice. This includes step-by-step details for a specific development board and tool chain so that the reader can carry out the same steps on their own.Rather than try to demonstrate the concepts on a broad set of tools and boards, the text uses a single set of tools (Xilinx Platform Studio, Linux, and GNU) throughout and uses a single developer board (Xilinx ML-510) for the examples.

Computability Theory: An Introduction to Recursion Theory


Herbert B. Enderton - 2010
    The basic concepts and techniques of computability theory are placed in their historical, philosophical and logical context. This presentation is characterized by an unusual breadth of coverage and the inclusion of advanced topics not to be found elsewhere in the literature at this level. The text includes both the standard material for a first course in computability and more advanced looks at degree structures, forcing, priority methods, and determinacy. The final chapter explores a variety of computability applications to mathematics and science. Computability Theory is an invaluable text, reference, and guide to the direction of current research in the field. Nowhere else will you find the techniques and results of this beautiful and basic subject brought alive in such an approachable way.

Introduction to Arabic Natural Language Processing (Synthesis Lectures on Human Language Technologies)


Nizar Habash - 2010
    The goal is to introduce Arabic linguistic phenomena and review the state-of-the-art in Arabic processing. The book discusses Arabic script, phonology, orthography, morphology, syntax and semantics, with a final chapter on machine translation issues. The chapter sizes correspond more or less to what is linguistically distinctive about Arabic, with morphology getting the lion's share, followed by Arabic script. No previous knowledge of Arabic is needed. This book is designed for computer scientists and linguists alike. The focus of the book is on Modern Standard Arabic; however, notes on practical issues related to Arabic dialects and languages written in the Arabic script are presented in different chapters. Table of Contents: What is "Arabic"? / Arabic Script / Arabic Phonology and Orthography / Arabic Morphology / Computational Morphology Tasks / Arabic Syntax / A Note on Arabic Semantics / A Note on Arabic and Machine Translation

Complete Idiot's Guide to iPad & iPhone App Development


Troy Brant - 2010
    It is fully up to date with all the necessary technological and application know-how to allow you to easily realise your ideas.Pick up The Complete Idiot's Guide® to iPad™ & iPhone™ App Development and turn your great idea into the next big app sensation.

Selected Papers on Design of Algorithms


Donald Ervin Knuth - 2010
    His award-winning textbooks have become classics that are often given credit for shaping the field; his scientific papers are widely referenced and stand as milestones of development over a wide variety of topics. The present volume, which is the seventh in a series of his collected papers, is devoted to his work on the design of new algorithms. It covers methods for numerous discrete problems such as sorting, searching, data compression, optimization, theorem-proving, and cryptography, as well as methods for controlling errors in numerical computations and for Brownian motion.Nearly thirty of Knuth’s classic papers on the subject are collected in this book, brought up to date with extensive revisions and notes on subsequent developments. Many of these algorithms have seen wide use—for example, Knuth’s algorithm for optimum search trees, the Faller-Gallagher-Knuth algorithm for adaptive Huffman coding, the Knuth-Morris-Pratt algorithm for pattern matching, the Dijkstra-Knuth algorithm for optimum expressions, and the Knuth-Bendix algorithm for deducing the consequences of axioms. Others are pedagogically important, helping students to learn how to design new algorithms for new tasks. One or two are significant historically, as they show how things were done in computing’s early days. All are found here, together with more than forty newly created illustrations.

Coding: On Software Design Process


Jonathan Locke - 2010
    He relates new ideas and methods that you can use to discover and refine your own best coding process.

Malware Forensics Field Guide for Windows Systems: Digital Forensics Field Guides


Cameron H. Malin - 2010
    Written by information security experts with real-world investigative experience, Malware Forensics Field Guide for Windows Systems is a "tool" with checklists for specific tasks, case studies of difficult situations, and expert analyst tips.*A condensed hand-held guide complete with on-the-job tasks and checklists *Specific for Windows-based systems, the largest running OS in the world *Authors are world-renowned leaders in investigating and analyzing malicious code