Books about Programming Languages

.NET Compact Framework Pocket Guide

£5.56
Image of .NET Compact Framework Pocket Guide

Wei-Meng Lee; ISBN: 0-596-00757-4

The rapid proliferation of mobile networks for both public use and private has made connectivity-on-the-go a desirable, if not absolutely essential, condition. Nor is this mobility limited to laptops: everywhere you look, people are downloading email and other information directly to their cell phones and PDAs. For developers, this means an increased demand to create applications for mobile devices. Microsoft's .NET Compact Frameworks provides a full suite of powerful tools to help them get the job done.

The .NET Compact Framework--a scaled down version of Microsoft's .NET Framework--offers a powerful programming environment for designing rich applications for the Pocket PC or Windows Mobile-based Smartphones. If you're familiar with the .NET Framework, you'll feel right at home in the .NET Compact Framework. You'll find the perfect way to jumpstart your productivity in our new .NET Compact Framework Pocket Guide. As with all of our popular Pocket Guides, this concise book delivers just the information you need without all the fluff.

The .Net Compact Framework Pocket Guide provides a brief introduction to the framework and includes several projects to get you up to speed quickly. In this book you'll learn:

  • The basics of programming for the .NET Compact Framework using Visual Studio .NET 2003; you'll be up and running with Hello, World in no time at all
  • User interface design considerations for the Pocket PC, Pocket PC Phone Edition, and Windows Mobile-based Smartphone
  • How to consume web services from .NET Compact Framework applications
  • How to cache on-line data for use when the mobile device is out of range of a network
  • How to write applications that use Bluetooth.

Whether you're new to mobile programming or new to Visual Studio .NET 2003, the .NET Compact Framework Pocket Guide will teach what you need to know to get started developing mobile applications.



AI for Game Developers

£22.80
Image of AI for Game Developers

David M. Bourg and Glenn Seeman; ISBN: 0-596-00555-5

Advances in 3D visualization and physics-based simulation technology make it possible for game developers to create compelling, visually immersive gaming environments that were only dreamed of years ago. But today's game players have grown in sophistication along with the games they play. It's no longer enough to wow your players with dazzling graphics; the next step in creating even more immersive games is improved artificial intelligence, or AI.

Fortunately, advanced AI game techniques are within the grasp of every game developer--not just those who dedicate their careers to AI. If you're new to game programming or if you're an experienced game programmer who needs to get up to speed quickly on AI techniques, you'll find AI for Game Developers to be the perfect starting point for understanding and applying AI techniques to your games.

Written for the novice AI programmer, AI for Game Developers introduces you to techniques such as finite state machines, fuzzy logic, neural networks, and many others, in straightforward, easy-to-understand language, supported with code samples throughout the entire book (written in C/C++). From basic techniques such as chasing and evading, pattern movement, and flocking to genetic algorithms, the book presents a mix of deterministic (traditional) and non-deterministic (newer) AI techniques aimed squarely at beginners AI developers. Other topics covered in the book include:

  • Potential function based movements: a technique that handles chasing, evading swarming, and collision avoidance simultaneously
  • Basic pathfinding and waypoints, including an entire chapter devoted to the A* pathfinding algorithm
  • AI scripting
  • Rule-based AI: learn about variants other than fuzzy logic and finite state machines
  • Basic probability
  • Bayesian techniques

Unlike other books on the subject, AI for Game Developers doesn't attempt to cover every aspect of game AI, but to provide you with usable, advanced techniques you can apply to your games right now. If you've wanted to use AI to extend the play-life of your games, make them more challenging, and most importantly, make them more fun, then this book is for you.



BEEP: The Definitive Guide

£19.96
Image of BEEP: The Definitive Guide

Marshall T. Rose; ISBN: 0-596-00244-0

If you need to design a protocol that really fits your application, you want BEEP--an integrated collection of building blocks that gives you "best in class" data transmission solutions for everything from framing to security. Whether you're writing a simple "fetch" client/server application or a multi-threaded peer-to-peer relaying system, BEEP provides the necessary functionality without extra overhead.

BEEP gives network developers what they've long needed: a standard toolkit for building protocols quickly and conveniently. For the first time, it's possible to create an application protocol that's tightly tuned to the application's requirements, so you can avoid reinventing the wheel.

Written by BEEP creator Marshall Rose, BEEP: The Definitive Guide is the only book on the subject--a compendium straight from the horse's mouth. This book shows you what BEEP is for and, more important, how to put it to use. After explaining concepts underlying the BEEP protocol, Rose shows you how to use the BEEP implementation in Java, C, and Tcl. You'll learn to build several working applications that use BEEP as a transport, including an implementation of the reliable SYSLOG protocol and an implementation of a BEEP transport for SOAP.

Although BEEP was standardized in 2001, different groups are already using it for SOAP exchanges, intrusion detection, instant messaging, network auditing, remote calendaring, and secure credential exchange. These groups work on different problems, but what they have in common is a simple desire to focus on the problem domain instead of the tedious details of protocol overhead. If you're a network developer, you need to become familiar with this important new tool.



C# Cookbook

£28.40
Image of C# Cookbook

Stephen Teilhet and Jay Hilyard; ISBN: 0-596-00339-0

Easy to learn and use, the C# language is targeted at developers for Microsoft's .NET platform who've worked with a C-like language before, such as C, C++, or Java. There's no shortage of excellent tutorials and documentation to help new developers get a handle on the language, such as O'Reilly's Learning C# or Programming C#. But when you need practical answers to the day-to-day questions you run up against, a tutorial isn't going to do the trick. The C# Cookbook gets straight to the heart of the problem with code recipes collected especially for developers working on the .NET platform.

The C# Cookbook offers a definitive collection of solutions and examples for this new programming language. Recipes range from simple tasks to the more complex, and are organized with respect to the types of problems you'll need to solve as you progress in your experience as a C# programmer. Nearly every recipe contains a complete, documented code sample showing you how to solve the specific problem, as well as a discussion of how the underlying technology works and a discussion of alternatives, limitations, and other considerations where appropriate.

The recipes in the C# Cookbook are organized into seventeen chapters, each of which focuses on a particular topic in creating C# solutions. Among the topics covered, you'll find:

  • Numeric data types in C#
  • Strings and characters
  • Classes and structures
  • Exception handling
  • Delegates and events
  • Regular expressions
  • Data structures and algorithms
  • Networking
  • Security
  • Unsafe Code

You don't need to be an experienced C# or .NET developer to use this book. The C# Cookbook is designed for users of all levels with recipes targeted at the real-world developer who needs to solve problems now, not learn lots of theory first. With this guide, all developers will be able to learn and improve their mastery of both the language and the .NET Framework Class Libraries.



C# Language Pocket Reference

£5.56
Image of C# Language Pocket Reference

Peter Drayton,Ben Albahari and Ted Neward; ISBN: 0-596-00429-X

C# programmers all have one thing in common -- they're learning a new language. That fact alone brings challenges, frustrations, and constant demands on your patience. And, no matter how good your reference books are, you can't always stop to thumb through hundreds of pages to find the piece of information you need. Your answer is the C# Language Pocket Reference. Concise and easy to use, this handy pocket guide to C# comes from the authors of C# in a Nutshell, and is a must-have quick reference for anyone implementing this new object-oriented language.

The C# Language Pocket Reference offers the convenience of a quick reference in a format that will actually fit in your pocket. The book includes a guide to C# language elements, a brief overview of the Framework Class library, a cross-reference for namespaces and assemblies, a list of compiler syntax and switches, a regular expressions reference guide, and more. You'll be surprised at how much information can fit into this slim volume.

O'Reilly's Pocket References have become a favorite among programmers everywhere. By providing a wealth of important details in a concise, well-organized format, these handy books deliver just what you need to complete the task at hand. When you've reached a sticking point in your work and need to get to a solution quickly, the new C# Language Pocket Reference is the book you'll want to have.



CJKV Information Processing

£39.96
Image of CJKV Information Processing

Ken Lunde; ISBN: 1-56592-224-7

CJKV Information Processing is the definitive guide for tackling the difficult issues faced when dealing with complex Asian languages -- Chinese, Japanese, Korean, and Vietnamese -- in the context of computing or Internet services.

Unlike the English alphabet with a mere 26 letters, these complex writing systems use multiple alphabets comprising thousands of characters. Handling such an unwieldy amount of data is formidable and complex. Until now, working with these writing systems was an unattainable task to most, but this book clarifies the issues, even to those who don't understand East Asian languages.

This new book contains revised information from Ken Lunde's first book, Understanding Japanese Information Processing, and supplements each chapter with meticulous details about how the Chinese (hanzi), Japanese (kana and kanji), Korean (hangul and hanja), and Vietnamese (Quoc ngu, chu Nom, and chu Han) writing systems have been implemented on contemporary computer systems. This book is unique in that it does not simply rattle off information that can be found in other sources, but rather it provides the reader with hitherto unexplained insights into how these complex writing systems have been adapted for use on computers, and provides the user and developer alike with useful and time-saving tips and techniques.

Information on today's hot topics, such as how these writing systems impact contemporary Internet resources like the Web, HTML, XML, Java, and Adobe Acrobat, is also provided.

This book is of incalculable value for the developer, programmer, user, and researcher -- anyone who comes into contact with these characters in the context of computers or the Internet needs this book. Topics covered in this book include:

  • Writing systems
  • Character set standards
  • Encoding methods
  • Input methods
  • Font formats
  • Typography
  • Output methods
  • Programming and code conversion techniques
  • Dictionaries and dictionary software

This volume also contains a host of valuable appendixes, such as code conversion tables, character set tables, character set indexes, mapping tables, Perl code examples, a glossary, and a detailed bibliography.



Enterprise Service Bus

£22.80
Image of Enterprise Service Bus

Dave Chappell; ISBN: 0-596-00675-6

Large IT organizations increasingly face the challenge of integrating various web services, applications, and other technologies into a single network. The solution to finding a meaningful large-scale architecture that is capable of spanning a global enterprise appears to have been met in ESB, or Enterprise Service Bus. Rather than conform to the hub-and-spoke architecture of traditional enterprise application integration products, ESB provides a highly distributed approach to integration, with unique capabilities that allow individual departments or business units to build out their integration projects in incremental, digestible chunks, maintaining their own local control and autonomy, while still being able to connect together each integration project into a larger, more global integration fabric, or grid.

Enterprise Service Bus offers a thorough introduction and overview for systems architects, system integrators, technical project leads, and CTO/CIO level managers who need to understand, assess, and evaluate this new approach. Written by Dave Chappell, one of the best known and authoritative voices in the field of enterprise middleware and standards-based integration, the book drills down into the technical details of the major components of ESB, showing how it can utilize an event-driven SOA to bring a variety of enterprise applications and services built on J2EE, .NET, C/C++, and other legacy environments into the reach of the everyday IT professional.

With Enterprise Service Bus, readers become well versed in the problems faced by IT organizations today, gaining an understanding of how current technology deficiencies impact business issues. Through the study of real-world use cases and integration patterns drawn from several industries using ESB--including Telcos, financial services, retail, B2B exchanges, energy, manufacturing, and more--the book clearly and coherently outlines the benefits of moving toward this integration strategy. The book also compares ESB to other integration architectures, contrasting their inherent strengths and limitations.

If you are charged with understanding, assessing, or implementing an integration architecture, Enterprise Service Bus will provide the straightforward information you need to draw your conclusions about this important disruptive technology.



Exploring Expect

£19.96
Image of Exploring Expect

Don Libes; ISBN: 1-56592-090-2

Expect is quickly becoming a part of every UNIX user's toolbox. It allows you to automate Telnet, FTP, passwd, rlogin, and hundreds of other applications that normally require human interaction. Using Expect to automate these applications will allow you to speed up tasks and, in many cases, solve new problems that you never would have even considered before.

For example, you can use Expect to test interactive programs with no changes to their interfaces. Or wrap interactive programs with Motif-like front-ends to control applications by buttons, scrollbars, and other graphic elements with no recompilation of the original programs. You don't even need the source code! Expect works with remote applications, too. Use it to tie together Internet applications including Telnet, Archie, FTP, Gopher, and Mosaic.

Don Libes is the creator of Expect as well as the author of this book. In Exploring Expect, he provides a comprehensive tutorial on all of Expect's features, allowing you to put it immediately to work on your problems. In a down-to-earth and humorous style, he provides numerous examples of challenging real-world applications and how they can be automated using Expect to save you time and money.

Expect is the first of a new breed of programs based on Tcl, the Tool Command Language that is rocking the computer science community. This book provides an introduction to Tcl and describes how Expect applies Tcl's power to the new field of interaction automation. Whether your interest is in Expect or interaction automation or you simply want to learn about Tcl and see how it has been used in real software, you will find Exploring Expect a treasure trove of easy-to-understand and valuable information.



Extreme Programming Pocket Guide

£5.56
Image of Extreme Programming Pocket Guide

chromatic; ISBN: 0-596-00485-0

Extreme Programming (XP) is a radical new approach to software development that has been accepted quickly because its core practices--the need for constant testing, programming in pairs, inviting customer input, and the communal ownership of code--resonate with developers everywhere. Although many developers feel that XP is rooted in commonsense, its vastly different approach can bring challenges, frustrations, and constant demands on your patience.

Unless you've got unlimited time (and who does these days?), you can't always stop to thumb through hundreds of pages to find the piece of information you need. The Extreme Programming Pocket Guide is the answer. Concise and easy to use, this handy pocket guide to XP is a must-have quick reference for anyone implementing a test-driven development environment.

The Extreme Programming Pocket Guide covers XP assumptions, principles, events, artifacts, roles, and resources, and more. It concisely explains the relationships between the XP practices. If you want to adopt XP in stages, the Extreme Programming Pocket Guide will help you choose what to apply and when. You'll be surprised at how much practical information is crammed into this slim volume.

O'Reilly's Pocket Guides have become a favorite among developers everywhere. By providing a wealth of important details in a concise, well-organized format, these handy books deliver just what you need to complete the task at hand. When you've reached a sticking point in your work and need to get to a solution quickly, the new Extreme Programming Pocket Guide is the book you'll want to have beside your keyboard.



Head First Design Patterns

£25.56
Image of Head First Design Patterns

Eric Freeman,Elisabeth Freeman,Kathy Sierra and Bert Bates; ISBN: 0-596-00712-4

You're not alone.

At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun.

You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code.

You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design paddle pattern.

Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter.

With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts.

If you've read a Head First book, you know what to expect--a visually-rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.



Mastering Regular Expressions, 2nd Edition

£22.80
Image of Mastering Regular Expressions, 2nd Edition

Jeffrey E. F. Friedl; ISBN: 0-596-00289-0

Regular expressions are an extremely powerful tool for manipulating text and data. They have spread like wildfire in recent years, now offered as standard features in Perl, Java, VB.NET and C# (and any language using the .NET Framework), PHP, Python, Ruby, Tcl, MySQL, awk, Emacs, and many other popular tools and languages.

If you don't use regular expressions yet, you will discover in this book a whole new world of mastery over your data. If you already use them, you'll appreciate this book's unprecedented detail and breadth of coverage. If you think you know all you need to know about regular expressions, this book is a stunning eye-opener.

In spite their wide availability, flexibility, and unparalleled power, regular expressions are frequently underutilized. Regular expressions allow you to code complex and subtle text processing that you never imagined could be automated. Regular expressions can save you time and aggravation. They can be used to craft elegant solutions to a wide range of problems.

A command of regular expressions is an invaluable skill. Yet what is power in the hands of an expert can be fraught with peril for the unwary. Mastering Regular Expressions will help you navigate the minefield to becoming an expert. Once you've mastered regular expressions, they'll become an invaluable part of your toolkit. You will wonder how you ever got by without them.

Mastering Regular Expressions, Second Edition has been thoroughly updated to include all the new features of Perl 5.8, as well as several other languages, including Java, VB.NET, C#, Python, JavaScript, Tcl, and Ruby. Written in the lucid, entertaining tone that made a complex, dry topic crystal-clear to thousands of programmers, and sprinkled with solutions to complex real-world problems, Mastering Regular Expressions offers a wealth information that you can put to immediate use.

Topics include:

  • A comparison of features among different versions of many languages and tools
  • How the regular expression engine works
  • Optimization (major savings available here!)
  • Matching just what you want, but not what you don't want
  • Sections and chapters on individual languages


Mono: A Developer's Notebook

£14.00
Image of Mono: A Developer's Notebook

Edd Dumbill and Niel M. Bornstein; ISBN: 0-596-00792-2

The Mono Project is the much talked-about open source initiative to create a Unix implementation of Microsoft's .NET Development Framework. Its purpose is to allow Unix developers to build and deploy cross-platform .NET applications. The project has also sparked interest in developing components, libraries and frameworks with C#, the programming language of .NET.

The controversy? Some say Mono will become the preferred platform for Linux development, empowering Linux/Unix developers. Others say it will allow Microsoft to embrace, extend, and extinguish Linux. The controversy rages on, but--like many developers--maybe you've had enough talk and want to see what Mono is really all about.

There's one way to find out: roll up your sleeves, get to work, and see what you Mono can do. How do you start? You can research Mono at length. You can play around with it, hoping to figure things out for yourself. Or, you can get straight to work with Mono: A Developer's Notebook--a hands-on guide and your trusty lab partner as you explore Mono 1.0.

Light on theory and long on practical application, Mono: A Developer's Notebook bypasses the talk and theory, and jumps right into Mono 1.0. Diving quickly into a rapid tour of Mono, you'll work through nearly fifty mini-projects that will introduce you to the most important and compelling aspects of the 1.0 release. Using the task-oriented format of this new series, you'll learn how to acquire, install, and run Mono on Linux, Windows, or Mac OS X. You'll work with the various Mono components: Gtk#, the Common Language Runtime, the class libraries (both .NET and Mono-provided class libraries), IKVM and the Mono C# compiler. No other resource will take you so deeply into Mono so quickly or show you as effectively what Mono is capable of.

The new Developer's Notebooks series from O'Reilly covers important new tools for software developers. Emphasizing example over explanation and practice over theory, they focus on learning by doing--you'll get the goods straight from the masters, in an informal and code-intensive style that suits developers. If you've been curious about Mono, but haven't known where to start, this no-fluff, lab-style guide is the solution.



NUnit Pocket Reference

£5.56
Image of NUnit Pocket Reference

Bill Hamilton; ISBN: 0-596-00739-6

Few .NET developers have the luxury of unlimited code testing once their application is complete, and rushing through the testing process is both problematic and stressful. The open source NUnit framework provides an excellent and efficient way to test and improve .NET code as it's written, saving hundreds of QA hours and headaches.

NUnit is one of the most mature and widely-used .NET open source projects even Microsoft uses it internally. NUnit is a unit-testing framework for all .Net languages. Written entirely in C#, NUnit takes advantage of many .NET language features, such as custom attributes and other reflection related capabilities. It automates unit testing and reduces the effort required to frequently test code while developing it. NUint is invaluable for .NET developers in test-driven development under agile methodologies such as Extreme Programming (XP) as well as for developers who use for unit testing for software quality assurance. Unfortunately, some of those valuable hours saved by using NUnit can be wasted trying to master this powerful but under-documented framework

Proof that good things come in small packages, the NUnit Pocket Reference is a complete reference to NUnit, filling in the blanks left by the existing documentation and online discussion. It offers developers everything they need to know to install, configure, and use NUnit; the NUnit user interface; and a reference to the NUnit framework classes in a slim but well-organized package. This handy little book even offers practical, real world NUnit examples. And with the NUnit Pocket Reference, IT managers will know to expect when they implement unit testing in their projects. It is the only book you'll need on this popular and practical new open source framework.



POSIX Programmer's Guide

£22.80
Image of POSIX Programmer's Guide

Donald Lewine; ISBN: 0-937175-73-0

This guide, intended as an explanation of the POSIX standard and as a reference for the POSIX.1 programming library, helps you write more portable programs. Most UNIX systems today are POSIX compliant because the federal government requires it for its purchases. Even OSF and UI agree on support for POSIX.

Unfortunately, given the manufacturer's documentation, it can be difficult to distinguish system-specific features from those features defined by POSIX. The POSIX Programmer's Guide is especially helpful if you are writing programs that must run on multiple UNIX platforms. This guide also helps you convert existing UNIX programs for POSIX compliance.

Contents include:

  • Introduction to POSIX.

  • Basics of writing a POSIX-compliant program.

  • Input/output facilities of the Standard C library.

  • The file system as defined by POSIX.

  • Operations of POSIX Input/Output system, pipes, and FIFOs.

  • Creating and terminating processes and signals.

  • Obtaining information about the environment.

  • Communication line settings and a cu-like utility.

  • POSIX and Standard C, including features and portability pitfalls.

  • Internationalization.

  • Complete list of library functions in alphabetic order.

  • Complete list of data structures and their members.

  • All error codes.

  • Standard headers and the information that they define.

  • Related publications.



POSIX.4

£22.80
Image of POSIX.4

Bill Gallmeister; ISBN: 1-56592-074-0

What's "real-world programming"?

Real-world programming (typically called real-time programming) is programming that interacts in some way with the "real world" of daily life. At one time, real-time systems were confined to very esoteric applications, like rocket guidance systems. Now, they play a role in almost every aspect of life: they control the brakes on your car, video games, automatic bank tellers -- and the disk drive in your computer. It won't be long before mundane devices like toasters and hair dryers have microprocessors built in, to say nothing of multimedia devices that haven't even been invented yet.

Real-world applications are characterized by deadlines. If the brake processor in your car doesn't meet a deadline, your car doesn't stop; if your video game doesn't meet a deadline, the Klingons don't die when you shoot them; if your ATM doesn't meet a deadline, you may start looking for another bank. When you've just rear-ended another car, it's no consolation that a sudden flurry of input slowed down your brake processor, so it couldn't react quickly enough when you hit the pedal.

This book covers the POSIX.4 standard for portable real-time programming. The POSIX.4 standard itself is a massive document that defines system interfaces for asynchronous I/O, scheduling, communications, and other facilities. However, this book does more than explain the standard. It provides a general introduction to real-time programming and real-time issues: the problems software faces when it needs to interact with the real world and how to solve them. And, unlike most books about standards, this one isn't just readable -- it's enjoyable! If you're at all interested in real-time applications -- which include just about everything from telemetry to transaction processing -- this book will be an essential reference.

Chapters include:

  • The Basics of Real-Time: Multiple Tasks
  • Better Coordination: Messages, Shared Memory, and Synchronization
  • On Time: Scheduling, Time, and Memory Locking
  • I/O for the Real World

Includes programming exercises, solutions, and reference manual pages.



Packaged Composite Applications

£16.76
Image of Packaged Composite Applications

Dan Woods; ISBN: 0-596-00552-0

Today's corporate computing environment is too often characterized by silos of data in enterprise applications like ERP, CRM, and supply chain management. Integrating these applications involves hardwiring connections between them, often resulting in a rigid and inefficient IT infrastructure.

Packaged Composite Applications (PCAs) are an innovative answer to this dysfunctional scenario. Originated by SAP, one of the worlds foremost technology companies, PCAs represent a new architectural paradigm for enterprise computing. Using web services, they combine new functionality with services from existing applications to enable flexible, cross-functional automation. But is this new model right for your business? That's where this book comes in.

Packaged Composite Applications is the result of a systematic search through the brain trust of SAP for all of the relevant arguments, examples, concepts, and analogies related to Packaged Composite Applications. This book is not a marketing treatise about neatly-shaped colored boxes. It is not a backward-looking, outdated description of a product without context. This book, rather, combines the approach of a forward-looking analyst with the perspective of an executive who must make things work, without skimping on the relevant technical details. The author examines the ideas driving PCAs forward in the marketplace and the problems and solutions that an executive and technologist will encounter in implementation. The result is an authoritative text that allows all interested parties to assess the value of PCAs for their lives as executives, technologists, analysts, sales representatives, and users.



Palm OS Programming, 2nd Edition

£22.80
Image of Palm OS Programming, 2nd Edition

Neil Rhodes and Julie McKeehan; ISBN: 1-56592-856-3

With more than 16 million PDAs shipped to date, Palm has defined the market for handhelds, having dominated this class of computing devices ever since it began to outpace competitors six years ago. The company's strength is the Palm OS, and developers loyal to this powerful and versatile operating system have created more than 10,000 applications for it. Devices from Handspring, Sony, Symbol, HandEra, Kyocera, and Samsung now use Palm OS, and the number of registered Palm Developers has jumped to 130,000.

If you know C or C++, and want to join those who are satisfying the demand for wireless applications, then Palm OS Programming: The Developer's Guide, Second Edition is the book for you. With expanded coverage of the Palm OS--up to and including the latest version, 4.0--this new edition shows intermediate to experienced C programmers how to build a Palm application from the ground up. There is even useful information for beginners.

Everything you need to write a Palm OS application is here, from user interface design, to coding a handheld application, to writing an associated desktop conduit. All the major development environments are discussed, including commercial products such as Metroworks CodeWarrior, Java-based environments such as Sun KVM and IBM VisualAge Micro Edition, and the Free Software Foundation's PRC-Tools or GCC. The focus, however, is C programming with CodeWarrior and PRC-Tools. New additions to the second edition include:

  • A tutorial that takes a C programmer through the installation of necessary tools and the creation of a small handheld application.
  • A new chapter on memory, with a comprehensive discussion of the Memory Manager APIs.
  • Greatly expanded discussions of forms, forms objects, and new APIs for the Palm OS.
  • Updated chapters on conduits that reflect the newer Conduit Development Kit.

The best-selling first edition of this book is still considered the definitive guide for serious Palm programmers; it's used as the basis of Palm's own developer training materials. Our expanded second edition promises to set the standard for the next generation of Palm developers.



Programming .NET Components, 2nd Edition

£22.80
Image of Programming .NET Components, 2nd Edition

Juval Löwy; ISBN: 0-596-00762-0

Brilliantly compiled by author Juval Lovy, Programming .NET Components, Second Edition is the consummate introduction to the Microsoft .NET Framework--the technology of choice for building components on Windows platforms. From its many lessons, tips, and guidelines, readers will learn how to use the .NET Framework to program reusable, maintainable, and robust components.

Following in the footsteps of its best-selling predecessor, Programming .NET Components, Second Edition has been updated to cover .NET 2.0. It remains one of the few practical books available on this topic. This invaluable resource is targeted at anyone who develops complex or enterprise-level applications with the .NET platform--an ever-widening market. In fact, nearly two million Microsoft developers worldwide now work on such systems.

Programming .NET Components, Second Edition begins with a look at the fundamentals of component-oriented programming and then progresses from there. It takes the time to carefully examine how components can simplify and add flexibility to complex applications by allowing users to extend their capabilities. Next, the book introduces a variety of .NET essentials, as well as .NET development techniques. Within this discussion on component development, a separate chapter is devoted to each critical development feature, including asynchronous calls, serialization, remoting, security, and more. All the while, hazardous programming pitfalls are pointed out, saving the reader from experiencing them the hard way.

A .NET expert and noted authority on component-oriented programming, Lowry uses his unique access to Microsoft technical teams to the best possible advantage, conveying detailed, insider information in easy-to-grasp, activity-filled language. This hands-on approach is designed to allow individuals to learn by doing rather than just reading. Indeed, after digesting Programming .NET Components, Second Edition, readers should be able to start developing .NET components immediately.



Programming .NET Security

£25.56
Image of Programming .NET Security

Adam Freeman and Allen Jones; ISBN: 0-596-00442-7

With the spread of web-enabled desktop clients and web-server based applications, developers can no longer afford to treat security as an afterthought. It's one topic, in fact, that .NET forces you to address, since Microsoft has placed security-related features at the core of the .NET Framework. Yet, because a developer's carelessness or lack of experience can still allow a program to be used in an unintended way, Programming .NET Security shows you how the various tools will help you write secure applications.

The book works as both a comprehensive tutorial and reference to security issues for .NET application development, and contains numerous practical examples in both the C# and VB.NET languages. With Programming .NET Security, you will learn to apply sound security principles to your application designs, and to understand the concepts of identity, authentication and authorization and how they apply to .NET security. This guide also teaches you to:

  • use the .NET run-time security features and .NET security namespaces and types to implement best-practices in your applications, including evidence, permissions, code identity and security policy, and role based and Code Access Security (CAS) use the .NET cryptographic APIs , from hashing and common encryption algorithms to digital signatures and cryptographic keys, to protect your data.

  • use COM+ component services in a secure manner

    If you program with ASP.NET will also learn how to apply security to your applications. And the book also shows you how to use the Windows Event Log Service to audit Windows security violations that may be a threat to your solution.

    Authors Adam Freeman and Allen Jones, early .NET adopters and long-time proponents of an "end-to-end" security model, based this book on their years of experience in applying security policies and developing products for NASDAQ, Sun Microsystems, Netscape, Microsoft, and others. With the .NET platform placing security at center stage, the better informed you are, the more secure your project will be.



Programming .NET Windows Applications

£28.40
Image of Programming .NET Windows Applications

Jesse Liberty and Dan Hurwitz; ISBN: 0-596-00321-8

For those of you who develop standalone Windows applications for PCs and other devices, Microsoft's .NET Windows Forms provide a much better way to get it done. This new technology gives you more power and flexibility for a fraction of the effort compared to classic Win32 development, with a streamlined programming model that deals automatically with many tedious details that once plagued developers.

As with most things .NET, the only hitch is the learning curve. But that's where acclaimed author Jesse Liberty makes the difference with Programming .NET Windows Applications. With this tutorial, you will explore all aspects of using .NET Windows Forms class libraries and the associated programming tools in Visual Studio .NET, enabling you to build applications for the Windows 9x, Windows 2000 and Windows XP desktop platforms. Step-by-step, you'll learn ways to design applications that either function alone on a PC, or work in combination with your web-based application server to take advantage of the richer interface and higher level of security.

The book also explains how your new Windows applications can sidestep problems that used to arise from the use of DLLs (known collectively as "DLL hell"), and how .NET Windows Forms can be used as an alternative to ASP.NET and browser-based approaches for building web application clients.

Jesse Liberty definitely knows his stuff when it comes to the .NET platform. As the author of O'Reilly's Programming C# and Learning Visual Basic .NET, he's well-known for his clear and concise style that prompted one reviewer to say, "It's as if he knows exactly what questions I'm going to ask ahead of time." Jesse also co-authored Programming ASP.NET with contract programmer Dan Hurwitz, and now the two have teamed up again to bring you this comprehensive tutorial--without a doubt, the best source available for learning how to program with .NET Windows Forms.



Programming ASP.NET, 2nd Edition

£28.40
Image of Programming ASP.NET, 2nd Edition

Jesse Liberty and Dan Hurwitz; ISBN: 0-596-00487-7

ASP.NET, successor to Microsoft's Active Server Pages (ASP), is so complete and flexible that a web developer's main difficulty may lie simply in weaving the pieces together for maximum efficiency. The new edition of Programming ASP.NET shows developers how to do just that. Updated for Version 1.1 of the NET framework and Visual Studio .NET 2003, the second edition of this bestselling .NET title will show you how to create dynamic, data-driven web sites and services using both C# and Visual Basic .NET.

In Programming ASP.NET, Second Edition authors Jesse Liberty and Dan Hurwitz cover everything you need to know to be effective with ASP.NET. The book includes a comprehensive tutorial on Web Forms, which, in conjunction with Visual Studio .NET 2003, allow you to apply Rapid Application Development techniques (including drag-and-drop control placement) to web development. Programming ASP.NET includes extensive coverage of each type of server control, including Web server controls, HTML server controls, and custom controls. New material covers creating ASP.NET pages for mobile devices.

Since most web applications and web services involve retrieving data and returning it to a client browser, Programming ASP.NET Second Edition also offers extensive coverage of data access issues. These include topics such as using ASP.NET's list-bound controls; accessing data using the ADO.NET object model, and updating data with or without transaction support.

Programming ASP.NET also discusses such advanced topics as:

  • Caching and performance
  • Security
  • Configuration and deployment

If you're already familiar with Active Server Pages technology, you'll appreciate the in-depth focus and straightforward, easy-to-read approach for developing web pages and web services. Succinct, direct, and loaded with examples, Programming ASP.NET, Second Edition will help users at every level master ASP.NET without getting bogged down in the complexity of its features.



Programming C#, 4th Edition

£25.56
Image of Programming C#, 4th Edition

Jesse Liberty; ISBN: 0-596-00699-3

The programming language C# was built with the future of application development in mind. Pursuing that vision, C#'s designers succeeded in creating a safe, simple, component-based, high-performance language that works effectively with Microsoft's .NET Framework. Now the favored language among those programming for the Microsoft platform, C# continues to grow in popularity as more developers discover its strength and flexibility. And, from the start, C# developers have relied on Programming C# both as an introduction to the language and a means of further building their skills.

The new fourth edition of Programming C#--the top-selling C# book on the marketing--has been updated to the C# ISO standard as well as changes to Microsoft's implementation of the language. It also provides notes and warnings on C# 1.1 and C# 2.0.

Aimed at experienced programmers and web developers, Programming C#, 4th Edition doesn't waste too much time on the basics. Rather, it focuses on the features and programming patterns that are new to C# language. Some of these new features covered in-depth include:

  • Visual Studio 2005

  • Generics

  • Collection interfaces and iterators

  • Anonymous methods

  • New ADO.NET data controls

  • Fundamentals of Object Oriented Programming

    Author Jesse Liberty, an acclaimed web programming expert and entrepreneur, teaches C# in a way that experienced programmers will appreciate by grounding its applications firmly in the context of Microsoft's .NET platform and the development of desktop and Internet applications.

    Liberty also incorporates reader suggestions from previous editions to help create the most consumer-friendly guide possible.



Programming ColdFusion MX, 2nd Edition

£31.16
Image of Programming ColdFusion MX, 2nd Edition

Rob Brooks-Bilson; ISBN: 0-596-00380-3

ColdFusion has enjoyed widespread use among developers as a powerful, easy-to-learn platform for creating and deploying dynamic web applications. ColdFusion's simple, tag-based language makes it easy to handle basic tasks, like processing form data and querying databases, but the language is also powerful enough to deliver highly scalable, robust applications. And now that Macromedia has integrated ColdFusion into its MX family of technologies, ColdFusion is capable of interacting with Flash MX applications, which opens up even more possibilities.

The first edition of this book has been praised as "the best reference book available on the subject." This new edition, Programming ColdFusion MX, 2nd Edition, goes even further, documenting new techniques for using ColdFusion MX 6.1 to develop and serve dynamic web page content. This exhaustive guide covers everything from the basics to advanced topics, with numerous examples that you can use for your own applications. Contents include:

  • Sharing application data using the web application framework and shared scope variables
  • Accessing databases, maintaining database records, and advanced database techniques such as drill-down queries, query caching, and query of queries
  • Integrating applications with ColdFusion MX's new security framework
  • Interacting with other data sources, including LDAP directories, email servers, and other web servers
  • Extending ColdFusion with user-defined functions (UDFs), custom tags, and ColdFusion Components (CFCs)
  • Advanced topics such as working with XML, consuming and producing web services, and integrating ColdFusion with Flash via Flash Remoting
  • Reference material for all the tags and functions that comprise CFML, the ColdFusion Markup Language

Programming ColdFusion MX, 2nd Edition, covers ColdFusion MX 6.1, the latest release of ColdFusion, and is packed with advanced strategies, insider hints, tips, and tricks for creating effective web applications. If you are a ColdFusion developer, you need this book to help you make the most out of ColdFusion MX.



Programming Jabber

£22.80
Image of Programming Jabber

DJ Adams; ISBN: 0-596-00202-5

Jabber is a set of protocols expressed in XML, and an extensible framework that allows people and applications to exchange all sorts of information, from simple text messages to being used to extend the backbone of an enterprise data system. Jabber gives you the power to build applications that have identity, presence, and that can take part in conversations.

Programming Jabber offers developers a chance to learn and understand the Jabber technology and protocol from an implementer's point of view. Detailed information of each part of the Jabber protocol is introduced, explained, and discussed in the form of mini-projects, or simple and extended examples. Programming Jabber provides this foundation by:

  • Showing you how to install and configure the Jabber server
  • Providing a detailed overview of the server architecture and configuration options
  • Covering the core Jabber technologies such as XML streams and Jabber identifiers
  • Referencing all of Jabber's XML namespaces
  • Examining the client registration and authentication phases
  • Showing how to deploy your own Jabber-based messaging solutions
  • Demonstrating how to embed XML-RPC-style call mechanisms into Jabber

Programming Jabber is divided into two parts. The first part serves as an introduction to Jabber; you'll learn about its features, why it's more than an IM system, and how to install and configure a Jabber server of your own. The second part provides detailed information about the Jabber protocol, and a series of practical examples, which can be used to solve everyday problems. The examples, in Perl, Python, and Java, use various Jabber features as a way of illustrating parts of the protocol. Programming Jabber provides the foundation and framework for developers to hit the ground running, and is the essential book on Jabber.



Programming Jakarta Struts, 2nd Edition

£25.56
Image of Programming Jakarta Struts, 2nd Edition

Chuck Cavaness; ISBN: 0-596-00651-9

While the look and feel of an enterprise web application is certainly important, developers usually find themselves spending far too much time on the front-end presentation before they can get to coding the good stuff--the business logic at the heart of the program. Jakarta Struts addresses this issue by combining Java Servlets, Java ServerPages (JSP), custom tags, and messaging resources (like Java Message Service) into a unified, re-usable framework. The result is a cooperative, synergistic platform that's efficient and suitable for independent developers, large development teams, and everyone in between.

The Struts Framework has become a highly popular open source project, but there's still woefully little documentation on the technology. What does exist is far too basic and lacks critical information for developers like you writing today's complex web applications.

The revised and expanded Programming Jakarta Struts, 2nd Edition covers everything the successful earlier edition did including:

  • an overview of the concepts involved in writing web applications
  • installation and configuration instructions for getting Struts up and running
  • a thorough discussion of how Struts implements the Model-View-Controller (MVC) design paradigm (known as the Model 2 approach) and how to interface with that pattern in your own applications
  • Logging, Validation, and Exception Handling with Struts
  • using Tiles
  • writing internationalization and localization code using Struts
  • practical, real-world best practices for web applications

This edition is now fully up to date with Struts 1.1, and covers the latest material on tag libraries and the new JavaServerFaces (JSF) APIs and even includes all-new chapters on JSF, JSTL/EL, and security.

With each enterprise system he's developed, author Chuck Cavaness has spent many grueling hours learning invaluable lessons about Struts and figuring out the dos and the don'ts of building web applications. He saves you time and headaches by sharing that invaluable real-world experience here, with his realistic, practical, here's-how-to-do-it approach to using the Struts Framework to its fullest potential.



Programming Visual Basic for the Palm OS

£22.80
Image of Programming Visual Basic for the Palm OS

Matthew Holmes,Patrick Burton and Roger Knoell; ISBN: 0-596-00200-9

Due to the immense popularity of Palm OS devices, demand for Palm OS applications has increased dramatically. Over 16 million Palm Powered PDAs have sold over the past six years,and the number of registered Palm Developers is currently over 100,000 and growing by about a 1,000 per month.

Visual Basic is one of the most popular development platformsin the world. Until recently Visual Basic developers were not able to create applications for the Palm OS platform. By integrating into the Visual Basic environment, the AppForge Basic compiler has brought Palm development right into the main tool used by millions of VB Programmers. In fact, Visual Basic in conjunction with AppForge is fast becoming one of the favorite development environments for the Palm OS.

The book provides a framework for application design, development and installation for the Palm handheld. While the reader should have experience with the property-method-event model of VB programming, no familiarity with Palm products is assumed or required. It is written primarily for corporate software developers, software architects, middle-ware developers and engineering managers who need to understand the strengths and limits of programming on the Palm, and how to integrate Visual Basic language Palm applications into their corporate IT infrastructure or product offerings. It teaches readers how to create a host of business applications including security, wireless and database connectivity programs.

Some of the covered topics include:

  • Complete coverage of Palm user interface and database programming techniques
  • Data Synchronization including how to build, test and install a conduit using Visual Basic and COM
  • Web Clipping applications and how to interface those applications to Microsoft's Active Server Page framework.
  • Extending the AppForge Palm application using shared libraries and Active-X like components.

Programming Visual Basic for the Palm OS is the only book designed to help the Visual Basic desktop programmer to break into the Palm market. With Programming Visual Basic for the Palm OS, Visual Basic programmers can become Palm programmers almost over night.



Programming with Qt, 2nd Edition

£22.80
Image of Programming with Qt, 2nd Edition

Matthias Kalle Dalheimer; ISBN: 0-596-00064-2

The popular open source KDE desktop environment for Unix was built with Qt, a C++ class library for writing GUI applications that run on Unix, Linux, Windows 95/98, Windows 2000, and Windows NT platforms. Qt emulates the look and feel of Motif, but is much easier to use. Best of all, after you have written an application with Qt, all you have to do is recompile it to have a version that works on Windows. Qt also emulates the look and feel of Windows, so your users get native-looking interfaces.

Platform independence is not the only benefit. Qt is flexible and highly optimized. You'll find that you need to write very little, if any, platform-dependent code because Qt already has what you need. And Qt is free for open source and Linux development.

Although programming with Qt is straightforward and feels natural once you get the hang of it, the learning curve can be steep. Qt comes with excellent reference documentation, but beginners often find the included tutorial is not enough to really get started with Qt. That's where

Programming with Qt steps in. You'll learn how to program in Qt as the book guides you through the steps of writing a simple paint application. Exercises with fully worked out answers help you deepen your understanding of the topics. The book presents all of the GUI elements in Qt, along with advice about when and how to use them, so you can make full use of the toolkit. For seasoned Qt programmers, there's also lots of information on advanced 2D transformations, drag-and-drop, writing custom image file filters, networking with the new Qt Network Extension, XML processing, Unicode handling, and more.

Programming with Qt helps you get the most out of this powerful, easy-to-use, cross-platform toolkit. It's been completely updated for Qt Version 3.0 and includes entirely new information on rich text, Unicode/double byte characters, internationalization, and network programming.



Programming with curses

£8.40
Image of Programming with curses

John Strang; ISBN: 0-937175-02-1

curses is a UNIX library of functions for controlling a terminal's display screen from a C program. It can be used to provide a screen driver for a program (such as a visual editor) or to improve a program's user interface.

This handbook will help you make use of the curses library in your C programs. We have presented ample material on curses and its implementation in UNIX so that you understand the whole, as well as its parts.

Note: This handbook covers Ken Arnold's original Berkeley implementation of curses, not the System V version.

Topics covered include:

  • Windows, screens, and images.

  • Multiple windows.

  • The WINDOW structure.



Pthreads Programming

£19.96
Image of Pthreads Programming

Bradford Nichols,Dick Buttlar and Jacqueline Proulx Farrell; ISBN: 1-56592-115-1

Computers are just as busy as the rest of us nowadays. They have lots of tasks to do at once, and need some cleverness to get them all done at the same time.

That's why threads are seen more and more often as a new model for programming. Threads have been available for some time. The Mach operating system, the Distributed Computer Environment (DCE), and Windows NT all feature threads.

One advantage of most UNIX implementations, as well as DCE, is that they conform to a recently ratified POSIX standard (originally 1003.4a, now 1003.1c), which allows your programs to be portable between them. POSIX threads are commonly known as pthreads, after the word that starts all the names of the function calls. The standard is supported by Solaris, OSF/1, AIX, and several other UNIX-based operating systems.

The idea behind threads programming is to have multiple tasks running concurrently within the same program. They can share a single CPU as processes do, or take advantage of multiple CPUs when available. In either case, they provide a clean way to divide the tasks of a program while sharing data.

A window interface can read input on dozens of different buttons, each responsible for a separate task. A network server has to accept simultaneous calls from many clients, providing each with reasonable response time. A multiprocessor runs a number-crunching program on several CPUs at once, combining the results when all are done. All these kinds of applications can benefit from threads.

In this book you will learn not only what the pthread calls are, but when it is a good idea to use threads and how to make them efficient (which is the whole reason for using threads in the first place). The authors delves into performance issues, comparing threads to processes, contrasting kernel threads to user threads, and showing how to measure speed. He also describes in a simple, clear manner what all the advanced features are for, and how threads interact with the rest of the UNIX system.

Topics include:

  • Basic design techniques
  • Mutexes, conditions, and specialized synchronization techniques
  • Scheduling, priorities, and other real-time issues
  • Cancellation
  • UNIX libraries and re-entrant routines
  • Signals
  • Debugging tips
  • Measuring performance
  • Special considerations for the Distributed Computing Environment (DCE)


RTF Pocket Guide

£5.56
Image of RTF Pocket Guide

Sean M. Burke; ISBN: 0-596-00475-3

Rich Text Format, or RTF, is the internal markup language used by Microsoft Word and understood by dozens of other word processors. RTF is a universal file format that pervades practically every desktop. Because RTF is text, it's much easier to generate and process than binary .doc files. Any programmer working with word processing documents needs to learn enough RTF to get around, whether it's to format text for Word (or almost any other word processor), to make global changes to an existing document, or to convert Word files to (or from) another format.

RTF Pocket Guide is a concise and easy-to-use tutorial and quick-reference for anyone who occasionally ends up mired in RTF files. As the first published book to cover the RTF format in any detail, this small pocket guide explains the syntax of RTF with examples throughout, including special sections on Unicode RTF and MSHelp RTF, and several full programs that demonstrate how to work in RTF effectively.

Most word processors produce RTF documents consisting of arcane and redundant markup. This book is the first step to finding order in the disorder of RTF.



Ruby in a Nutshell

£14.00
Image of Ruby in a Nutshell

Yukihiro Matsumoto and David L. Reynolds, Jr.; ISBN: 0-596-00214-9

Ruby is an absolutely pure object-oriented scripting language written in C and designed with Perl and Python capabilities in mind. While its roots are in Japan, Ruby is slowly but surely gaining ground in the US. The goal of Yukihiro Matsumoto, creator of Ruby and author of this book, is to incorporate the strengths of languages like Perl, Python, Lisp and Smalltalk. Ruby is a genuine attempt to combine the best of everything in the scripting world. Since 1993, Ruby mailing lists have been established, Web pages have formed, and a community has grown around it. The language itself is very good at text processing and is notable for its broad object orientation. Ruby is portable and runs under GNU/Linux (and other Unices) as well as DOS, MS Windows and Mac.

With Ruby in a Nutshell, Matsumoto offers a practical reference to the features of this new language including the command-line options, syntax, built-in variables, functions, and many commonly used classes and modules. This guide covers the current stable version of Ruby (1.6), yet is applicable to the development version 1.7 and the next planned stable version 1.8. You will find a thorough description of Ruby's language syntax, and a description of the core functionality built into the standard Ruby interpreter, which has more than 800 built-in methods in 42 classes and modules.

Ruby finds its power through its built-in libraries, and this handy volume take you through the many useful libraries that come with the standard Ruby distribution--from network access via HTTP and CGI programming, to data persistence using the DBM library. This book concludes with coverage of the unique tools that come with Ruby, including the debugger, profiler, and irb (or interactive ruby.)

Find out how Ruby combines the strengths of other languages, and why it has captured the interest of so many open source programmers. As part of the successful "in a nutshell" series of books from O'Reilly & Associates, Ruby in a Nutshell is for readers who want a single desktop reference for all their needs.



Subclassing & Hooking with Visual Basic

£28.40
Image of Subclassing & Hooking with Visual Basic

Stephen Teilhet; ISBN: 0-596-00118-5

Subclassing & Hooking with Visual Basic offers developers a unique way to customize Windows behavior.

Windows is a message-based system. Every action you request creates one or more messages to carry out the action. These messages are passed between objects and carry with them information that gives the recipient more detail on how to interpret and act upon the message.

With Subclassing and the Windows hooking mechanism ("hooks"), you can manipulate, modify, or even discard messages bound for other objects within the operating system, in the process changing the way the system behaves. What kinds of results can you achieve using the power of subclassing and hooking? Here are just a few of the possibilities:

  • Determine when a window is being activated or deactivated and respond to this change.
  • Display descriptions of menu items as the mouse moves across them.
  • Disallow a user to move or resize a window.
  • Determine where the mouse cursor is and respond accordingly.
  • Determine when the display resolution has been changed.
  • Monitor the system for a low system resource condition.
  • Modify or disallow keystrokes sent to a window or a control.
  • Create an automated testing application.
  • Determine when an application is idle.

Along with this power comes responsibility; Windows is very unforgiving if subclassing and hooking are used incorrectly. Subclassing & Hooking with Visual Basic demonstrates the various techniques for intercepting messages bound for one or more windows or controls: the intercepted message can be left in its original state or modified; afterwards, the message can be sent to its original destination or discarded.

For both VB 6 and VB.NET developers, Subclassing & Hooking with Visual Basic opens up a wealth of possibilities that ordinarily would be completely unavailable, or at least not easy to implement.



Tcl/Tk Pocket Reference

£5.56
Image of Tcl/Tk Pocket Reference

Paul Raines; ISBN: 1-56592-498-3

The Tcl/Tk combination is increasingly popular because it lets you produce sophisticated graphical interfaces with a few easy commands, develop and change scripts quickly, and conveniently tie together existing utilities or programming libraries.

The Tcl/Tk Pocket Reference,a handy reference guide to the basic Tcl language elements, Tcl and Tk commands, and Tk widgets, is a companion volume to Tcl/Tk in a Nutshell.



Tcl/Tk in a Nutshell

£16.76
Image of Tcl/Tk in a Nutshell

Paul Raines and Jeff Tranter; ISBN: 1-56592-433-9

The Tcl language and Tk graphical toolkit are simple and powerful building blocks for custom applications. The Tcl/Tk combination is increasingly popular because it lets you produce sophisticated graphical interfaces with a few easy commands, develop and change scripts quickly, and conveniently tie together existing utilities or programming libraries.

One of the attractive features of Tcl/Tk is the wide variety of commands, many offering a wealth of options. Most of the things you'd like to do have been anticipated by the language's creator, John Ousterhout, or one of the developers of Tcl/Tk's many powerful extensions. Thus, you'll find that a command or option probably exists to provide just what you need.

And that's why it's valuable to have a quick reference that briefly describes every command and option in the core Tcl/Tk distribution as well as the most popular extensions. Keep this book on your desk as you write scripts, and you'll be able to find almost instantly the particular option you need.

Most chapters consist of alphabetical listings. Since Tk and mega-widget packages break down commands by widget, the chapters on these topics are organized by widget along with a section of core commands where appropriate. Contents include:

  • Core Tcl and Tk commands and Tk widgets
  • C interface (prototypes)
  • Expect
  • [incr Tcl] and [incr Tk]
  • Tix
  • TclX
  • BLT
  • Oratcl, SybTcl, and Tclodbc


UML Pocket Reference

£5.56
Image of UML Pocket Reference

Dan Pilone; ISBN: 0-596-00497-4

The Unified Modeling Language (UML) is one of the most important languages for anyone in the software industry to know. The UML is a visual language enabling architects, designers, and developers to communicate about design. Seemingly simple on the surface, the UML is a rich and expressive language, with many visual syntactical elements.

It's next to impossible to memorize all aspects of the UML. Just as a writer might require a dictionary to work with the spoken word, so too do UML practitioners require a dictionary of sorts. In this book, you'll find information on UML usage, and also on the symbols, line-endings, and syntax used for the following diagram types:

  • Class diagrams
  • Component diagrams
  • Behavioral diagrams
  • Sequence diagrams
  • Statechart diagrams
  • Object diagrams
  • Deployment diagrams
  • Use case diagrams
  • Collaboration diagrams
  • Activity diagrams

Let this book be your UML dictionary. It's clear, concise, and small. Keep this book at hand, and never again be stymied by an unfamiliar UML symbol, a line-ending you don't recognize, or the use of an unfamiliar diagram type.

O'Reilly's Pocket References have become a favorite among programmers everywhere. By providing a wealth of important details in a concise, well-organized format, these handy books deliver just what you need to complete the task at hand. When you need to get to a solution quickly, the new UML Pocket Reference is the book you'll want to have.



Understanding the Linux Kernel, 2nd Edition

£28.40
Image of Understanding the Linux Kernel, 2nd Edition

Daniel P. Bovet and Marco Cesati; ISBN: 0-596-00213-0

To thoroughly understand what makes Linux tick and why it's so efficient, you need to delve deep into the heart of the operating system--into the Linux kernel itself. The kernel is Linux--in the case of the Linux operating system, it's the only bit of software to which the term "Linux" applies. The kernel handles all the requests or completed I/O operations and determines which programs will share its processing time, and in what order. Responsible for the sophisticated memory management of the whole system, the Linux kernel is the force behind the legendary Linux efficiency.

The new edition of Understanding the Linux Kernel takes you on a guided tour through the most significant data structures, many algorithms, and programming tricks used in the kernel. Probing beyond the superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Relevant segments of code are dissected and discussed line by line. The book covers more than just the functioning of the code, it explains the theoretical underpinnings for why Linux does things the way it does.

The new edition of the book has been updated to cover version 2.4 of the kernel, which is quite different from version 2.2: the virtual memory system is entirely new, support for multiprocessor systems is improved, and whole new classes of hardware devices have been added. The authors explore each new feature in detail. Other topics in the book include:

  • Memory management including file buffering, process swapping, and Direct memory Access (DMA)
  • The Virtual Filesystem and the Second Extended Filesystem
  • Process creation and scheduling
  • Signals, interrupts, and the essential interfaces to device drivers
  • Timing
  • Synchronization in the kernel
  • Interprocess Communication (IPC)
  • Program execution

Understanding the Linux Kernel, Second Edition will acquaint you with all the inner workings of Linux, but is more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. If knowledge is power, then this book will help you make the most of your Linux system.



VB & VBA in a Nutshell: The Language

£16.76
Image of VB & VBA in a Nutshell: The Language

Paul Lomax; ISBN: 1-56592-358-8

The online documentation of VB/VBA language components seems to follow the 80/20 rule: the basic facts that you need to use a language statement are provided in the documentation. But the additional 20 percent that you need to use it effectively or to apply it to special cases is conspicuously absent. To a professional VB/VBA programmer though, this missing 20 percent of the language's documentation isn't a luxury it's a necessity, and in VB & VBA in a Nutshell: The Language it is finally available.

The bulk of the book consists of an alphabetical reference to the statements, procedures, and functions of the VB/VBA language. Each entry has a standardized listing containing the following information:

  • Its syntax, using standard code conventions
  • Differences in the operation of the keyword in a macro environment (e.g., in Office) and in Visual Basic, if there are any
  • A list of arguments accepted by the function or procedure, if any
  • A description of the data type returned by a function
  • The finer points of a keyword's usage that are often omitted from or blurred over by the documentation
  • Tips and gotchas that include undocumented behaviors and practical applications for particular language elements -- a section particularly invaluable for diagnosing or avoiding potential programming problems
  • A brief, nonobvious example that illustrates the use of the keyword

Also included in VB & VBA in a Nutshell: The Language is a brief overview of the VB/VBA language, including:

  • Basic VBA programming concepts, such as its data types and its support for variables, constants, and arrays
  • Error handling in VBA applications
  • Object programming with VBA
  • Using VBA with particular applications. Excel and Project are utilized to show how to work with an application's integrated development environment and to take advantage of its object model.

Regardless of how much experience you have programming with VBA, this is the book you'll pick up time and time again both as your standard reference guide and as a tool for troubleshooting and identifying programming problems. VB & VBA in a Nutshell: The Language is the definitive reference for Visual Basic and VBA developers.



VBScript in a Nutshell, 2nd Edition

£19.96
Image of VBScript in a Nutshell, 2nd Edition

Paul Lomax,Matt Childs and Ron Petrusha; ISBN: 0-596-00488-5

Lightweight yet powerful, VBScript from Microsoft is used in four main areas: server-side web applications using Active Server Pages (ASP), client-side web scripts using Internet Explorer, code behind Outlook forms, and automating repetitive tasks using Windows Script Host (WSH). VBScript in a Nutshell, Second Edition delivers current and complete documentation for programmers and system administrators who want to develop effective scripts.

Completely updated for VBScript 5.6, WSH 5.6 and ASP 3.0, VBScript In a Nutshell, Second Edition includes updated introductory chapters that will help you keep current with the significant changes since the first edition was published. New chapters introduce the Windows Script Component for creating binary COM components, and the Script Encoder.

The main part of the book is a comprehensive reference focusing on VBScript essentials with an alphabetical reference to all statements, keywords and objects, and a section of notes and solutions to real-world gotchas--various undocumented behaviors and aspects of the language--to help you avoid potential problems. Each entry in the reference section details the following:

  • The keyword's syntax, using standard code conventions
  • A list of arguments accepted by the function or procedure, if any exist
  • A discussion of how and where the keyword should be used within the scripting environment
  • A discussion of the differences between the operation of the keyword in Visual Basic or VBA and in VBScript

Regardless of your level of experience programming with VBScript, VBScript in a Nutshell, Second Edition is the book you'll want by your side--the most complete, up-to-date, and easy-to-use language reference available.



Version Control with Subversion

£19.96
Image of Version Control with Subversion

Ben Collins-Sussman,Brian W. Fitzpatrick and C. Michael Pilato; ISBN: 0-596-00448-6

One of the greatest frustrations in most software projects is version control: the art of managing changes to information. Today's increasingly fast pace of software development--as programmers make small changes to software one day only to undo them the next--has only heightened the problem; consecutive work on code or single-programmer software is a rare sight these days. Without careful attention to version control, concurrent and collaborative work can create more headaches than it solves. This is where Subversion comes into play.

Written by members of the Subversion open source development team, Version Control with Subversion introduces the powerful new versioning tool designed to be the successor to the Concurrent Version System or CVS. CVS users will find the "look and feel" Subversion comfortably familiar, but under the surface it's far more flexible, robust, and usable, and more importantly, it improves on CVS's more notable flaws.

The book begins with a general introduction to Subversion, the basic concepts behind version control, and a guided tour of Subversion's capabilities and structure. With thorough attention to detail, the authors cover every aspect of installing and configuring Subversion for managing a programming project, documentation, or any other team-based endeavor. Later chapters cover the more complex topics of branching, repository administration, and other advanced features such as properties, externals, and access control. The book ends with reference material and appendices covering a number of useful topics such as a Subversion complete reference and troubleshooting guide.

Version Control with Subversion aims to be useful to readers of widely different backgrounds, from those with no previous experience in version control to experienced sysadmins. If you've never used version control, you'll find everything you need to get started in this book. And if you're a seasoned CVS pro, this book will help you make a painless leap into Subversion.



Volume 1: Xlib Programming Manual

£19.96
Image of Volume 1: Xlib Programming Manual

Adrian Nye; ISBN: 1-56592-002-3

Covering X11 Release 5, the Xlib Programming Manual is a complete guide to programming the X library (Xlib), the lowest level of programming interface to X. It includes introductions to internationalization, device-independent color, font service, and scalable fonts.

Includes chapters on:

  • X Window System concepts
  • A simple client application
  • Window attributes
  • The graphics context
  • Graphics in practice
  • Color
  • Events
  • Interclient communication
  • Internationalization
  • The Resource Manager
  • A complete client application
  • Window management

This manual is a