Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability


Steve Krug - 2000
    And it’s still short, profusely illustrated…and best of all–fun to read.If you’ve read it before, you’ll rediscover what made Don’t Make Me Think so essential to Web designers and developers around the world. If you’ve never read it, you’ll see why so many people have said it should be required reading for anyone working on Web sites.

Core Java 2, Volume I--Fundamentals (Core Series)


Cay S. Horstmann - 1999
    A no-nonsense tutorial and reliable reference, this book features thoroughly tested real-world examples. The most important language and library features are demonstrated with deliberately simple sample programs, but they aren't fake and they don't cut corners. More importantly, all of the programs have been updated for J2SE 5.0 and should make good starting points for your own code. You won't find any toy examples here. This is a book for programmers who want to write real code to solve real problems. Cay S. Horstmann is a professor of computer science at San Jose State University. Previously he was vice president and chief technology officer of Preview Systems Inc. and a consultant on C++, Java, and Internet programming for major corporations, universities, and organizations. Gary Cornell has written or cowritten more than twenty popular computer books. He has a Ph.D. from Brown University and has been a visiting scientist at IBM Watson Laboratories, as well as a professor at the University of Connecticut.

Test-Driven JavaScript Development


Christian Johansen - 2010
     Test-Driven JavaScript Development is a complete, best-practice guide to agile JavaScript testing and quality assurance with the test-driven development (TDD) methodology. Leading agile JavaScript developer Christian Johansen covers all aspects of applying state-of-the-art automated testing in JavaScript environments, walking readers through the entire development lifecycle, from project launch to application deployment, and beyond.Using real-life examples driven by unit tests, Johansen shows how to use TDD to gain greater confidence in your code base, so you can fearlessly refactor and build more robust, maintainable, and reliable JavaScript code at lower cost. Throughout, he addresses crucial issues ranging from code design to performance optimization, offering realistic solutions for developers, QA specialists, and testers.Coverage includes - Understanding automated testing and TDD - Building effective automated testing workflows - Testing code for both browsers and servers (using Node.js) - Using TDD to build cleaner APIs, better modularized code, and more robust software - Writing testable code - Using test stubs and mocks to test units in isolation - Continuously improving code through refactoring - Walking through the construction and automated testing of fully functional softwareThe accompanying Web site, tddjs.com, contains all of the book's code listings and additional resources.

Murach's HTML5 and CSS3: Training and Reference


Zak Ruvalcaba - 2011
    This title also teaches you how to use the HTML5 and CSS3 features alongside the earlier standards.

The Twelve-Factor App


Adam Wiggins - 2012
    The twelve-factor app is a methodology for building software-as-a-service apps that: - Use declarative formats for setup automation, to minimize time and cost for new developers joining the project; - Have a clean contract with the underlying operating system, offering maximum portability between execution environments; - Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration; - Minimize divergence between development and production, enabling continuous deployment for maximum agility; - And can scale up without significant changes to tooling, architecture, or development practices.The twelve-factor methodology can be applied to apps written in any programming language, and which use any combination of backing services (database, queue, memory cache, etc).

Programming Erlang


Joe Armstrong - 2007
    It's used worldwide by companies who need to produce reliable, efficient, and scalable applications. Invest in learning Erlang now.Moore's Law is the observation that the amount you can do on a single chip doubles every two years. But Moore's Law is taking a detour. Rather than producing faster and faster processors, companies such as Intel and AMD are producing multi-core devices: single chips containing two, four, or more processors. If your programs aren't concurrent, they'll only run on a single processor at a time. Your users will think that your code is slow.Erlang is a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerated systems that run for years with minimal failures.Erlang programs run seamlessly on multi-core computers: this means your Erlang program should run a lot faster on a 4 core processor than on a single core processor, all without you having to change a line of code.Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems to make a powerful language for building the massively parallel, networked applications of the future.This book presents Erlang and functional programming in the familiar Pragmatic style. And it's written by Joe Armstrong, one of the creators of Erlang.It includes example code you'll be able to build upon. In addition, the book contains the full source code for two interesting applications:A SHOUTcast server which you can use to stream music to every computer in your house, and a full-text indexing and search engine that can index gigabytes of data. Learn how to write programs that run on dozens or even hundreds of local and remote processors. See how to write robust applications that run even in the face of network and hardware failure, using the Erlang programming language.

Writing Idiomatic Python 2.7.3


Jeff Knupp - 2013
    Each idiom comes with a detailed description, example code showing the "wrong" way to do it, and code for the idiomatic, "Pythonic" alternative. *This version of the book is for Python 2.7.3+. There is also a Python 3.3+ version available.* "Writing Idiomatic Python" contains the most common and important Python idioms in a format that maximizes identification and understanding. Each idiom is presented as a recommendation to write some commonly used piece of code. It is followed by an explanation of why the idiom is important. It also contains two code samples: the "Harmful" way to write it and the "Idiomatic" way. * The "Harmful" way helps you identify the idiom in your own code. * The "Idiomatic" way shows you how to easily translate that code into idiomatic Python. This book is perfect for you: * If you're coming to Python from another programming language * If you're learning Python as a first programming language * If you're looking to increase the readability, maintainability, and correctness of your Python code What is "Idiomatic" Python? Every programming language has its own idioms. Programming language idioms are nothing more than the generally accepted way of writing a certain piece of code. Consistently writing idiomatic code has a number of important benefits: * Others can read and understand your code easily * Others can maintain and enhance your code with minimal effort * Your code will contain fewer bugs * Your code will teach others to write correct code without any effort on your part

Rails Antipatterns: Best Practice Ruby on Rails Refactoring


Chad Pytel - 2010
     Rails(TM) AntiPatterns identifies these widespread Rails code and design problems, explains why they're bad and why they happen--and shows exactly what to do instead.The book is organized into concise, modular chapters--each outlines a single common AntiPattern and offers detailed, cookbook-style code solutions that were previously difficult or impossible to find. Leading Rails developers Chad Pytel and Tammer Saleh also offer specific guidance for refactoring existing bad code or design to reflect sound object-oriented principles and established Rails best practices. With their help, developers, architects, and testers can dramatically improve new and existing applications, avoid future problems, and establish superior Rails coding standards throughout their organizations.This book will help you understand, avoid, and solve problems withModel layer code, from general object-oriented programming violations to complex SQL and excessive redundancy Domain modeling, including schema and database issues such as normalization and serialization View layer tools and conventions Controller-layer code, including RESTful code Service-related APIs, including timeouts, exceptions, backgrounding, and response codes Third-party code, including plug-ins and gems Testing, from test suites to test-driven development processes Scaling and deployment Database issues, including migrations and validations System design for "graceful degradation" in the real world

Land of LISP: Learn to Program in LISP, One Game at a Time!


Conrad Barski - 2010
    Land of Lisp brings the language into the real world, teaching Lisp by showing readers how to write several complete Lisp-based games, including a text adventure, an evolution simulation, and a robot battle. While building these games, readers learn the core concepts of Lisp programming, such as data types, recursion, input/output, object-oriented programming, and macros. And thanks to the power of Lisp, the code is short. Rather than bogging things down with reference information that is easily found online, Land of Lisp focuses on using Lisp for real programming. The book is filled with the author Conrad Barski's famous Lisp cartoons, featuring the Lisp alien and other zany characters.

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.

Applied Cryptography: Protocols, Algorithms, and Source Code in C


Bruce Schneier - 1993
    … The book the National Security Agency wanted never to be published." –Wired Magazine "…monumental… fascinating… comprehensive… the definitive work on cryptography for computer programmers…" –Dr. Dobb's Journal"…easily ranks as one of the most authoritative in its field." —PC Magazine"…the bible of code hackers." –The Millennium Whole Earth CatalogThis new edition of the cryptography classic provides you with a comprehensive survey of modern cryptography. The book details how programmers and electronic communications professionals can use cryptography—the technique of enciphering and deciphering messages-to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them into cryptographic software, and shows how they can be used to solve security problems. Covering the latest developments in practical cryptographic techniques, this new edition shows programmers who design computer applications, networks, and storage systems how they can build security into their software and systems. What's new in the Second Edition? * New information on the Clipper Chip, including ways to defeat the key escrow mechanism * New encryption algorithms, including algorithms from the former Soviet Union and South Africa, and the RC4 stream cipher * The latest protocols for digital signatures, authentication, secure elections, digital cash, and more * More detailed information on key management and cryptographic implementations

Molecular Biotechnology: Principles & Applications of Recombinant DNA


Bernard R. Glick - 1994
    The latest edition offers greatly expanded coverage of directed mutagenesis and protein engineering, therapeutic agents, and genetic engineering of plants. Updated chapters reflect recent developments in biotechnology and the societal issues related to it, such as cloning, gene therapy, and patenting and releasing genetically engineered organisms. Over 480 figures, including 200 that are new in this edition, illustrate all key concepts. "Milestones" summarize important research papers in the history of biotechnology and their effects on the field. As in previous editions, the authors clearly explain all concepts and techniques to provide maximum understanding of the subject, avoiding confusing scientific jargon and excessive detail wherever possible. Each chapter concludes with a summary, references, and review questions. Ideally suited as a text for third- and fourth-year undergraduates as well as graduate students, this book is also an excellent reference for health professionals, scientists, engineers, or attorneys interested in biotechnology.

Anatomy & Physiology


Boundless - 2013
    Boundless works with subject matter experts to select the best open educational resources available on the web, review the content for quality, and create introductory, college-level textbooks designed to meet the study needs of university students.<br><br>This textbook covers:<br><br><b>Human Anatomy and Physiology Introduction</b> -- Anatomy and Physiology Overview, Life, Homeostasis, Anatomical Terms, Clinical Cases<br><br><b>General Chemistry</b> -- Matter and Energy, Element Properties: Atomic structure, Chemical Bonds, Chemical Reactions, Inorganic Compounds, Organic Compounds<br><br><b>Cellular Structure and Function</b> -- the study of cells, Cell membranes and the fluid mosaic model, Transport across membranes, How reception works in cell signaling, Nucleus and Ribosomes, Organelles, The Cytoskeleton, External cellular components, Cell division: process and importance, The cell cycle, Transcription and translation, RNA processing, Translation to a polypeptide, Transcription, Apoptosis signals an orderly cell death<br><br><b>Tissues</b> -- Epithelial Tissue, Cell Junctions, Clinical Cases, Tissue Repair, Tissue Development, Cancer, Connective Tissue, Membranes, Nervous Tissue<br><br><b>The Integumentary System</b> -- The Skin, Accessory Structures of the Skin, Functions of the Integumentary System, Wound Healing, Integumentary System Development, Skin Disorders, Imbalances, Diseases, and Clinical Cases<br><br><b>Skeletal Tissue</b> -- Cartilage, Bone Classification, Bone Formation, Bone and Calcium, Bone Development, Bone Diseases, Disorders, Imbalances, and Clinical Cases<br><br><b>The Skeletal System</b> -- Overview of the Musculoskeletal system, Divisions of the Skeletal System, The Axial Skeleton, Skull, Hyoid Bone, Vertebral Column, Thorax, Clinical Cases of the Axial Skeleton, The Appendicular Skeleton, The Pectoral (Shoulder) Girdle, Upper Limb, The Pelvic (Hip) Girdle, Lower Limb, Skeletal System Development, Clinical Cases of the Appendicular Skeleton<br><br><b>Joints</b> -- Classification of Joints, Synovial Joints, Joint Development, Clinical Cases<br><br><b>Muscle Tissue</b> -- Overview of Muscle Tissue, Skeletal Muscle, Control of Muscle Tension, Muscle Metabolism, Exercise and Skeletal Muscle Tissue, Smooth Muscle, Clinical Cases: Muscle Disorders, Development of Muscle<br><br><b>The Muscular System</b> -- Overview of the Muscular System, Head And Neck Muscles, Trunk Muscles, Muscles of the Upper Limb, Muscles of the Lower Limb, Clinical Cases and Muscular System Disorders<br><br><b>Nervous Tissue</b> -- Overview of the Nervous System, Neuroglia, Neurons, Collections of Nervous Tissue, Neurophysiology<br><br><b>Central Nervous System (CNS)</b> -- The Brain, Consciousness, Sleep, Language, and Memory, Protection of the Brain, Parts of The Brain Stem, The Cerebellum, The Diencephalon, Cerebral Cortex (or Cerebral Hemispheres), Functional Systems of the Cerebral Cortex, Development of the CNS, Brain Disorders and Clinical Cases, The Spinal Cord, Spinal Cord Anatomy, Disorders and Clinical Cases of the Spinal Cord<br><br><b>Peripheral Nervous System (PNS)</b> -- Sensation, Sensory Receptors, Somatosensory System, Nerves, Cranial Nerves, Spinal Nerves, Distribution of Spinal Nerves, Motor Activity, Motor Pathways, Reflexes, Pain, Development of the Nervous System, Disorders of Spinal Nerves and Clinical Cases<br><br><b>Autonomic Nervous System (ANS)</b> -- Autonomic Nervous System, ANS Anatomy, Physiology of ANS,

Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software


Scott Rosenberg - 2007
    Along the way, we encounter black holes, turtles, snakes, dragons, axe-sharpening, and yak-shaving—and take a guided tour through the theories and methods, both brilliant and misguided, that litter the history of software development, from the famous ‘mythical man-month’ to Extreme Programming. Not just for technophiles but for anyone captivated by the drama of invention, Dreaming in Code offers a window into both the information age and the workings of the human mind.

Concrete Mathematics: A Foundation for Computer Science


Ronald L. Graham - 1988
    "More concretely," the authors explain, "it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems."