This book is the second edition of the PickAxe, as Programming Ruby is known to Rubyists. It is a tutorial and reference for the Ruby programming language. If you have the first edition, you’ll find that this version is a significant rewrite. When Andy and I wrote the first edition, we had to explain the background and appeal of Ruby. Among other things, we wrote “When we discovered Ru…
As we can see from the rise of social networking sites like Facebook, LinkedIn, My- Space, the Yahoo! Application Platform (YAP), and hundreds of others around the world, there’s a major shift taking place in how humans interact with the Web and how the Web in turn interacts with them. The static web is an artifact of the past, having been replaced by the idea that sites or applications shoul…
This is a book about programming sound. Just as in any other programming book, in this book we’ll cover the technical skills and tools that will enable you to tell a computer how to do something—namely, make sound. But just as with any other programming language, good design is important. I don’t mean visual design; I mean careful thought and practice concerning “how things work.” So …
This book is an advanced reference for the mobile web today, and it is the most complete reference available at this time. This may seem an ambitious claim, but it is the truth. This book draws upon a mix of experience and very detailed research and testing not available in other books, websites, or research papers about the mobile web. Programming the Mobile Web will teach you how to create ef…
WCF is a software development kit for developing and deploying services on Windows. I will describe what a service is in the next section. But WCF is much more—it is literally a better .NET. WCF provides a runtime environment for your services, enabling you to expose Common Language Runtime (CLR) types as services and to consume other services as CLR types. Although in theory you could build …
This book—the 6th edition of Programming Windows—is a guide to programming applications that run under Microsoft Windows 8. At the time of this writing (May 1, 2012), Windows 8 is not yet complete and neither is this book. What you are reading right now is a preview ebook version of the book. This preview version is based on the Consumer Preview of Windows 8, which was released on February …
I am always impressed when science fiction and reality meet. With Kinect for Windows, this is definitely the case, and it is exciting to be able to control the computer with only our hands, without touching any devices, just like in the movie “Minority Report.” I fell in love with Kinect for Windows the first time I tried it. Being able to control my computer with gestures and easily create…
Programming Fundamentals - A Modular Structured Approach using C++ is written by Kenneth Leroy Busbee, a faculty member at Houston Community College in Houston, Texas. The materials used in this textbook/collection were developed by the author and others as independent modules for publication within the Connexions environment. Programming fundamentals are often divided into three college course…
I love programming. I enjoy the challenge to not only make a working program, but to do so with style. Programming is like poetry. It conveys a message, not only to the computer, but to those who modify and use your program. With a program, you build your own world with your own rules. You create your world according to your conception of both the problem and the solution. Masterful programmers…
We are surrounded by strings. Strings of bits make integers and floating-point numbers. Strings of digits make telephone numbers, and strings of characters make words. Long strings of characters make web pages, and longer strings yet make books. Extremely long strings represented by the letters A, C, G and T are in geneticists' databases and deep inside the cells of many readers of this book.
My first experience with Amazon Web Services was on March 14, 2006. I had seen a press release announcing a new web-based storage service called Simple Storage Service (S3), and I remember thinking how strange it seemed that Amazon would be offering such a service. Nevertheless, I signed up for an account and started reading the documentation. I was blown away by S3. The simple, affordable pric…
Python is a versatile programming language that can be used for a wide range of technical tasks—computation, statistics, data analysis, game development, and more. Though Python is easy to learn, its range of features means there are many aspects of it that even experienced Python developers don't know about. Even if you're confident with the basics, its logic and syntax, by digging deeper yo…
Having abandoned the true way, I fell into a deep sleep and awoke in a deep dark wood. I set out to escape the wood, but my path was blocked by a lion. As I fled to lower ground, a figure appeared before me. “Have mercy on me, whatever you are,” I cried, “whether shade or living human.” “Not a man, though once I was. My parents were from Lombardy. I was born sub Julio and lived in R…
In the mid-2000s, some of the staff at the University of Cambridge noticed that there were fewer students applying to study computer science each year, and that they didn't have very much experience. Something had to be done about this situation. The answer was the Raspberry Pi: a small, inexpensive computer which makes programming as accessible and as fun as possible. The idea is that students…
Signals can be divided into three categories: continuous-time (analog) signals, discrete-time signals, and digital signals. The signals that we encounter daily are mostly analog signals. These signals are defined continuously in time, have an infinite range of amplitude values, and can be processed using analog electronics containing both active and passive circuit elements. Discrete-time sig…
Having opened this cookbook, you are probably eager to inject some of the ungainly strings of parentheses and question marks you find in its chapters right into your code. If you are ready to plug and play, be our guest: the practical regular expressions are listed and described in Chapters 4 through 9. But the initial chapters of this book may save you a lot of time in the long run. For instan…
Regular expressions are a language used for parsing and manipulating text. They are often used to perform complex search-and-replace operations, and to validate that text data is well-formed. Today, regular expressions are included in most program- ming languages, as well as in many scripting languages, editors, applications, databases, and command-line tools. This book aims to give quick acce…
In July 2004 David Heinemeier Hansson released Ruby on Rails, a Web framework for the Ruby pro- gramming language. It quickly gained momentum and became notorious for being a highly productive Model-View-Controller (MVC) Web framework that was particularly well suited to Agile development. Favoring sensible conventions over verbose confi guration fi les, Rails (as it is often called for shor…
This book would not have been possible without the tireless efforts of dozens—possibly even dozens of dozens!—of people. First, my wife, Laura, who not only tolerated my all-night writing sessions and endless requests for feedback on story ideas, but also at various times pinch hit as literary agent, proofreader, sanity checker, and stop-reading-the-Internet- and-get-back-to-work!-er. This …
This book was written with the beginner in mind. Each of the 24 hours in this book is short and succinct, usually teaching one basic subject and building on previous hours. The subjects covered in this book are geared primarily toward rendering on the small Windows Phone 7 screen. A lot of attention is given to sprite animation, since this seems to be the main focus of games for this platform. …