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.

Structure and Interpretation of Computer Programs


Harold Abelson - 1984
    This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

The Art of Blacksmithing


Alex W. Bealer - 1996
    This book describes and illustrates the equipment and techniques developed in more than six thousand years of working iron by hand.Indeed, this unique book covers every aspect of a fascinating and little-known art, the fundamental craft on which the civilization of the Iron Age was built.

The Lost Art of Reading Nature’s Signs: Use Outdoor Clues to Find Your Way, Predict the Weather, Locate Water, Track Animals—and Other Forgotten Skills


Tristan Gooley - 2014
    The roots of a tree indicate the sun’s direction; the Big Dipper tells the time; a passing butterfly hints at the weather; a sand dune reveals prevailing wind; the scent of cinnamon suggests altitude; a budding flower points south. To help you understand nature as he does, Gooley shares more than 850 tips for forecasting, tracking, and more, gathered from decades spent walking the landscape around his home and around the world. Whether you’re walking in the country or city, along a coastline, or by night, this is the ultimate resource on what the land, sun, moon, stars, plants, animals, and clouds can reveal—if you only know how to look!

Back to Basics: A Complete Guide to Traditional Skills


Abigail R. Gehring - 2007
    Created to both inspire and instruct, it returns readers to an era before power saws and fast food restaurants so they can rediscover the pleasures and challenges of a more self-sufficient, economical, and healthy lifestyle. Packed with hundreds of projects, step-by-step sequences, charts, tables, diagrams, and illustrations, it explains how to dye your own wool with plant pigments, graft trees for propagation, raise chickens, create a hutch table with hand tools, and make treats such as blueberry peach jam and cheddar cheese. The truly ambitious will learn how to build a log cabin or an adobe brick homestead.

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

Feynman Lectures On Computation


Richard P. Feynman - 1996
    Feynman gave his famous course on computation at the California Institute of Technology, he asked Tony Hey to adapt his lecture notes into a book. Although led by Feynman, the course also featured, as occasional guest speakers, some of the most brilliant men in science at that time, including Marvin Minsky, Charles Bennett, and John Hopfield. Although the lectures are now thirteen years old, most of the material is timeless and presents a “Feynmanesque” overview of many standard and some not-so-standard topics in computer science such as reversible logic gates and quantum computers.

The ARRL Ham Radio License Manual


American Radio Relay League - 1988
    The Amateur Radio Service offers a unique mix of public service, technology and experimenting with electronics all with an emphasis on fun. Some hams use their skills to provide communications during emergencies and disasters when all else fails. Others enjoy talking to people across the country and around the globe, participating in local contests and building experiments. The ARRL Ham Radio License Manual will guide you as you get started in the hobby as you select your equipment, set-up your first station and make your first contact.Easy-to-understand bite-sized sections. Use this book, and pass the 35-question Technician Class license test.Includes the latest question pool with answer key, for use through June 30, 2018.NEW! Use with ARRL s online Exam Review for Ham Radio.Designed for self-study and for classroom use. Intended for all newcomers, instructors and schoolteachers.Use this book to study for your license exam. Every page presents information you will need to pass the exam and become an effective operator. You'll cover small sections at a time:Welcome to Amateur RadioRadio and Signals FundamentalsElectricity, Components, and CircuitsPropagation, Antennas, and Feed LinesAmateur Radio EquipmentCommunicating With Other HamsLicensing RegulationsOperating RegulationsSafetyAt the end of the book, you'll find the entire Technician Question Pool.NEW FEATURE: Online Review and Practice Exams. As you complete each chapter of this book, use ARRL's online Exam Review for Ham Radio to help prepare you for exam day. This web-based service uses the question pool to construct chapter-by-chapter reviews. Once you've finished this book, use the online service to take practice exams with the same number and variety of questions that you'll encounter on exam day. You won't have any surprises on exam day!

Systems Analysis and Design


Alan Dennis - 2002
    Building on their experience as professional systems analysts and award-winning teachers, authors Dennis, Wixom, and Roth capture the experience of developing and analyzing systems in a way that students can understand and apply.With Systems Analysis and Design, 4th edition , students will leave the course with experience that is a rich foundation for further work as a systems analyst.

The 4-Hour Chef: The Simple Path to Cooking Like a Pro, Learning Anything, and Living the Good Life


Timothy Ferriss - 2012
    It’s a choose-your-own-adventure guide to the world of rapid learning.#1 New York Times bestselling author (and lifelong non-cook) Tim Ferriss takes you from Manhattan to Okinawa, and from Silicon Valley to Calcutta, unearthing the secrets of the world’s fastest learners and greatest chefs. Ferriss uses cooking to explain “meta-learning,” a step-by-step process that can be used to master anything, whether searing steak or shooting 3-pointers in basketball. That is the real “recipe” of The 4-Hour Chef.You'll train inside the kitchen for everything outside the kitchen. Featuring tips and tricks from chess prodigies, world-renowned chefs, pro athletes, master sommeliers, super models, and everyone in between, this “cookbook for people who don’t buy cookbooks” is a guide to mastering cooking and life.The 4-Hour Chef is a five-stop journey through the art and science of learning:1. META-LEARNING. Before you learn to cook, you must learn to learn. META charts the path to doubling your learning potential.2. THE DOMESTIC. DOM is where you learn the building blocks of cooking. These are the ABCs (techniques) that can take you from Dr, Seuss to Shakespeare.3. THE WILD. Becoming a master student requires self-sufficiency in all things. WILD teaches you to hunt, forage, and survive.4. THE SCIENTIST. SCI is the mad scientist and modernist painter wrapped into one. This is where you rediscover whimsy and wonder.5. THE PROFESSIONAL. Swaraj, a term usually associated with Mahatma Gandhi, can be translated as “self-rule.” In PRO, we’ll look at how the best in the world become the best in the world, and how you can chart your own path far beyond this book.

Introduction to Algorithms


Thomas H. Cormen - 1989
    Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.

Journey through Genius: The Great Theorems of Mathematics


William Dunham - 1990
    Now William Dunham gives them the attention they deserve.Dunham places each theorem within its historical context and explores the very human and often turbulent life of the creator — from Archimedes, the absentminded theoretician whose absorption in his work often precluded eating or bathing, to Gerolamo Cardano, the sixteenth-century mathematician whose accomplishments flourished despite a bizarre array of misadventures, to the paranoid genius of modern times, Georg Cantor. He also provides step-by-step proofs for the theorems, each easily accessible to readers with no more than a knowledge of high school mathematics.A rare combination of the historical, biographical, and mathematical, Journey Through Genius is a fascinating introduction to a neglected field of human creativity.

The Complete Guide to Sharpening


Leonard Lee - 1995
    Descriptive photos, clear line drawings and step-by-step instructions show exactly how to improve the performance and safety of any cutting tool. 255 photos.

Compilers: Principles, Techniques, and Tools


Alfred V. Aho - 1986
    The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.

Gravitation


Charles W. Misner - 1973
    These sections together make an appropriate one-term advanced/graduate level course (mathematical prerequisites: vector analysis and simple partial-differential equations). The book is printed to make it easy for readers to identify these sections.• The remaining Track 2 material provides a wealth of advanced topics instructors can draw from to flesh out a two-term course, with Track 1 sections serving as prerequisites.