Best of
Computers

1992

Advanced Programming in the UNIX Environment


W. Richard Stevens - 1992
    Rich Stevens describes more than 200 system calls and functions; since he believes the best way to learn code is to read code, a brief example accompanies each description.Building upon information presented in the first 15 chapters, the author offers chapter-long examples teaching you how to create a database library, a PostScript printer driver, a modem dialer, and a program that runs other programs under a pseudo terminal. To make your analysis and understanding of this code even easier, and to allow you to modify it, all of the code in the book is available via UUNET.A 20-page appendix provides detailed function prototypes for all the UNIX, POSIX, and ANSI C functions that are described in the book, and lists the page on which each prototype function is described in detail. Additional tables throughout the text and a thorough index make Advanced Programming in the UNIX Environment an invaluable reference tool that all UNIX programmers - beginners to experts - w

Modern Operating Systems


Andrew S. Tanenbaum - 1992
    What makes an operating system modern? According to author Andrew Tanenbaum, it is the awareness of high-demand computer applications--primarily in the areas of multimedia, parallel and distributed computing, and security. The development of faster and more advanced hardware has driven progress in software, including enhancements to the operating system. It is one thing to run an old operating system on current hardware, and another to effectively leverage current hardware to best serve modern software applications. If you don't believe it, install Windows 3.0 on a modern PC and try surfing the Internet or burning a CD. Readers familiar with Tanenbaum's previous text, Operating Systems, know the author is a great proponent of simple design and hands-on experimentation. His earlier book came bundled with the source code for an operating system called Minux, a simple variant of Unix and the platform used by Linus Torvalds to develop Linux. Although this book does not come with any source code, he illustrates many of his points with code fragments (C, usually with Unix system calls). The first half of Modern Operating Systems focuses on traditional operating systems concepts: processes, deadlocks, memory management, I/O, and file systems. There is nothing groundbreaking in these early chapters, but all topics are well covered, each including sections on current research and a set of student problems. It is enlightening to read Tanenbaum's explanations of the design decisions made by past operating systems gurus, including his view that additional research on the problem of deadlocks is impractical except for "keeping otherwise unemployed graph theorists off the streets." It is the second half of the book that differentiates itself from older operating systems texts. Here, each chapter describes an element of what constitutes a modern operating system--awareness of multimedia applications, multiple processors, computer networks, and a high level of security. The chapter on multimedia functionality focuses on such features as handling massive files and providing video-on-demand. Included in the discussion on multiprocessor platforms are clustered computers and distributed computing. Finally, the importance of security is discussed--a lively enumeration of the scores of ways operating systems can be vulnerable to attack, from password security to computer viruses and Internet worms. Included at the end of the book are case studies of two popular operating systems: Unix/Linux and Windows 2000. There is a bias toward the Unix/Linux approach, not surprising given the author's experience and academic bent, but this bias does not detract from Tanenbaum's analysis. Both operating systems are dissected, describing how each implements processes, file systems, memory management, and other operating system fundamentals. Tanenbaum's mantra is simple, accessible operating system design. Given that modern operating systems have extensive features, he is forced to reconcile physical size with simplicity. Toward this end, he makes frequent references to the Frederick Brooks classic The Mythical Man-Month for wisdom on managing large, complex software development projects. He finds both Windows 2000 and Unix/Linux guilty of being too complicated--with a particular skewering of Windows 2000 and its "mammoth Win32 API." A primary culprit is the attempt to make operating systems more "user-friendly," which Tanenbaum views as an excuse for bloated code. The solution is to have smart people, the smallest possible team, and well-defined interactions between various operating systems components. Future operating system design will benefit if the advice in this book is taken to heart. --Pete Ostenson

Hard Drive: Bill Gates and the Making of the Microsoft Empire


James Wallace - 1992
    Part entrepreneur, part enfant terrible, Gates has become the most powerful -- and feared -- player in the computer industry, and arguably the richest man in America. In Hard Drive, investigative reporters Wallace and Erickson follow Gates from his days as an unkempt thirteen-year-old computer hacker to his present-day status as a ruthless billionaire CEO. More than simply a "revenge of the nerds" story though, this is a balanced analysis of a business triumph, and a stunningly driven personality. The authors have spoken to everyone who knows anything about Bill Gates and Microsoft -- from childhood friends to employees and business rivals who reveal the heights, and limits, of his wizardry. From Gates's singular accomplishments to his equally extraordinary brattiness, arrogance, and hostility (the atmosphere is so intense at Microsoft that stressed-out programmers have been known to ease the tension of their eighty-hour workweeks by exploding homemade bombs), this is a uniquely revealing glimpse of the person who has emerged as the undisputed king of a notoriously brutal industry.

Assembly Language: Step-By-Step


Jeff Duntemann - 1992
    It then builds systematically to cover all the steps involved in writing, testing, and debugging assembly programs. It also provides valuable how-to information on using procedures and macros. The only guide to assembly programming covering both DOS and Linux, the book presents working example programs for both operating system, and introduces Conditional Assembly -- a technique for assembling for both DOS and Linux systems from a single source file.

Genetic Programming: On the Programming of Computers by Means of Natural Selection


John R. Koza - 1992
    Genetic programming may be more powerful than neural networks and other machine learning techniques, able to solve problems in a wider range of disciplines. In this ground-breaking book, John Koza shows how this remarkable paradigm works and provides substantial empirical evidence that solutions to a great variety of problems from many different fields can be found by genetically breeding populations of computer programs. Genetic Programming contains a great many worked examples and includes a sample computer code that will allow readers to run their own programs.In getting computers to solve problems without being explicitly programmed, Koza stresses two points: that seemingly different problems from a variety of fields can be reformulated as problems of program induction, and that the recently developed genetic programming paradigm provides a way to search the space of possible computer programs for a highly fit individual computer program to solve the problems of program induction. Good programs are found by evolving them in a computer against a fitness measure instead of by sitting down and writing them.

Accidental Empires


Robert X. Cringely - 1992
    Accidental Empires is the trenchant, vastly readable history of that industry, focusing as much on the astoundingly odd personalities at its core—Steve Jobs, Bill Gates, Mitch Kapor, etc. and the hacker culture they spawned as it does on the remarkable technology they created. Cringely reveals the manias and foibles of these men (they are always men) with deadpan hilarity and cogently demonstrates how their neuroses have shaped the computer business. But Cringely gives us much more than high-tech voyeurism and insider gossip. From the birth of the transistor to the mid-life crisis of the computer industry, he spins a sweeping, uniquely American saga of creativity and ego that is at once uproarious, shocking and inspiring.

Project Oberon: The Design of an Operating System and Compilers


Niklaus Wirth - 1992
    The primary goal of the project was to design and implement a system from scratch and to structure it in such a way that it could be described, explained, and unders

The Dirac Equation


Bernd Thaller - 1992
    Its applications are so widespread that a description of all aspects cannot be done with sufficient depth within a single volume. In this book the emphasis is on the role of the Dirac equation in the relativistic quantum mechanics of spin-1/2 particles. We cover the range from the description of a single free particle to the external field problem in quantum electrodynamics. Relativistic quantum mechanics is the historical origin of the Dirac equation and has become a fixed part of the education of theoretical physicists. There are some famous textbooks covering this area. Since the appearance of these standard texts many books (both physical and mathematical) on the non relativistic Schrodinger equation have been published, but only very few on the Dirac equation. I wrote this book because I felt that a modern, comprehensive presentation of Dirac's electron theory satisfying some basic requirements of mathematical rigor was still missing."

Interconnections: Bridges and Routers


Radia Perlman - 1992
    People rely on them to do real work, such as handling bank transactions or making airline reservations. Routers and bridges are needed to form networks of reasonable size. To manage a network it is necessary to understand these devices.

Programming In Ansi C


E. Balagurusamy - 1992
    

Object-Oriented Analysis and Design


James Martin - 1992
    It goes back to first principles and building an object-oriented foundation, and teaches both the underlying philosophy of object orientation and its practical usage.

How To Write Macintosh Software: The Debugging Reference For Macintosh


Scott Knaster - 1992
    It presents comprehensive coverage of key topics every Macintosh programmer must master, including memory management and debugging techniques.

Local and Metropolitan Area Networks


William Stallings - 1992
    Includes the full treatment of competing approaches of LAN and MAN technologies Details high-speed LANs: Gigabit Ethernet, 100-Mbps token ring, Fibre Channel, and ATM LANs Covers complete treatment of standards: IEEE 802 and ANSI standards, specifications from the ATM forum and the Fibre Channel Association, plus TCP/IP Presents structured cabling systems and cabling types Companion Web site at provides links to important sites, course support for instructors, as well as a link to the Computer Science Student Support Site maintained by the author

Practical Ray Tracing in C


Craig A. Lindley - 1992
    The accompanying diskette contains colour ray-traced images and two complete ray training programs, one of which is high speed.

UNIX System Security: A Guide for Users and System Administrators


David A. Curry - 1992
    This book examines several high-profile security break-ins, and then provides the information necessary to protect a UNIX system from unauthorized access. Covers all the most recent releases of UNIX.

The Whole Internet User's Guide & Catalog


Ed Krol - 1992
    The Whole Internet User's Guide & Catalog, 2nd Edition is a comprehensive introduction to the international network of computer systems called the Internet, a resource of almost unimaginable wealth.As a complete introduction to the Internet, this book covers the basic utilities you use to access the network: mail, telnet, ftp, and news readers. But it also does much more. The Guide pays close attention to several important information servers (Archie, Wais, Gopher) that are, essentially, databases of databases: they help you find what you want among the millions of files and thousands of archives available. There's also coverage of the World Wide Web. We've also included our own database of databases: a resource index that covers a broad selection of several hundred important resources, ranging from the King James Bible to archives for USENET news.So if you use the Internet for work or for pleasure -- or if you'd like to, but don't know how -- you need this book. If you've been around the Net for a few years, you'll still be able to discover resources you didn't know existed. Also includes a pull-out quick-reference card.Now more comprehensive than ever, here's what you will find in the second edition:An expanded, easy-to-use resource catalog. New and experienced users alike can refer to the catalog to discover what's available on the Net. Descriptions of three resources that serve as the Internet's "card catalog": InterNIC, GNN, and Almanac (what they are, what they're for). An explanation of multimedia mail (MIME): what it means, how to deal with it. An introduction to pine, a popular mail program that supports MIME. More on ftp-mail servers, and different kinds of mailing list managers, including Majordomo and Almanac. An introduction to xarchie, a popular X-based Archie client with an FTP client built-in, along with other improvements to the Archie service. What's new in the "white pages," or the Internet's telephone book. In particular, the book covers Netfind. An introduction to tin, another popular newsreader. New features of Gopher, including Veronica and Jughead. New coverage of the swais line-oriented WAIS client. An expanded list of internet access providers.

Mazes for the Mind: Computers and the Unexpected


Clifford A. Pickford - 1992
    "Pickover's dazzling array of tortuous mind-benders and arcane minutiae delights and surprises. It's easy to get trapped in his enticing labyrinth of seductive mind games".--Science News.

Quantum Electrodynamics


Joachim Reinhardt - 1992
    It is a thorough introductory text providing all necessary mathematical tools together with many examples and worked problems. In their presentation of the subject the authors adopt a heuristic approach based on the propagator formalism. The latter is introduced in the first two chapters in both its nonrelativistic and relativistic versions. Subsequently, a large number of scattering and radiation processes involving electrons, positrons, and photons are introduced and their theoretical treatment is presented in great detail. Higher order processes and renormalization are also included. The book concludes with a discussion of two-particle states and the interaction of spinless bosons.

Algorithms in C++


Robert Sedgewick - 1992
    The algorithms included cover a broad range of fundamental and more advanced methods: sorting, searching, string processing, geometric, graph, and mathematical algorithms. Readers will discover-in an object-oriented programming environment-how key algorithms can be implemented, run, debugged, and used in real applications.

X Window Applications Programming


Eric Foster-Johnson - 1992
    It teaches you how to easilyand painlessly start programming in X.

C Style: Standards and Guidelines : Defining Programming Standards for Professional C Programmers


David Straker - 1992
    Its basic premise is that programs should be written such that people other than the original author can read, understand and maintain the code, and that such is the nature of human psychology that this is best done using a common set of standards. This is not, however, a book of standards: rather, it is a book about standards.

X Protocol Reference Manual : Volume Zero for X11, Release 6 (Definitive Guide to X


Adrian Nye - 1992
    This fourth edition is updated for R6 and can be used with any release of X. Contents are divided into three parts: Part One provides a conceptual introduction to the X Protocol. It describes the role of the server and client and demonstrates the network transactions that take place during a minimal client session. Part Two contains an extensive set of reference pages for each protocol request and event. It is a reformatted and reorganized version of the X Consortium's Protocol specification. All material from the original document is present in this manual, and the material in the reference pages is reorganized to provide easier access. Each protocol request or event is treated as a separate, alphabetized reference page. Reference pages include the encoding of requests and replies. Part Three consists of several appendices describing particular parts of the X Protocol, along with several reference aids. Note: This fourth edition does not contain the Inter-Client Communication Conventions Manual (ICCCM) or the X Logical Font Description Convention (XLFD). This material will be included in an upcoming O'Reilly book.

Semantics with Applications: A Formal Introduction


Hanne Riis Nielson - 1992
    The bulk of the text concentrates on a small core language of while-programs for which the three approaches are developed to roughly the same level of sophistication. To demonstrate the applicability of formal semantics, the authors show how to use semantics for validating prototype implementations of programming languages; how to use semantics for verifying analyses used in more advanced implementations of programming languages; and how to use semantics for verifying useful program properties including information about execution time. The reader should have some experience of functional programming and the BNF-style of specifying the syntax of programming languages.

Synchronous Programming of Reactive Systems


Nicolas Halbwachs - 1992
    The term "reactive system" has been introduced in order to at'oid the ambiguities often associated with by the term "real-time system," which, although best known and more sugges- tive, has been given so many different meanings that it is almost in- evitably misunderstood. Industrial process control systems, transporta- tion control and supervision systems, signal-processing systems, are ex- amples of the systems we have in mind. Although these systems are more and more computerized, it is sur- prising to notice that the problem of time in computer science has been studied only recently by "pure" computer scientists. Until the early 1980s, time problems were regarded as the concern of performance evalu- ation, or of some (unjustly scorned) "industrial computer engineering," or, at best, of operating systems. A second surprising fact, in contrast, is the growth of research con- cerning timed systems during the last decade. The handling of time has suddenly become a fundamental goal for most models of concurrency. In particular, Robin Alilner 's pioneering works about synchronous process algebras gave rise to a school of thought adopting the following abstract point of view: As soon as one admits that a system can instantaneously react to events, i. e.

NeXTSTEP Programming: Step One: Object-Oriented Applications


Simson Garfinkel - 1992
    It is a no-nonsense, hands-on book that teaches programmers how to write application programs that take full advantage of NeXTSTEP. The diskette contains complete source code and a tutorial for Interface Builder. 3.5 DOS diskette.

The Macintosh Bible


Darcy Dinucci - 1992
    From system software to hardware purchases, the "Dirty Dozen" contributors have painstakingly compiled a guide to the computer family that inspires the most devotion. Good tips, hot features, bad features, and warnings are marked with appropriate icons, as are sections dealing specifically with PowerBook and Power Macintosh features. Advice ranges from the very basic to the more advanced without sacrificing the easy tone of the writing, making this a volume for all levels. You'll learn how to configure your Mac to avoid potential conflicts, how to manage real and virtual memory, and how to fix common and unusual problems that remain specific to certain models. The book offers great troubleshooting advice and application overviews. All computer tomes should be required to feature an appendix similar to the one in The Macintosh Bible, which outlines steps to avoid eye irritation, back and neck pain, and other computer-related health issues.

A Guide to LATEX: Document Preparation for Beginners and Advanced Users


Helmut Kopka - 1992
    With this book you will: master the basics of LATEX and explore more advanced topics, including user-defined extensions; get up to speed with the latest LATEX extensions for adaptations to other languages; and benefit from detailed appendices, including the Command Summary and Summary tables.

Artificial Life: A Report from the Frontier Where Computers Meet Biology


Steven Levy - 1992
    Some of these species can move and eat, see, reproduce, and die. Some behave like birds or ants. One such life form may turn out to be our best weapon in the war against AIDS.What these species have in common is that they exist inside computers, their DNA is digital, and they have come into being not through God's agency but through the efforts of a generation of scientists who seek to create life in silico.But even as it introduces us to these brilliant heretics and unravels the intricacies of their work. Artificial Life examines its subject's dizzying philosophical implications: Is a self-replicating computer program any less alive than a flu virus? Are carbon-and-water-based entities merely part of the continuum of living things? And is it possible that one day "a-life" will look back at human beings and dismiss us as an evolutionary way station -- or, worse still, a dead end?

C: How to Program


Harvey Deitel - 1992
    Highly practical in approach, this text introduces fundamental notions of structured programming and software engineering - and progresses quickly to more intermediate material. It covers the full C language, key library functions, object-oriented programming in C++ and Java, and event-driven GUI programming in Java. - NEW - 300 page introduction to C++, brings students up-to-date with material from the recently revised C++ How to Program, 4/E - assuming only the C material as a prerequisite. - Updated introduction to Java 2 and programming GUIs, familiarizes students with content from the recently revised Java[trademark] How to Program, 5/Eassuming only the C material as a prerequisite. - A standalone appendix on the latest C standard - C99 - Contains several Live-Code[trademark] examples demonstrating the powerful new capabilities of C99, motivates the rational for C99 and highlights key differences between C99 and the version of standard C presented in Chapters 2-14. - Use of a pseudocode approach to structured program developmen