Linux System Programming
This book is about writing software that makes the most effective use of the system you're running on - code that interfaces directly with the kernel and core system libraries, including the shell, text editor, compiler, debugger, core utilities, and system daemons. The majority of both Unix and Linux code is still written at the system level, and Linux System Programming focuses on everything above the kernel, where applications such as Apache, bash, cp, vim, Emacs, gcc, gdb, glibc, ls, mv, and X exist.

Written primarily for engineers looking to program (better) at the low level, this book is an ideal teaching tool for any programmer. Even with the trend toward high-level development, either through web software (such as PHP) or managed code (C#), someone still has to write the PHP interpreter and the C# virtual machine. Linux System Programming gives you an understanding of core internals that makes for better code, no matter where it appears in the stack. Debugging high-level code often requires you to understand the system calls and kernel behavior of your operating system, too. more »
Linux Device Drivers, 3rd Edition
Device drivers literally drive everything you're interested in - disks, monitors, keyboards, modems - everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux - specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you'll need to write drivers for a wide range of devices. more »
PayPal APIs: Up and Running
If your web application's success depends on how quickly and easily users can make transactions, then PayPal is a solution you can't afford to overlook. This book helps you determine which PayPal option is best for your situation, and provides step-by-step instructions for implementing the payment method you choose-whether you're accepting money via the Web or mobile devices for products and services, donations, or anything else.

You'll find sample code written primarily in PHP and Objective-C, as well as use cases for executing options with PayPal's API. By the end of this book, you'll have a clear understanding of PayPal and how you can get the most out of its powerful features, no matter how much API programming experience you have. more »
Head First Programming
Looking for a reliable way to learn how to program on your own, without being overwhelmed by confusing concepts? Head First Programming introduces the core concepts of writing computer programs - variables, decisions, loops, functions, and objects - which apply regardless of the programming language. This book offers concrete examples and exercises in the dynamic and versatile Python language to demonstrate and reinforce these concepts.

Learn the basic tools to start writing the programs that interest you, and get a better understanding of what software can (and cannot) do. When you're finished, you'll have the necessary foundation to learn any programming language or tackle any software project you choose. more »
Head First Rails
Ready to transport your web applications into the Web 2.0 era? Head First Rails takes your programming - and productivity - to the max. You'll learn everything from the fundamentals of Rails scaffolding to building customized interactive web apps using Rails' rich set of tools and the MVC framework.

By the time you're finished, you'll have learned more than just another web framework. You'll master database interactions, integration with Ajax and XML, rich content, and even dynamic graphing of your data - all in a fraction of the time it takes to build the same apps with Java, PHP, ASP.NET, or Perl. You'll even get comfortable and familiar with Ruby, the language that underpins Rails. But you'll do it in the context of web programming, and not through boring exercises such as "Hello, World!"

Your time is way too valuable to waste struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First Rails uses a visually rich format designed to take advantage of the way your brain really works. more »
Managing Projects with GNU Make, 3rd Edition
The utility simply known as make is one of the most enduring features of both Unix and other operating systems. First invented in the 1970s, make still turns up to this day as the central engine in most programming projects; it even builds the Linux kernel. In the third edition of the classic Managing Projects with GNU make, readers will learn why this utility continues to hold its top position in project build software, despite many younger competitors.

The premise behind make is simple: after you change source files and want to rebuild your program or other output files, make checks timestamps to see what has changed and rebuilds just what you need, without wasting time rebuilding other files. But on top of this simple principle, make layers a rich collection of options that lets you manipulate multiple directories, build different versions of programs for different platforms, and customize your builds in other ways. more »
Mastering Algorithms with Perl
Many programmers would love to use Perl for projects that involve heavy lifting, but miss the many traditional algorithms that textbooks teach for other languages. Computer scientists have identified many techniques that a wide range of programs need, such as: Fuzzy pattern matching for text (identify misspellings!), Finding correlations in data, Game-playing algorithms, Predicting phenomena such as Web traffic, Polynomial and spline fitting.

Using algorithms explained in this book, you too can carry out traditional programming tasks in a high-powered, efficient, easy-to-maintain manner with Perl.

This book assumes a basic understanding of Perl syntax and functions, but not necessarily any background in computer science. The authors explain in a readable fashion the reasons for using various classic programming techniques, the kind of applications that use them, and - most important - how to code these algorithms in Perl. more »
Perl and XML
XML is a text-based markup language that has taken the programming world by storm. More powerful than HTML yet less demanding than SGML, XML has proven itself to be flexible and resilient. XML is the perfect tool for formatting documents with even the smallest bit of complexity, from Web pages to legal contracts to books. However, XML has also proven itself to be indispensable for organizing and conveying other sorts of data as well, thus its central role in web services like SOAP and XML-RPC.

As the Perl programming language was tailor-made for manipulating text, few people have disputed the fact that Perl and XML are perfectly suited for one another. The only question has been what's the best way to do it. That's where this book comes in. more »
Programming Google App Engine
As one of today's cloud computing services, Google App Engine does more than provide access to a large system of servers. It also offers you a simple model for building applications that scale automatically to accommodate millions of users. With Programming Google App Engine, you'll get expert practical guidance that will help you make the best use of this powerful platform. Google engineer Dan Sanderson shows you how to design your applications for scalability, including ways to perform common development tasks using App Engine's APIs and scalable services.

You'll learn about App Engine's application server architecture, runtime environments, and scalable datastore for distributing data, as well as techniques for optimizing your application. App Engine offers nearly unlimited computing power, and this book provides clear and concise instructions for getting the most from it right from the source. more »
JavaFX 2.0: Introduction by Example
JavaFX 2.0: Introduction by Example provides a quick start to programming the JavaFX 2.0 platform. JavaFX 2.0 provides a rich set of APIs for use in creating graphically exciting client applications written solely in Java. You get a large set of customizable components that can be skinned using CSS techniques that you already know from doing web development. The platform even includes a web rendering engine enabling you to mix HTML content into your applications. Hardware acceleration means that your applications are fast and snappy, taking full advantage of modern graphics processing support at the hardware level. JavaFX 2.0 opens the door to business applications that look good, are fun to use, that take advantage of the medium to present data of all types-text, audio, video, etc.-in ways that engage the user and lead to increased productivity. more »