Best of
Computer-Science

1993

Code Complete


Steve McConnell - 1993
    Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

The Protocols (TCP/IP Illustrated, Volume 1)


W. Richard Stevens - 1993
    In eight chapters, it provides the most thorough coverage of TCP available. It also covers the newest TCP/IP features, including multicasting, path MTU discovery and long fat pipes. The author describes various protocols, including ARP, ICMP and UDP. He utilizes network diagnostic tools to actually show the protocols in action. He also explains how to avoid silly window syndrome (SWS) by using numerous helpful diagrams. This book gives you a broader understanding of concepts like connection establishment, timeout, retransmission and fragmentation. It is ideal for anyone wanting to gain a greater understanding of how the TCP/IP protocols work.

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

On LISP: Advanced Techniques for Common LISP


Paul Graham - 1993
    On Lisp explains the reasons behind Lisp's growing popularity as a mainstream programming language. On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also covers important subjects related to bottom-up programming, including functional programming, rapid prototyping, interactive development, and embedded languages. The final chapter takes a deeper look at object-oriented programming than previous Lisp books, showing the step-by-step construction of a working model of the Common Lisp Object System (CLOS). As well as an indispensable reference, On Lisp is a source of software. Its examples form a library of functions and macros that readers will be able to use in their own Lisp programs.

UNIX Power Tools


Jerry Peek - 1993
    It also covers add-on utilities and how to take advantage of clever features in the most popular UNIX utilities.Loaded with even more practical advice about almost every aspect of UNIX, this edition addresses the technology that UNIX users face today, differing from the first edition in a number of important ways.First, it slants the blend of options and commands more toward the POSIX utilities, including the GNU versions; the bash and tcsh shells have greater coverage, but we've kept the first edition's emphasis on the core concepts of sh and csh that will help you use all UNIX shells; and, Perl is more important than awk these days, so we've de-emphasized awk in this edition.This is a browser's book...like a magazine that you don't read from start to finish, but leaf through repeatedly until you realize that you've read it all. The book is structured so that it bursts at the seams with cross references. Interesting "sidebars" explore syntax or point out other directions for exploration, including relevant technical details that might not be immediately apparent. You'll find articles abstracted from other O'Reilly books, new information that highlights program "tricks" and "gotchas," tips posted to the Net over the years, and other accumulated wisdom.The 53 chapters in this book discuss topics like file management, text editors, shell programming -- even office automation. Overall, there's plenty of material here to satisfy even the most voracious appetites. The bottom line? UNIX Power Tools is loaded with practical advice about almost every aspect of UNIX. It will help you think creatively about UNIX, and will help you get to the point where you can analyze your own problems. Your own solutions won't be far behind.The CD-ROM includes all of the scripts and aliases from the book, plus perl, GNU emacs, netpbm (graphics manipulation utilities), ispell,screen, the sc spreadsheet, and about 60 other freeware programs. In addition to the source code, all the software is precompiled for Sun4, Digital UNIX, IBM AIX, HP/UX, Red Hat Linux, Solaris, and SCO UNIX.

Writing Solid Code


Steve Maguire - 1993
    Focus is on an in-depth analysis and exposition of not-so-obvious coding errors in the sample code provided. The theme is to answer the questions 'How couild I have automatically detected this bug' and 'How could I have prevented this bug'? Chapters include programmer attitudes, techniques and debugging methodology. A particularly revealing chapter is "Treacheries of the Trade", should be required reading for all C maniacs. The author has been a professional programmer for seventeen years and draws heavily (and candidly) on actual coding problems and practices based on years of experience at Microsoft.

Network Flows: Theory, Algorithms, and Applications


Ravindra K. Ahuja - 1993
    KEY TOPICS: It offers in-depth and self-contained treatments of shortest path, maximum flow, and minimum cost flow problems, including a description of new and novel polynomial-time algorithms for these core models. MARKET: For professionals working with network flows, optimization, and network programming.

SNMP, Snmpv2, Snmpv3, and Rmon 1 and 2


William Stallings - 1993
    This work is a guide to SNMP-based network and internetwork management. It covers SNMPv1, SNMPv2, and the SNMPv3, as well as RMON1 and RMON2.

A Small Matter of Programming: Perspectives on End User Computing


Bonnie A. Nardi - 1993
    Drawing on empirical research on existing end user systems, A Small Matter of Programming analyzes cognitive, social, and technical issues of end user programming. In particular, it examines the importance of task-specific programming languages, visual application frameworks, and collaborative work practices for end user computing, with the goal of helping designers and programmers understand and better satisfy the needs of end users who want the capability to create, customize, and extend their applications software. The ideas in the book are based on the author's research on two successful end user programming systems - spreadsheets and CAD systems - as well as other empirical research. Nardi concentrates on broad issues in end user programming, especially end users' strengths and problems, introducing tools and techniques as they are related to higher-level user issues. Bonnie A. Nardi is a Member of the Technical Staff at Hewlett Packard Laboratories.

Claude Elwood Shannon: Collected Papers


Claude Shannon - 1993
    Shannon, is a fascinating guide to all of the published articles from this world-renowned inventor, tinkerer, puzzle-solver, prankster, and father of information theory. Includes his seminal article THE MATHEMATICAL THEORY OF COMMUNICATION.

More Math into LaTeX


George Grätzer - 1993
    In this fourth edition, the reader is provided with important updates on articles and books. An important new topic is discussed#58; transparencies (computer projections).pKey features of More Math into Latex, 4th edition#58;p- Installation instructions for PC and Mac usersp- An example-based, visual approach and a gentle introduction with the Short Coursep- A detailed exposition of multiline math formulas with a Visual Guidep- A unified approach to Tex, Latex, and the AMS enhancementsp- A quick introduction to creating presentations with computer projectionspFrom earlier reviews of Math into Latex#58;p"There are several Latex guides, but this on wins hands down for the elegance of its approach and breadth of coverage."p-Amazon.com Best of 2000, Editor#8217;s choicep"A novice reader will be able to learn the most essential features of Latex sufficient to begin typesetting papers within a few hours of time#8230;An experienced Tex user, on the other hand, will find a systematic and detailed discussion of Latex features."p-Report on Mathematical Physicsp"A very helpful and useful tool for al scientists and engineers."p-Review of Astronomical Tools

Building Problem Solvers


Kenneth D. Forbus - 1993
    In some cases they are the inventors of the ideas or techniques described, and in others, participants in their development."Building Problem Solvers" communicates this knowledge in a focused, cohesive manner. It is unique among standard artificial intelligence texts in combining science and engineering, theory and craft to describe the construction of AI reasoning systems, and it includes code illustrating the ideas.After working through "Building Problem Solvers," readers should have a deep understanding of pattern directed inference systems, constraint languages, and truth maintenance systems. The diligent reader will have worked through several substantial examples, including systems that perform symbolic algebra, natural deduction, resolution, qualitative reasoning, planning, diagnosis, scene analysis, and temporal reasoning.

An Introduction to Kolmogorov Complexity and Its Applications


Ming Li - 1993
    .. is necessary reading for all kinds of readers from undergraduate students to top authorities in the field.

Concurrent Programming ERLANG


Joe Armstrong - 1993
    The language is untyped and has a pattern matching syntax. Functions are written as a set of recursion equations and the language has explicit concurrency and asynchronous message passing. Written in a tutorial style, this book emphasizes learning through example, illustrating a number of problems in designing and programming concurrent fault-tolerant real-time systems. This edition features new chapters on distributed programming, distributed programming techniques and distributed data.

How Software Works


Ron White - 1993
    Covers all major software categories, including operating systems, word processors, databases, telecommunications programs, and many more.

Adventures in Artificial Life


Clayton Walnum - 1993
    The software bundled with the book includes two versions of a Conway Life program (one for DOS and another that runs under Windows); a genetic algorithms program (simulates a world in which small, cell-like creatures must develop instincts to help them find food); an expert system; a computer game that "learns", and more.

Atomic Transactions: In Concurrent and Distributed Systems


Nancy A. Lynch - 1993
    Atomic transactions are a useful abstraction for programming concurrent and distributed data processing systems. Presents many important algorithms which provide maximum concurrency for transaction processing without sacrificing data integrity. The authors include a well-developed data processing case study to help readers understand transaction processing algorithms more clearly. The book offers conceptual tools for the design of new algorithms, and for devising variations on the familiar algorithms presented in the discussions. Whether your background is in the development of practical systems or formal methods, this book will offer you a new way to view distributed systems.

Wavelets: Algorithms & Applications


Yves Meyer - 1993
    The chapter on data compression was the original motivation for this revised edition, and it contains up-to-date information on the interplay between wavelets and nonlinear approximation. The other chapters have been rewritten with comments, references, historical notes, and new material. Four appendices have been added: a primer on filters, key results (with proofs) about the wavelet transform, a complete discussion of a counterexample to the Marr-Mallat conjecture on zero-crossings, and a brief introduction to Hölder and Besov spaces. In addition, all of the figures have been redrawn, and the references have been expanded to a comprehensive list of over 260 entries. The book includes several new results that have not appeared elsewhere.

Analogy-Making as Perception: A Computer Model


Melanie Mitchell - 1993
    The centrality and the ubiquity of analogy in creative thought have been noted again and again by scientists, artists and writers, and understanding and modelling analogical thought have emerged as two of the most important challenges for cognitive science.