Here's a recommendation list of books I've read or am in the process of reading.
Designing Secure Software consolidates Loren Kohnfelder’s more than twenty years of experience into a concise, elegant guide to improving the security of technology products. Written for a wide range of software professionals, it emphasizes building security into software design early and involving the entire team in the process.
The book begins with a discussion of core concepts like trust, threats, mitigation, secure design patterns, and cryptography. The second part, perhaps this book’s most unique and important contribution to the field, covers the process of designing and reviewing a software design with security considerations in mind. The final section details the most common coding flaws that create vulnerabilities, making copious use of code snippets written in C and Python to illustrate implementation vulnerabilities.
The world's leading expert on the global software industry and coauthor of the bestseller Microsoft Secrets reveals the inner workings of software giants like IBM, Microsoft, and Netscape and shows what it takes to create, develop, and manage a successful company -- in good times and bad -- in the most fiercely competitive business in the world.
In the $600 billion software industry it is the business, not the technology, that determines success or failure. This fact -- one that thousands of once glamorous start-ups have unhappily discovered for themselves -- is the well-documented conclusion of this enormously readable and revealing new book by Michael Cusumano, based on nearly twenty years of research and consulting with software producers around the world.
Cusumano builds on dozens of personal experiences and case studies to show how issues of strategy and organization are irrevocably linked with those of managing the technology and demonstrates that a thorough understanding of these issues is vital to success. At the heart of the book Cusumano poses seven questions that underpin a three-pronged management framework. He argues that companies must adopt one of three basic business models: become a products company at one end of the strategic spectrum, a services company at the other end, or a hybrid solutions company in between. The author describes the characteristics of the different models, evaluates their strengths and weaknesses, and shows how each is more or less appropriate for different stages in the evolution of a business as well as in good versus bad economic times. Readers will also find invaluable Cusumano's treatment of software development issues ranging from architecture and teams to project management and testing, as well as two chapters devoted to what it takes to create a successful software start-up. Highlights include eight fundamental guidelines for evaluating potential software winners and Cusumano's probing analysis, based on firsthand knowledge, of ten start-ups that have met with varying degrees of success.
The Business of Software is timely essential reading for managers, programmers, entrepreneurs, and others who follow the global software industry.
The idea of interfacing minds with machines has long captured the human imagination. Recent advances in neuroscience and engineering are making this a reality, opening the door to restoring and potentially augmenting human physical and mental capabilities. Medical applications such as cochlear implants for the deaf and deep brain stimulation for Parkinson’s disease are becoming increasingly commonplace. Brain- computer interfaces (BCIs) (also known as brain- machine interfaces or BMIs) are now being explored in applications as diverse as security, lie detection, alertness monitoring, telepresence, gaming, education, art, and human augmentation. This introduction to the field is designed as a textbook for upper- level undergraduate and first year graduate courses in neural engineering or brain- computer interfacing for students from a wide range of disciplines. It can also be used for self- study and as a reference by neuroscientists, computer scientists, engineers, and medical practitioners. Key features include: Essential background in neuroscience, brain recording and stimulation technologies, signal processing, and machine learning.
Before The Computational Brain was published in 1992, conceptual frameworks for brain function were based on the behavior of single neurons, applied globally. In The Computational Brain, Patricia Churchland and Terrence Sejnowski developed a different conceptual framework, based on large populations of neurons. They did this by showing that patterns of activities among the units in trained artificial neural network models had properties that resembled those recorded from populations of neurons recorded one at a time. It is one of the first books to bring together computational concepts and behavioral data within a neurobiological framework. Aimed at a broad audience of neuroscientists, computer scientists, cognitive scientists, and philosophers, The Computational Brain is written for both expert and novice. This anniversary edition offers a new preface by the authors that puts the book in the context of current research.
In Other Minds, Peter Godfrey-Smith, a distinguished philosopher of science and a skilled scuba diver, tells a bold new story of how subjective experience crept into being?how nature became aware of itself. As Godfrey-Smith stresses, it is a story that largely occurs in the ocean, where animals first appeared. Tracking the mind’s fitful development, Godfrey-Smith shows how unruly clumps of seaborne cells began living together and became capable of sensing, acting, and signaling. As these primitive organisms became more entangled with others, they grew more complicated. The first nervous systems evolved, probably in ancient relatives of jellyfish; later on, the cephalopods, which began as inconspicuous mollusks, abandoned their shells and rose above the ocean floor, searching for prey and acquiring the greater intelligence needed to do so. Taking an independent route, mammals and birds later began their own evolutionary journeys.