Designing Sound
Andy Farnell - 2010
Its thesis is that any sound can be generated from first principles, guided by analysis and synthesis. The text takes a practitioner's perspective, exploring the basic principles of making ordinary, everyday sounds using an easily accessed free software. Readers use the Pure Data (Pd) language to construct sound objects, which are more flexible and useful than recordings. Sound is considered as a process, rather than as data--an approach sometimes known as "procedural audio." Procedural sound is a living sound effect that can run as computer code and be changed in real time according to unpredictable events. Applications include video games, film, animation, and media in which sound is part of an interactive process. The book takes a practical, systematic approach to the subject, teaching by example and providing background information that offers a firm theoretical context for its pragmatic stance. [Many of the examples follow a pattern, beginning with a discussion of the nature and physics of a sound, proceeding through the development of models and the implementation of examples, to the final step of producing a Pure Data program for the desired sound. Different synthesis methods are discussed, analyzed, and refined throughout.] After mastering the techniques presented in Designing Sound, students will be able to build their own sound objects for use in interactive applications and other projects
Where Wizards Stay Up Late: The Origins of the Internet
Katie Hafner - 1996
Today, twenty million people worldwide are surfing the Net. Where Wizards Stay Up Late is the exciting story of the pioneers responsible for creating the most talked about, most influential, and most far-reaching communications breakthrough since the invention of the telephone. In the 1960's, when computers where regarded as mere giant calculators, J.C.R. Licklider at MIT saw them as the ultimate communications devices. With Defense Department funds, he and a band of visionary computer whizzes began work on a nationwide, interlocking network of computers. Taking readers behind the scenes, Where Wizards Stay Up Late captures the hard work, genius, and happy accidents of their daring, stunningly successful venture.
MongoDB Applied Design Patterns
Rick Copeland - 2013
You’ll learn how to apply MongoDB design patterns to several challenging domains, such as ecommerce, content management, and online gaming. Using Python and JavaScript code examples, you’ll discover how MongoDB lets you scale your data model while simplifying the development process.Many businesses launch NoSQL databases without understanding the techniques for using their features most effectively. This book demonstrates the benefits of document embedding, polymorphic schemas, and other MongoDB patterns for tackling specific big data use cases, including:Operational intelligence: Perform real-time analytics of business dataEcommerce: Use MongoDB as a product catalog master or inventory management systemContent management: Learn methods for storing content nodes, binary assets, and discussionsOnline advertising networks: Apply techniques for frequency capping ad impressions, and keyword targeting and biddingSocial networking: Learn how to store a complex social graph, modeled after Google+Online gaming: Provide concurrent access to character and world data for a multiplayer role-playing game
Implementing Responsive Design: Building Sites for an Anywhere, Everywhere Web
Tim Kadlec - 2012
Browsers iterate at a remarkable pace. Faced with this volatile landscape we can either struggle for control or we can embrace the inherent flexibility of the web.Responsive design is not just another technique—it is the beginning of the maturation of a medium and a fundamental shift in the way we think about the web.Implementing Responsive Design is a discussion about how this affects the way we design, build, and think about our sites. Readers will learn how to:- Build responsive sites using a combination of fluid layouts, media queries and fluid media- Adopt a responsive workflow from the very start of a project- Enhance content for different devices- Use feature-detection and server-side enhancement to provide a richer experience
Presentation Zen Design: Simple Design Principles and Techniques to Enhance Your Presentations
Garr Reynolds - 2009
Now, he takes us further into the design realm and shows how we can apply time-honored design principles to presentation layouts.Throughout Presentation Zen Design, Garr shares his lessons on designing effective presentations that contain text, graphs, color, images, and video. After establishing guidelines for each of the various elements, he explains how to achieve an overall harmony and balance using the tenets of Zen simplicity. Not only will you discover how to design your slides for more professional-looking presentations, you'll learn to communicate more clearly and will accomplish the goal of making a stronger, more lasting connection with your audience.
Card Sorting
Donna Spencer - 2009
It helps you create information that is easy to find and understand. In "Card Sorting: Designing Usable Categories," Donna Spencer shows you how to plan and run a card sort, analyze the results, and apply the outcomes to your projects. TESTIMONIALS "This is a wonderful book on a much-needed topic. While card sorting is a basic tool of the trade, it's previously received short-shrift in any practical publication. Donna's done an amazing job explaining (in easy-to-understand terms) what every designer, architect, and researcher should know about the ins-and-outs of card sorting. (You might need to buy two copies, because I guarantee someone will borrow your first copy and never return it.)" �Jared M. Spool, CEO and Founding Principal, User Interface Engineering "This book is a fresh, clear, practical explanation of the value of card-sorting, how to do it, and how to use the results. Spencer mixes step-by-step instructions and good examples with just enough theory. You'll emerge from this book with new skills to create great user-centered information architectures--and smart responses to tricky questions from pesky stakeholders." �Tamara Adlin, Founding Partner, Fell Swoop, and co-author of The Persona Lifecycle: Keeping People in Mind Throughout Product Design "I wish we had this book when we first started doing card sorting. It's a fantastic handbook that is full of very practical advice and examples from Donna's extensive experience. We will be recommending it to all our customers." �Sam Ng, Creator of online card sorting tool OptimalSort "Donna has put together the definitive work on card sorting, a must have tool for all information architects. If you want to plan, run and analyse your own card sorts, this book has it all." �Andy Budd, User Experience Director, Clearleft
Building Microservices: Designing Fine-Grained Systems
Sam Newman - 2014
But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization's goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures
Getting Started with AWS
Amazon Web Services - 2012
Getting Started with AWS provides an introduction to Amazon Web Services, examples of what you can do with AWS, basic information that you need to know to get started, and links to resources and documentation that will help you learn more no matter what your use case is.
Photoshop Masking & Compositing
Katrin Eismann - 2004
Whether they're landscape or portrait photographers, illustrators or fine artists, masking and compositing are essential skills to master for combining images to the extent that it is impossible to tell where one image stops and the other one begins. Photoshop artist and educator Katrin Eismann takes readers through numerous step-by-step examples, highlighting the tools and techniques used for masking and combining images. Featuring work by leading artists and photographers, this book focuses on the techniques used to create compelling compositions, including making fast and accurate selections, mastering Photoshop's masking tools, and implementing the concept and photography from start to finish. The book addresses working with Photoshop's selection tools; selecting and maintaining fine details and edges; working with difficult image elements, such as cloth, hair, or translucent objects; and green-screen techniques. Katrin also addresses the creative aspects of image compositing, including how to start with a concept, plan and execute the photography, and seamlessly assemble the image. Combining technical direction and inspiration, this book will expand readers' imaginations, so they can fluidly and professionally create images with Photoshop.
High Performance JavaScript
Nicholas C. Zakas - 2010
The problem is that all of those lines of JavaScript code can slow down your apps. This book reveals techniques and strategies to help you eliminate performance bottlenecks during development. You'll learn how to improve execution time, downloading, interaction with the DOM, page life cycle, and more.
Yahoo! frontend engineer Nicholas C. Zakas and five other JavaScript experts -- Ross Harmes, Julien Lecomte, Steven Levithan, Stoyan Stefanov, and Matt Sweeney -- demonstrate optimal ways to load code onto a page, and offer programming tips to help your JavaScript run as efficiently and quickly as possible. You'll learn the best practices to build and deploy your files to a production environment, and tools that can help you find problems once your site goes live.
Identify problem code and use faster alternatives to accomplish the same task Improve scripts by learning how JavaScript stores and accesses data Implement JavaScript code so that it doesn't slow down interaction with the DOM Use optimization techniques to improve runtime performance Learn ways to ensure the UI is responsive at all times Achieve faster client-server communication Use a build system to minify files, and HTTP compression to deliver them to the browser
Designing the Internet of Things
Adrian McEwen - 2013
If you'd like to create the next must-have product, this unique book is the perfect place to start.Both a creative and practical primer, it explores the platforms you can use to develop hardware or software, discusses design concepts that will make your products eye-catching and appealing, and shows you ways to scale up from a single prototype to mass production.Helps software engineers, web designers, product designers, and electronics engineers start designing products using the Internet-of-Things approach Explains how to combine sensors, servos, robotics, Arduino chips, and more with various networks or the Internet, to create interactive, cutting-edge devices Provides an overview of the necessary steps to take your idea from concept through production If you'd like to design for the future, Designing the Internet of Things is a great place to start.
Game Engine Architecture
Jason Gregory - 2009
The concepts and techniques described are the actual ones used by real game studios like Electronic Arts and Naughty Dog. The examples are often grounded in specific technologies, but the discussion extends way beyond any particular engine or API. The references and citations make it a great jumping off point for those who wish to dig deeper into any particular aspect of the game development process.Intended as the text for a college level series in game programming, this book can also be used by amateur software engineers, hobbyists, self-taught game programmers, and existing members of the game industry. Junior game engineers can use it to solidify their understanding of game technology and engine architecture. Even senior engineers who specialize in one particular field of game development can benefit from the bigger picture presented in these pages.
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma - 1994
Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.
The Rails 3 Way
Obie Fernandez - 2010
"The Rails(TM) 3 Way"is the only comprehensive, authoritative guide to delivering production-quality code with Rails 3. Pioneering Rails expert Obie Fernandez and a team of leading experts illuminate the entire Rails 3 API, along with the idioms, design approaches, and libraries that make developing applications with Rails so powerful. Drawing on their unsurpassed experience and track record, they address the real challenges development teams face, showing how to use Rails 3 to maximize your productivity. Using numerous detailed code examples, the author systematically covers Rails 3 key capabilities and subsystems, making this book a reference that you will turn to again and again. He presents advanced Rails programming techniques that have been proven effective in day-to-day usage on dozens of production Rails systems and offers important insights into behavior-driven development and production considerations such as scalability. Dive deep into the Rails 3 codebase and discover why Rails is designed the way it is--and how to make it do what you want it to do.This book will help youLearn what's new in Rails 3 Increase your productivity as a web application developer Realize the overall joy in programming with Rails Leverage Rails' powerful capabilities for building REST-compliant APIs Drive implementation and protect long-term maintainability using RSpec Design and manipulate your domain layer using Active Record Understand and program complex program flows using Action Controller Master sophisticated URL routing concepts Use Ajax techniques via Rails 3 support for unobtrusive JavaScript Learn to extend Rails with popular gems and plugins, and how to write your own Extend Rails with the best third-party plug-ins and write your own Integrate email services into your applications with Action Mailer Improve application responsiveness with background processing Create your own non-Active Record domain classes using Active Model Master Rails' utility classes and extensions in Active Support
Designing Data-Intensive Applications
Martin Kleppmann - 2015
Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures