Best of
Coding
2011
Game Programming Patterns
Robert Nystrom - 2011
Commercial game development expert Robert Nystrom presents an array of general solutions to problems encountered in game development. For example, you'll learn how double-buffering enables a player to perceive smooth and realistic motion, and how the service locator pattern can help you provide access to services such as sound without coupling your code to any particular sound driver or sound hardware. Games have much in common with other software, but also a number of unique constraints. Some of the patterns in this book are well-known in other domains of software development. Other of the patterns are unique to gaming. In either case, Robert Nystrom bridges from the ivory tower world of software architecture to the in-the-trenches reality of hardcore game programming. You'll learn the patterns and the general problems that they solve. You'll come away able to apply powerful and reusable architectural solutions that enable you to produce higher quality games with less effort than before. Applies classic design patterns to game programming. Introduces new patterns specific to game programming. Brings abstract software architecture down to Earth with approachable writing and an emphasis on simple code that shows each pattern in practice. What you'll learn Overcome architectural challenges unique to game programming Apply lessons from the larger software world to games. Tie different parts of a game (graphics, sound, AI) into a cohesive whole. Create elegant and maintainable architecture. Achieve good, low-level performance. Gain insight into professional, game development. Who this book is forGame Programming Patterns is aimed at professional game programmers who, while successful in shipping games, are frustrated at how hard it sometimes is to add and modify features when a game is under development. Game Programming Patterns shows how to apply modern software practices to the problem of game development while still maintaining the blazing-fast performance demanded by hard-core gamers. Game Programming Patterns also appeals to those learning about game programming in their spare time. Hobbyists and aspiring professionals alike will find much to learn in this book about pathfinding, collision detection, and other game-programming problem domains.
HTML and CSS: Design and Build Websites
Jon Duckett - 2011
Joining the professional web designers and programmers are new audiences who need to know a little bit of code at work (update a content management system or e-commerce store) and those who want to make their personal blogs more attractive. Many books teaching HTML and CSS are dry and only written for those who want to become programmers, which is why this book takes an entirely new approach. • Introduces HTML and CSS in a way that makes them accessible to everyone—hobbyists, students, and professionals—and it’s full-color throughout • Utilizes information graphics and lifestyle photography to explain the topics in a simple way that is engaging • Boasts a unique structure that allows you to progress through the chapters from beginning to end or just dip into topics of particular interest at your leisureThis educational book is one that you will enjoy picking up, reading, then referring back to. It will make you wish other technical topics were presented in such a simple, attractive and engaging way!
The Clean Coder: A Code of Conduct for Professional Programmers
Robert C. Martin - 2011
They treat it as a craft. They are professionals. In
The Clean Coder: A Code of Conduct for Professional Programmers,
legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice-about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act. Readers will learn What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding, and get past writer's block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time, and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say "No"-and how to say it When to say "Yes"-and what yes really means Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn't written by machines. It is written by professionals with an unshakable commitment to craftsmanship.
The Clean Coder
will help you become one of them-and earn the pride and fulfillment that they alone possess.
Eloquent Ruby
Russ Olsen - 2011
In
Eloquent Ruby,
Russ Olsen helps you write Ruby like true Rubyists do-so you can leverage its immense, surprising power. Olsen draws on years of experience internalizing the Ruby culture and teaching Ruby to other programmers. He guides you to the "Ah Ha!" moments when it suddenly becomes clear why Ruby works the way it does, and how you can take advantage of this language's elegance and expressiveness.
Eloquent Ruby
starts small, answering tactical questions focused on a single statement, method, test, or bug. You'll learn how to write code that actually looks like Ruby (not Java or C#); why Ruby has so many control structures; how to use strings, expressions, and symbols; and what dynamic typing is really good for. Next, the book addresses bigger questions related to building methods and classes. You'll discover why Ruby classes contain so many tiny methods, when to use operator overloading, and when to avoid it. Olsen explains how to write Ruby code that writes its own code-and why you'll want to. He concludes with powerful project-level features and techniques ranging from gems to Domain Specific Languages. A part of the renowned Addison-Wesley Professional Ruby Series,
Eloquent Ruby
will help you "put on your Ruby-colored glasses" and get results that make you a true believer.
The Robert C. Martin Clean Code Collection (Collection)
Robert C. Martin - 2011
Martin Clean Code Collection consists of two bestselling eBooks:Clean Code: A Handbook of Agile Software Craftmanship The Clean Coder: A Code of Conduct for Professional Programmers In Clean Code, legendary software expert Robert C. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code "on the fly" into a book that will instill within you the values of a software craftsman and make you a better programmer--but only if you work at it. You will be challenged to think about what's right about that code and what's wrong with it. More important, you will be challenged to reassess your professional values and your commitment to your craft. In The Clean Coder, Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice--about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act. Readers of this collection will come away understandingHow to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding and get past writer's block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say "No"--and how to say it When to say "Yes"--and what yes really means
The Art of Computer Programming, Volumes 1-4a Boxed Set
Donald Ervin Knuth - 2011
Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books. "I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up.""--"Charles Long Primarily written as a reference, some people have nevertheless found it possible and interesting to read each volume from beginning to end. A programmer in China even compared the experience to reading a poem. "If you think you're a really good programmer... read Knuth's] "Art of Computer Programming.".. You should definitely send me a resume if you can read the whole thing.""--"Bill Gates Whatever your background, if you need to do any serious computer programming, you will find your own good reason to make each volume in this series a readily accessible part of your scholarly or professional library. "It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.""--"Jonathan LaventholIn describing the new fourth volume, one reviewer listed the qualities that distinguish all of Knuth's work. In sum: ] "detailed coverage of the basics, illustrated with well-chosen examples; occasional forays into more esoteric topics and problems at the frontiers of research; impeccable writing peppered with occasional bits of humor; extensive collections of exercises, all with solutions or helpful hints; a careful attention to history; implementations of many of the algorithms in his classic step-by-step form."--Frank RuskeyThese four books comprise what easily could be the most important set of information on any serious programmer's bookshelf.
Python for Data Analysis
Wes McKinney - 2011
It is also a practical, modern introduction to scientific computing in Python, tailored for data-intensive applications. This is a book about the parts of the Python language and libraries you'll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods using Python as the implementation language.Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It's ideal for analysts new to Python and for Python programmers new to scientific computing.Use the IPython interactive shell as your primary development environmentLearn basic and advanced NumPy (Numerical Python) featuresGet started with data analysis tools in the pandas libraryUse high-performance tools to load, clean, transform, merge, and reshape dataCreate scatter plots and static or interactive visualizations with matplotlibApply the pandas groupby facility to slice, dice, and summarize datasetsMeasure data by points in time, whether it's specific instances, fixed periods, or intervalsLearn how to solve problems in web analytics, social sciences, finance, and economics, through detailed examples
Professional C++
Marc Gregoire - 2011
With this no-nonsense book, you will learn to conquer the latest release of C++. The author deciphers little-known features of C++, shares detailed code examples that you can then plug into your own code, and reveals the significant changes to C++ that accompany the latest release. You'll discover how to design and build applications that solve real-world problems and then implement the solution using the full capabilities of the language.Appeals to experienced developers who are looking for a higher level of learningDrills down the extensive changes to the latest C++ standard, C++11, including enhancements made to run-time performance, standard library, language usability, and core language Zeroes in on explaining the more poorly understood elements of the C++ feature set and addresses common pitfalls to avoid Includes case studies that feature extensive, working code that has been tested on Windows and Linux platforms Intertwines text with useful tips, tricks, and workarounds Packed with best practices for programming, testing, and debugging applications, this book is vital for taking your C++ skills to the next level.
The Python Standard Library by Example
Doug Hellmann - 2011
The Python Standard Library by Example (2 Volume Set) introduces virtually every important area of the Python 2.7 library through concise, stand-alone source code/output examples, designed for easy learning and reuse. Building on his popular Python Module of the Week blog series, author and Python expert Doug Hellmann focuses on "showing" not "telling." He explains code behavior through downloadable examples that fully demonstrate each feature. You'll find practical code for working with text, data types, algorithms, math, file systems, networking, the Internet, XML, email, cryptography, concurrency, runtime and language services, and much more. Each section fully covers one module, and links to valuable additional resources, making this book an ideal tutorial and reference. Coverage includes Manipulating text with string, textwrap, re, and difflibImplementing data structures: collections, array, queue, struct, copy, and moreReading, writing, and manipulating files and directoriesRegular expression pattern matchingExchanging data and providing for persistence Archiving and data compressionManaging processes and threadsUsing application "building blocks" parsing command-line options, prompting for passwords, scheduling events, and loggingTesting, debugging, and compilationControlling runtime configurationUsing module and package utilities If you're new to Python, this book will quickly give you access to a whole new world of functionality. If you've worked with Python before, you'll discover new, powerful solutions and better ways to use the modules you've already tried.
Under the Hood of .NET Memory Management
Chris Farrell - 2011
Once you're up to speed, you can dive into the guided troubleshooting tour, and tips for engineering your application to maximise performance. And to finish off, take a look at some more sophisticated considerations, and even a peek inside the Windows memory model.
A Touch of Code: Interactive Installations and Experiences
Robert Klanten - 2011
Against this background, unprecedented new tools and possibilities are opening up for the world of design. In addition to sketchbooks and computers, young designers are increasingly using programming languages, soldering irons,sensors, and microprocessors as well as 3D milling or rapid prototyping machines in their work. The innovative use of powerful hardware and software has become affordable and, most of all, much easier to use. Today, the sky is the limit when it comes to ideas for experimental media, unconventional interfaces, and interactive spatial experiences. A Touch of Code shows how information becomes experience. The book examines how surprising personal experiences are created where virtual realms meet the real world and where dataflow confronts the human senses. It presents an international spectrum of interdisciplinary projects at the intersection of laboratory, trade show, and urban space that play with the new frontiers of perception, interaction, and staging created by current technology. These include brand and product presentations as well as thematic exhibits, architecture, art, and design. The comprehensive spectrum of innovative spatial and interactive work in A Touch of Code reveals how technology is fundamentally changing and expanding strategies for the targeted use of architecture, art, communication, and design for the future.
Is Parallel Programming Hard, And, If So, What Can You Do About It?
Paul McKenney - 2011
By describing the algorithms and designs that have worked well in the past, we hope to help you avoid at least some of the pitfalls that have beset parallel projects. But you should think of this book as a foundation on which to build, rather than as a completed cathedral. You mission, if you choose to accept, is to help make further progress in the exciting field of parallel programming, progress that should in time render this book obsolete. Parallel programming is not as hard as it is reputed, and it is hoped that this book makes it even easier for you.
Embedded Android: Porting, Extending, and Customizing
Karim Yaghmour - 2011
You'll also receive updates when significant changes are made, as well as the final ebook version. Embedded Android is for Developers wanting to create embedded systems based on Android and for those wanting to port Android to new hardware, or creating a custom development environment. Hackers and moders will also find this an indispensible guide to how Android works.
Bulletproof Web Design: Improving flexibility and protecting against worst-case scenarios with HTML5 and CSS3 (Voices That Matter)
Dan Cederholm - 2011
In Bulletproof Web Design, Third Edition, bestselling author and web designer Dan Cederholm outlines standards-based strategies for building designs that provide flexibility, readability, and user control--key components of every successful site. Each chapter starts out with an example of an unbulletproof site--one that employs a traditional HTML-based approach--which Dan then deconstructs, pointing out its limitations. He then gives the site a makeover using HTML and CSS, so you can see how to replace bloated code with lean markup and CSS for fast-loading sites that are accessible to all users. Finally, he covers several popular fluid and elastic-width layout techniques and pieces together all of the page components discussed in prior chapters into a single-page template. This fully updated third edition brings examples up to date by offering additional CSS3 and HTML5 methods that weren't an option before. Redesigned case studies with new Responsive Design examples add visual appeal and value to the book. This edition also removes outdated workarounds for IE5 and Netscape and de-emphasizes IE6.
Pro Drupal 7 for Windows Developers
Brian Travis - 2011
Pro Drupal 7 for Windows Developers starts with the Drupal page model, which Windows programmers can contrast against the ASP.NET page model. You will then explore the various features of Drupal, including the hook model, theming, roles, and caching. You'll also discover the data abstraction layer which lays the foundation for integration with your enterprise-level databases and external systems. Pro Drupal 7 for Windows Developers focuses on the important topics for the programmer coming to Drupal:An up-to-speed introduction to Drupal for developers so that they can get past the initial learning curve most efficiently. Key introductions to the important features of Drupal, including the page model, the hook architecture, the theming layer, and custom module development. How to work with the Drupal 7 features you want to work with within the Windows development environment. Step-by-step tutorials on building, testing, and deploying custom modules for internal use or for sharing with the Drupal community. Pro Drupal 7 for Windows Developers provides a bridge to Drupal for you as a Windows developer--by speaking your language!
Shell Scripting: Expert Recipes for Linux, Bash, and More
Steve Parker - 2011
With this book, Linux expert Steve Parker shares a collection of shell scripting recipes that can be used as is or easily modified for a variety of environments or situations. The book covers shell programming, with a focus on Linux and the Bash shell; it provides credible, real-world relevance, as well as providing the flexible tools to get started immediately.Shares a collection of helpful shell scripting recipes that can immediately be used for various of real-world challenges Features recipes for system tools, shell features, and systems administration Provides a host of plug and play recipes for to immediately apply and easily modify so the wheel doesn't have to be reinvented with each challenge faced Come out of your shell and dive into this collection of tried and tested shell scripting recipes that you can start using right away!
Document Design for MongoDB
Jeremy McAnally - 2011
Documents have structure, and that structure has important implications for the behavior and performance of your database. This book shows you how to design your documents so that you will be working with MongoDB, rather than fighting against it.