Programming languages matter. They affect the reliability, security, and efficiency of the code you write, as well as how easy it is to read, refactor, and extend. The languages you know can also change how you think, influencing the way you design software even when you’re not using them. We wrote this book because we believe in the importance of programming languages, and that OCaml in part…
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…
As many of you may know, Syncfusion is a provider of software components for the Microsoft platform. This puts us in the exciting but challenging position of always being on the cutting edge. Whenever platforms or tools are shipping out of Microsoft, which seems to be about every other week these days, we have to educate ourselves, quickly
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 …
Astute readers such as yourself may be wondering whether the title of this book, Safe C++, presumes that the C++ programming language is somehow unsafe. Good catch! That is indeed the presumption. The C++ language allows programmers to make all kinds of mistakes, such as accessing memory beyond the bounds of an allocated array, or reading memory that was never initialized, or allocating memory …
When using the SG procedures—PROC SGPLOT, PROC SGPANEL, PROC SGSCATTER, and PROC SGRENDER—the ODS GRAPHICS statement is optional. However, doing so can change a number of important features of the output image (such as the size and file format); and with new SAS versions, ODS Graphics supports new image formats. In particular, this chapter examines the EMF image-file format in more detail, …
Python is a powerful programming language when considering portability, flexibility, syntax, style, and extendability. The language was written by Guido van Rossum with clean syntax built in. To define a function or initiate a loop, indentation is used insteadofbrackets.Theresultisprofound:aPythonprogrammercanlookatanygiven uncommented Python code and quickly understand its inner workings and…
Sometimes all one wants is a good example. That’s our motivation for accepting the baton from Joe Sack and revising his excellent work to cover the very latest edition of Microsoft’s database engine—SQL Server 2012. T-SQL is fundamental to working with SQL Server. Almost everything you do, from querying a table to creating indexes to backing up and recovering, ultimately comes down to T-S…
Why, indeed? A good short answer is that you can’t get away from it. Almost everything you do involves economics. Why do people have to earn a living? Why do some people—heavyweight boxers, rock stars, and movie producers, for example—earn vastly more than bus drivers or policemen? What determines the price of a Big Mac, or, for that matter, a Mack truck? Whenever you have to deal with mo…
“What an amazing job you have,” a developer recently told me during a break at a conference. “You seem so passionate about it. i wish i could be paid to do something i like, too.” Sadly, he was not the first one to tell me something like this, and he won’t be the last. How can great developers reach the next level and do what they like for a living? How come someone like me, an averag…
This is a practical book that will tell you everything you need to know to solve and create Sudoku puzzles in C. My intention is not to teach you how to become a software developer but rather how to use computer programs to deal with Sudokus. Therefore, you will not find here theoretical analyses of algorithms, solvability problems, or complexity theory. All the code I present and comment on in…
As its main theme, the book presents qualitative research from a practical perspective. Such a view reveals insights into how qualitative research is done, at the ground level. The approach should be especially useful if in fact you are actually wanting to conduct a qualitative study—whether it is to be self-standing, part of a larger study, or an academic or training assignment for an underg…
This book is about Tcl, the scripting language developed by John Ousterhout. Tcl stands for tool command language and was originally designed as a simple scripting language interpreter that could be embedded inside applications written in the C language. With the addition of the Tk graphical toolkit and a host of other language extensions supporting such features as graphics, relational databas…
One of the simplest and natural types of information representation is by means of written texts. Data to be processed often does not decompose into independent records. This type of data is characterized by the fact that it can be written down as a long sequence of characters. Such linear sequence is called a text. The texts are central in "word processing" systems, which provide facilities fo…
The very first time was when I took a programming class during my freshman year of college. It was a mandatory course for the curriculum Ihad decided to enroll in. It wasn’t like what I had seen in so many movies during my child- hood. I didn’t type in a few simple commands, press ENTER, and watch a trash-can robot say “hello.” There wasn’t even a trash-can robot in this class. Inste…
This volume, Managing the Risks of Extreme Events and Disasters to Advance Climate Change Adaptation, is a Special Report of the Intergovernmental Panel on Climate Change (IPCC). The report is a collaborative effort of Working Group I (WGI) and Working Group II (WGII). The IPCC leadership team for this report also has responsibility for the IPCC Fifth Assessment Report (AR5), scheduled for c…
This volume, Managing the Risks of Extreme Events and Disasters to Advance Climate Change Adaptation, is a Special Report of the Intergovernmental Panel on Climate Change (IPCC). The report is a collaborative effort of Working Group I (WGI) and Working Group II (WGII). The IPCC leadership team for this report also has responsibility for the IPCC Fifth Assessment Report (AR5), scheduled for c…
Since its early ARPANET inception during the Cold War, the Internet has grown by a staggering nine orders of magnitude. Today, the Internet and the World Wide Web pervade our lives, having fundamentally altered the way we seek, exchange, distribute, and process information. The Internet has become a powerful social force, transforming communication, entertainment, commerce, politics, medicine, …
This book is for anyone who has basic knowledge of web development and who wants to enhance their knowledge on mobile website performance optimization. By reading this book, a user will get to know how to measure their website's performance, the tools they can use to debug and monitor their website, and the tips and tricks to optimize their website.
Let’s get familiar with dRuby. dRuby stands for “distributed Ruby.” It’s one of the standard libraries that comes with the Ruby core code, and you can use it to write distributed programming apps without the hassle of installing and configuring additional components. In this chapter (because it’s an unwritten rule), we’ll start with “Hello, World” and then create a small reminde…
When learning a new language, there are three things that you need to understand. The first and most important is the abstract model that the language presents. The next is the concrete syntax. Finally, you need to learn your way around the standard libraries and the common idioms of the language. This chapter will look at the abstract model that Go presents to programmers. If you want to dive…
When this book was conceived, our first instinct was to create a comprehensive comparison between Clojure and its host language, Java. After further reflection, we reached the conclusion that such an approach would be disingenuous at best, and disastrous at worst. Granted, some points of comparison can’t be avoided, but Java is very different from Clojure and to try and distort one to explain…
In this book, I describe the Linux programming interface-the system calls, library functions, and other low-level interfaces are used, directly or indirectly, by every program that runs on Linux.