Library

Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, Erich

This book characterizes the kind of thinking that moves you from the low-level 'small' view of a software developer to the high level long-term view of a software architect.While entry-level and junior developers may spent hours arguing fruitlessly over whether OOP is dead or alive, or whether functional programming is better or worse, most senior engineers and software architects are able to use many different paradigms. They understand that these patterns are deeper than the paradigm they are implemented in.They understand that the concepts and ideas underlying these design patterns cannot and will not ever die because they express evergreen solutions to dealing with evolving software systems.Javascript made the prototype pattern its object model. Generators (and coroutines) that make async/await possible are often implemented as combinations of Factories and Iterators. The Observer pattern underlies almost every single reactive UI framework and most microservice architectures. Decorators have become mainstays in most languages, inversion of control (IoC) is crucial for dependency injection patterns (Angular, etc.), and on and on...

Anarchism: A Very Short Introduction by Ward, Colin

Writing with a clear leftist slant, Ward provides an informative survey of some of the leading anarchist theoreticians and briefly describes some interesting attempts to apply theory to select institutions, such as schools and urban gardens on a small scale. What the book lacks however, and what was most disappointing to me, was the short shrift Ward gave to individualist or right leaning anarchism as opposed to communalist variants. He barely discusses Stirner, who Marx took quite seriously as a threat to his promotion of communism and also downplays the contributions and efforts by Tucker and Spooned. He seemingly assumes leftist critiques of Capitalism, including claims of exploitation and environmental harm and scarcity are true --as if they were self-evident or revealed truths, sans the need to provide evidence for his claims. There is a rich literature refuting claims of inevitable scarcity, resource decline, and preferences for individual/autonomous/contractual versus communal forms of association and living. Treating libertarian/anarchists as if they are nothing more than apologists for capitalism the way it operates under existing government regimes, complete with cronyism, corruption and protectionism is not fair to individualist anarchist thinking....

Engineering A Compiler by Cooper, Keith D

I can imagine a very good one-term course in compiler construction built around this text. After a brief introduction, it gets immediately into the classic topics of lexical scanning, parsing, and syntax analysis. These three chapters help any beginner understand the multiple levels of processing, from the character level, up through reorganizing grammars for practical parsing and table-driven techniques, to the lower levels of semantic analysis. This includes a very brief discussion of type systems and type inference - less than 20 pages, on a topic that whole books devote themselves to. These 200 pages typify what you'll see in the rest of the book: a lot of attention paid to lexical analysis, a problem largely eliminated by automated tools (lex and yacc being the best known), and thin mention of the harder problems that differ significantly across languages and applications of languages. Chapter 5 addresses the critical issue of intermediate representation, the data structures that represent the program during analysis, optimization, and code generation. Chapter 6 is titled "The Procedure Abstraction." It deals with much more than its name suggests, including procedure activation records (generalizations of stack frames), parameter passing, stack management, symbol visibility and scoping, and scraps of symbol table organization - important stuff, but hard to understand as "procedure abstraction." The next chapter deals with "Code Shape," a grab-bag including value representations, arrays and strings, control constructs, and procedures (again). It also presents a very few pages, at the end, on object oriented language - hardly enough to scratch the surface, let alone build competence. And, for lack of a better place to stick them, I would have expected support for parallelism and exceptions to appear here, but this book seems to omit the topics altogether.Code analysis and optimization appear in chapters 8-10. That includes a competent introduction to static single assignment notation, a staple of current compiler technology mentioned earlier, in the section on intermediate representation. This covers a range of basics, but omits all significant mention of arrays, the workhorses of performance computing. Chapters 11-13 introduce the basics of instruction selection, scheduling, and register allocation. Although it mentions some hardware effects, like out-of-order execution in superscalar architecture, discussion stays close to the instruction sets of popular processors. As a result, it omits mention of SIMD, VLIW, DSP, and more exotic architectures, the ones most in need of good code generation. Compiler-specific support libraries, e.g. the kind that make up for lack of hardware divide instructions, should have appeared somewhere around here, but are oddly absent.The authors present an adequate introduction for the beginner, someone who's still not sure what a hash table is (see appendix B). It introduces many basic topics, but doesn't go into a lot of depth in any of them. The student who finishes this book will understand most major issues of classical compiler construction. I just can't see a serious, working competence coming out of this text, though. I give it four stars as an academic introduction, but a lot less for anyone with immediate problems to solve....

American History: A Very Short Introduction by Boyer, Pauls S

American History: A Very Short Introduction provides its reader with as comprehensive a look at American political, social and cultural history as is possible in under 200 small pages (the standard format for the "Very Short Introduction" series, whose books are not only short but small as well) and in a well written manner. Virtually every event, person of significance and movement in American history receives at least a mention, which must have been a difficult task to accomplish given the strictures. What it does not do, however, is provide consistently up to date scholarship or a proper sense of proportion of America's triumphs to failures. It also contains a few errors and some of Boyer's interpretations of events will provoke disagreement with those who do not share his political leanings.Boyer essentially begins with the English settlement of North America, dispensing with the pre-Columbian native peoples, Leif Ericson and non-English Europeans in only a few pages. The colonial period is one of the book's strengths as Boyer explains the development of the English settlements at Jamestown and Plymouth and the social development of the New World as different from that of the Old. The events leading to the Revolution are also nicely cataloged, and Boyer takes us from the post-Revolutionary war period through the Gilded Age in a fairly conventional manner.Some of Boyer's interpretations of events rely on dated scholarship, however. A simplistic search for foreign markets accounts entirely for the Spanish-American War. His account of the New Deal places the stock market crash in the role of catalyst of the Great Depression failing to mention the role of monetary policy, which is at the core of today's economic understanding. He also dredges up the traditional misconception that Americans' fondness for coffee dates from the Boston Tea Party and incorrectly cites the date of England's Glorious Revolution. Boyer also cites a famous utterance by Andrew Jackson in defiance of the Supreme Court that is considered apocryphal.Although explicitly Boyer strives for objectivity he does not always achieve it. His account is generally well balanced through Reconstruction, but his leftward leanings emerge shortly thereafter and his interpretation of events from the Gilded Age to the present too often becomes predictable and selective. Progressives are, unsurprisingly for a University of Wisconsin professor, lauded and nearly every legislative enactment of the New Deal and Great Society is given space. Like many historians, though, Boyer mistakes these enactments as achievements in their own right, and rarely analyzes whether they, in fact, accomplished their goals. For instance, he credits President Clinton with welfare reform but never asks why a Democratic president would see the need to reform it in the first place. His characterization of today's Tea Party as an offshoot of the religious right ignores the firestorm that occurred a result of policies that were perceived to "bailout" the impecunious (whether on Wall Street, in the housing market or the auto industry) at the expense of those who had behaved in a fiscally responsible manner in the Tea Party members' views.Boyer concludes by cataloging America's many challenges and faults as he finds them today. Nonetheless, he concludes that "when the balance is drawn, America's record of achievement in advancing human well-being may ultimately outweigh the rest and prove a more lasting measure of national greatness than transient imperial power, military might, or a mere abundance of ephemeral material goods." The reader will likely need to consult another book to understand, however, why that is....

Cisco Networking Academy Program: Fundamentals of UNIX Lab Companion by Cisco Systems Inc.

The only authorized lab workbook for the Fundamentals of UNIX course within the Cisco Networking Academy Program!Cisco Networking Academy Program: Fundamentals of UNIX Lab Companion includes hands-on lab exercises to allow you to apply what you have learned. In addition to written lab activities, there are Web-based research projects and guided field studies. In each case, real-world examples are used to exemplify how the learned knowledge is relevant. This title is part of the Cisco Networking Academy Program and is the companion lab workbook for a one-semester course on UNIX Fundamentals. Cisco Networking Academy Program: Fundamentals of UNIX Lab Companion is the lab companion to the Cisco Networking Academy Program: Fundamentals of UNIX Companion Guide. It contains lab activities to reinforce key concepts, and it allows you to apply what you have learned both from the Companion Guide and the Web-based curriculum. Its content and chapters correspond directly to the Companion Guide. Includes hands-on lab exercises to allow students to apply what they have learned. Aside from written lab activities, there will be web-based research projects and guided field studies. In each case, real-world examples will be used to exemplify how the learned knowledge is relevant. ...

Bacteria: A Very Short Introduction by Amyes, Sebastian G.B.

In this Very Short Introduction, Sebastian Amyes explores the nature of bacteria. As a fundamental branch of life, they inhabit every part of the Earth's surface. Amyes examines their origin and evolution, bacteria in the environment, and bacteria and disease, to demonstrate the fundamental role they play in our existence....

Policy-Based Network Management: Solutions for the Next Generation by John Strassner

Policy-Based Network Management (PBNM) systems enable business rules and procedures to be translated into policies that configure and control the network and its services. Those who manage network systems are aware that this approach can benefit both network management as well as the development of applications that use network services; however, the details surrounding these systems have been obscured by marketing hype, numerous acronyms, and theoretical complexities.Policy-Based Network Management: Solutions for the Next Generation cuts through the hype surrounding PBNM and makes it approachable for those who really need to understand what it has to offer. The author, founder of the IETF Policy Framework working group, discusses system requirements, information models, and system components for Policy-Based Management. He also provides practitioners with a resource for developing and/or incorporating PBNM systems. As network systems become larger and more complex, creating policies for them has become a crucial step in the management of network systems, and this book is a welcome addition to this exciting approach. Presents a completely new approach to PBNM that unites the business, system, and implementation spheres.As the basis for examples and discussion, uses the DEN-ng information model, an easy-to-understand open standard tied closely to eTOM and NGOSS.Introduces the Ponder system, then examines Ponder extensions designed to enhance the structure of high-level policies and their application in a PBNM system. Filled with examples illustrating how policies are most effectively used in a PBNM system and what new directions PBNM is likely to take....

Atheism: A Very Short Introduction by Baggini, Julian

In this book, Julian Baggini explores the arguments for atheism, and dispels some common myths, explaining how a life without religious belief can be positive, meaningful, and moral. This new edition discusses the recent flowering of 'New Atheism' and considers the position of atheism in society today....

Network Recovery: Protection and Restoration of Optical, SONET-SDH, IP, and Mpls by Jean-Philippe Vasseur, Mario Pickavet, Piet Demeester

"Network Recovery" is the first book to provide detailed information on protecting and restoring communication networks, and it sets a sky-high standard for any that may follow. Inside, you'll learn specific techniques that work at each layer of the networking hierarchy-including optical, SONET-SDH, IP, and MPLS-as well as multi-layer escalation strategies that offer the highest level of protection. The authors begin with an incisive introduction to the issues that define the field of network protection and restoration, and as the book progresses they explain everything you need to know about the relevant protocols, providing theoretical analyses wherever appropriate. If you work for a network-dependent organization, large or small, you'll want to keep Network Recovery within reach at all times. * Shows you how to implement protection and recovery techniques that will save your organization time and money. * Documents techniques for the optical, SONET-SDH, IP, and MPLS layers, as well as multi-layer escalation strategies. * Shows you how to evaluate these techniques in relation to one another, so you can develop an optimal network recovery design. * Provides industry examples and simulation results. * Delves into the inner workings of relevant protocols and offers theoretical analyses wherever this information contributes to your practical knowledge....

Anxiety: A Very Short Introduction by Daniel Freeman , Jason Freeman

Are we born with our fears or do we learn them? Why do our fears persist? What purpose does anxiety serve? How common are anxiety disorders, and which treatments are most effective? What's happening in our brain when we feel fear? And what are Colombian worry dolls? This Very Short Introduction draws on the best scientific research to offer a highly accessible explanation of what anxiety is, why it is such a normal and vital part of our emotional life, and the key factors that cause it. Insights are drawn from psychology, neuroscience, genetics, epidemiology, and clinical trials. Providing a fascinating illustration of the discussion are two interviews conducted specifically for the book, with the actor, writer, director, and television presenter Michael Palin and former England football manager Graham Taylor. The book covers in detail the six major anxiety disorders: phobias; panic disorder and agoraphobia; social anxiety; generalised anxiety disorder; obsessive compulsive disorder; and post-traumatic stress disorder. With a chapter devoted to each disorder, Daniel and Jason Freeman take you through the symptoms, prevalence, and causes of each one. A final chapter describes the treatments available for dealing with anxiety problems. ABOUT THE SERIES: The Very Short Introductions series from Oxford University Press contains hundreds of titles in almost every subject area. These pocket-sized books are the perfect way to get ahead in a new subject quickly. Our expert authors combine facts, analysis, perspective, new ideas, and enthusiasm to make interesting and challenging topics highly readable....