Best of
Coding

2010

Metaprogramming Ruby


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

iPhone Programming (Big Nerd Ranch Guides)


Joe Conway - 2010
    In each chapter, you will learn programming concepts and apply them immediately as you build an application or enhance one from a previous chapter. These applications have been carefully designed and tested to teach the associated concepts and to provide practice working with the standard development tools Xcode, Interface Builder, and Instruments. The guide’s learn-while-doing approach delivers the practical knowledge and experience you need to design and build real-world applications.

JavaScript Patterns


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

The D Programming Language


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

Hardboiled Web Design


Andy Clarke - 2010
    Do you really need another one?Hardboiled Web Design is different. It’s for people who want to understand why, when and how to use the latest HTML5 and CSS3 technologies in their everyday work. Not tomorrow or next week, but today. It won’t teach you the basics of writing markup or CSS, but if you’re hungry to learn about how the latest technologies and techniques will make your websites and applications more creative, flexible and adaptable, then this is the book for you.Are you ready to get hardboiled?

C# 4.0 in a Nutshell


Joseph Albahari - 2010
    It is a book I recommend." --Scott Guthrie, Corporate Vice President, .NET Developer Platform, Microsoft Corporation "A must-read for a concise but thorough examination of the parallel programming features in the .NET Framework 4." --Stephen Toub, Parallel Computing Platform Program Manager, Microsoft "This wonderful book is a great reference for developers of all levels." -- Chris Burrows, C# Compiler Team, Microsoft When you have questions about how to use C# 4.0 or the .NET CLR, this highly acclaimed bestseller has precisely the answers you need. Uniquely organized around concepts and use cases, this fourth edition includes in-depth coverage of new C# topics such as parallel programming, code contracts, dynamic programming, security, and COM interoperability. You'll also find updated information on LINQ, including examples that work with both LINQ to SQL and Entity Framework. This book has all the essential details to keep you on track with C# 4.0. Get up to speed on C# language basics, including syntax, types, and variables Explore advanced topics such as unsafe code and preprocessor directives Learn C# 4.0 features such as dynamic binding, type parameter variance, and optional and named parameters Work with .NET 4's rich set of features for parallel programming, code contracts, and the code security model Learn .NET topics, including XML, collections, I/O and networking, memory management, reflection, attributes, security, and native interoperability

Test-Driven Web Development with Python


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

Eloquent JavaScript: A Modern Introduction to Programming


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

Ruby on Rails 3 Tutorial: Learn Rails by Example


Michael Hartl - 2010
    Although its remarkable capabilities have made Ruby on Rails one of the world’s most popular web development frameworks, it can be challenging to learn and use. Ruby on Rails™ 3 Tutorial is the solution. Leading Rails developer Michael Hartl teaches Rails 3 by guiding you through the development of your own complete sample application using the latest techniques in Rails web development.Drawing on his experience building RailsSpace, Insoshi, and other sophisticated Rails applications, Hartl illuminates all facets of design and implementation—including powerful new techniques that simplify and accelerate development.You’ll find integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, JavaScript, and SQL skills you’ll need when developing web applications. Hartl explains how each new technique solves a real-world problem, and he demonstrates this with bite-sized code that’s simple enough to understand, yet novel enough to be useful. Whatever your previous web development experience, this book will guide you to true Rails mastery.This book will help you Install and set up your Rails development environment Go beyond generated code to truly understand how to build Rails applications from scratch Learn Test Driven Development (TDD) with RSpec Effectively use the Model-View-Controller (MVC) pattern Structure applications using the REST architecture Build static pages and transform them into dynamic ones Master the Ruby programming skills all Rails developers need Define high-quality site layouts and data models Implement registration and authentication systems, including validation and secure passwords Update, display, and delete users Add social features and microblogging, including an introduction to Ajax Record version changes with Git and share code at GitHub Simplify application deployment with Heroku

Bash Pocket Reference: Help for Power Users and Sys Admins


Arnold Robbins - 2010
    This concise little book puts all of the essential information about Bash right at your fingertips.You'll quickly find answers to the annoying questions that generally come up when you're writing shell scripts: What characters do you need to quote? How do you get variable substitution to do exactly what you want? How do you use arrays? Updated for Bash version 4.4, this book has the answers to these and other problems in a format that makes browsing quick and easy.Topics include:Invoking the shellSyntaxFunctions and variablesArithmetic expressionsCommand historyProgrammable completionJob controlShell optionsCommand executionCoprocessesRestricted shellsBuilt-in commands

Pearls of Functional Algorithm Design


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

Oracle Jrockit: The Definitive Guide


Marcus Hirt - 2010
    

The LEGO Technic Idea Book: Simple Machines


Yoshihito Isogawa - 2010
    Each project uses color-coded pieces and is photographed from multiple angles, making it easy to see how the models are assembled without the need for step-by-step instructions. Every model illustrates a different principle, concept, or mechanism that will inspire your own original creations. You're encouraged to use these elements as building blocks to create your own masterpieces.The Technic models in Simple Machines demonstrate basic configurations of gears, shafts, pulleys, turntables, connectors, and the like. You'll learn how to create small, elegant machines like cranes, operable doors, motorized cars, a rubber band-powered rocket launcher, a hand-cranked drag racer, and even musical instruments.This visual guide, the first in the three-volume LEGO Technic Idea Book series, is the brainchild of master builder Yoshihito Isogawa of Tokyo, Japan. Each title is filled with photos of Isogawa's unique models, all of which are designed to fire the imaginations of LEGO builders young and old.Imagine. Create. Invent. Now, what will you build?NOTE: The LEGO Technic Idea Book series uses parts from various Technic sets. If you don't have some of the pieces shown in a particular model, experiment by substituting your own parts or visit the No Starch Press website for a list of the special parts used in the book.

The LEGO Technic Idea Book: Wheeled Wonders


Yoshihito Isogawa - 2010
    Each project uses color-coded pieces and is photographed from multiple angles, making it easy to see how the models are assembled without the need for step-by-step instructions. Every model illustrates a different principle, concept, or mechanism that will inspire your own original creations. You're encouraged to use these elements as building blocks to create your own masterpieces.The Technic models in Wheeled Wonders spin or move things, drag race, haul heavy gear, bump off walls, wind up and go, and much more. You'll discover how to build differential gears, implement steering and suspension, and design clutch and transmission systems to use in your own vehicles.This visual guide, the second in the three-volume LEGO Technic Idea Book series, is the brainchild of master builder Yoshihito Isogawa of Tokyo, Japan. Each title is filled with photos of Isogawa's unique models, all of which are designed to fire the imaginations of LEGO builders young and old.Imagine. Create. Invent. Now, what will you build?NOTE: The LEGO Technic Idea Book series uses parts from various Technic sets. If you don't have some of the pieces shown in a particular model, experiment by substituting your own parts or visit the No Starch Press website for a list of the special parts used in the book.

Essentials of Metaheuristics


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

The LEGO Technic Idea Book: Fantastic Contraptions


Yoshihito Isogawa - 2010
    Each project uses color-coded pieces and is photographed from multiple angles, making it easy to see how the models are assembled without the need for step-by-step instructions. Every model illustrates a different principle, concept, or mechanism that will inspire your own original creations. You're encouraged to use these elements as building blocks to create your own masterpieces.The Technic models in Fantastic Contraptions include working catapults, crawling spiders, and bipedal walkers, as well as gadgets powered by fans, propellers, springs, magnets, and vibration. You'll even learn how to add lights, pneumatics, and solar panels to your own models.This visual guide, the third in the three-volume LEGO Technic Idea Book series, is the brainchild of master builder Yoshihito Isogawa of Tokyo, Japan. Each title is filled with photos of Isogawa's unique models, all of which are designed to fire the imaginations of LEGO builders young and old.Imagine. Create. Invent. Now, what will you build?NOTE: The LEGO Technic Idea Book series uses parts from various Technic sets. If you don't have some of the pieces shown in a particular model, experiment by substituting your own parts or visit the No Starch Press website for a list of the special parts used in the book.

Introduction to C# Joes 2 Pros


Peter Bako - 2010
    Many people realize that the easiest way to learn is by seeing and doing. Introduction to C# takes this easy to follow approach, with lots of opportunity to practice, plenty of pictures to verify your work, easy to follow explanations, and plenty of sample code to examine. In no time at all, you can start writing simple programs of your own design, using one of the most vibrant and popular languages of today, C#. To save you time, all of the code presented in the book (both in the chapters and for the challenges), can be downloaded from the Joes2Pros website!

Game Engine Design and Implementation: Foundations of Game Development


Alan Thorn - 2010
    But, what is a game engine? What does it do? How are they useful to both developers and the game? And how are they made? These, and other important engine related questions, are explored and discussed in this book. In clear and concise language, this book examines through examples and exercises both the design and implementation of a video game engine. Specifically, it focuses on the core components of a game engine, audio and sound systems, file and resource management, graphics and optimization techniques, scripting and physics, and much more. Suitable for students, hobbyists, and independent developers, this no-nonsense book helps fine-tune an understanding of solid engine design and implementation for creating games that sell.

Developing High Quality Data Models


Matthew West - 2010
    It explains the purpose of data models in both developing an Enterprise Architecture and in supporting Information Quality; common problems in data model development; and how to develop high quality data models, in particular conceptual, integration, and enterprise data models.The book is organized into four parts. Part 1 provides an overview of data models and data modeling including the basics of data model notation; types and uses of data models; and the place of data models in enterprise architecture. Part 2 introduces some general principles for data models, including principles for developing ontologically based data models; and applications of the principles for attributes, relationship types, and entity types. Part 3 presents an ontological framework for developing consistent data models. Part 4 provides the full data model that has been in development throughout the book. The model was created using Jotne EPM Technologys EDMVisualExpress data modeling tool.This book was designed for all types of modelers: from those who understand data modeling basics but are just starting to learn about data modeling in practice, through to experienced data modelers seeking to expand their knowledge and skills and solve some of the more challenging problems of data modeling.

Gender Codes


Thomas Misa - 2010
    Today, fewer women enter computing than anytime in the past 25 years. This book provides an unprecedented look at the history of women and men in computing, detailing how the computing profession emerged and matured, and how the field became male coded. Women's experiences working in offices, education, libraries, programming, and government are examined for clues on how and where women succeeded--and where they struggled. It also provides a unique international dimension with studies examining the U.S., Great Britain, Germany, Norway, and Greece. Scholars in history, gender/women's studies, and science and technology studies, as well as department chairs and hiring directors will find this volume illuminating.

Professional Microsoft FAST Search: Customizing, Designing, and Deploying Search for SharePoint 2010 and Internet Servers


Mark Bennett - 2010
    This in-depth guide provides you with advanced coverage on FAST search and shows you how to use it to plan, customize, and deploy your search solution, with an emphasis on SharePoint 2010 and Internet-based search solutions.With a particular appeal for anyone responsible for implementing and managing enterprise search, this book presents the key features and functions that are available with FAST search. Real-world examples show you how the technology works and the author team of experts demonstrates how FAST can be used to solve key challenges in the Enterprise.FAST search is Microsoft's latest search-based technology that enables large companies to filter through enormous amounts of data to find very specific pieces of informationReviews the key features and functions of FAST and provides examples of how FAST can be used to solve common challenges you may faceCovers Enterprise Search and the Microsoft search product line, SharePoint-focused Enterprise search, and FAST search for Internet businessDemonstrates how to implement and manage an enterprise system with FAST searchAddresses the future of Enterprise search and the role FAST search will playDon't waste any time This book will help you act fast so you can get started implementing FAST search today.

Pro CSS for High Traffic Websites


Antony Kennedy - 2010
    There are many tips and tricks, as well as down-to-earth best practice information, to make sure that everything runs quickly and efficiently with the minimum amount of fuss or developer intervention. Targeted at "high traffic" websites--those receiving over 10,000 unique visitors a day--Pro CSS for High Traffic Websites gives you inside information from the professionals on how to get the most out of your web development team. The book covers the development processes required to smoothly set up an easy-to-maintain CSS framework across a large-volume website and to keep the code reusable and modular. It also looks at the business challenges of keeping branding consistent across a major website and sustaining performance at a premium level through traffic spikes and across all browsers. Defensive coding is considered for sites with third-party code or advertising requirements. It also covers keeping CSS accessible for all viewers, and examines some advanced dynamic CSS techniques.