Ken Arnold
Encyclopedia
Kenneth Cutts Richard Cabot Arnold is an American computer programmer well known as one of the developers of the 1980s dungeon-crawling
Dungeon crawl
A dungeon crawl is a type of scenario in fantasy role-playing games in which heroes navigate a labyrinthine environment, battling various monsters, and looting any treasure they may find...

 computer game Rogue
Rogue (computer game)
Rogue is a dungeon crawling video game first developed by Michael Toy and Glenn Wichman around 1980. It was a favorite on college Unix systems in the early to mid-1980s, in part due to the procedural generation of game content. Rogue popularized dungeon crawling as a video game trope, leading...

, for his contributions to the original Berkeley (BSD) distribution of Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

, for his books and articles about C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 and C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 (e.g. his 1980s–1990s Unix Review
UNIX Review
UNIX Review was an American magazine covering technical aspects of the UNIX operating system and C programming. Recognized for its in-depth technical analyses, the journal also reported on industry confabs and included some lighter fare....

column, "The C Advisor"), and his high-profile work on the Java platform. He has two sons, Jareth and Cory.

At Berkeley

Arnold attended the University of California, Berkeley
University of California, Berkeley
The University of California, Berkeley , is a teaching and research university established in 1868 and located in Berkeley, California, USA...

, after having worked at Lawrence Berkeley computer labs for a year, receiving his A.B. in computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 in 1985. At Berkeley, he was president of the Berkeley Computer Club and the Computer Science Undergraduates Association, and made many contributions to the 2BSD and 4BSD Berkeley Unix distributions, including:
  • curses
    Curses (programming library)
    curses is a terminal control library for Unix-like systems, enabling the construction of text user interface applications.The name is a pun on the term “cursor optimization”. It is a library of functions that manage an application's display on character-cell terminals .- Overview :The curses API...

     and termcap
    Termcap
    Termcap is a software library and database used on Unix-like computers. It enables programs to use display computer terminals in a device-independent manner, which greatly simplifies the process of writing portable text mode applications...

    : a hardware-independent library for controlling cursor movement, screen editing, and window creation on ASCII display terminals, based on termcap (based on Bill Joy
    Bill Joy
    William Nelson Joy , commonly known as Bill Joy, is an American computer scientist. Joy co-founded Sun Microsystems in 1982 along with Vinod Khosla, Scott McNealy and Andy Bechtolsheim, and served as chief scientist at the company until 2003...

    's vi
    Vi
    vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...

     screen control code). Curses was a landmark display library that made it possible for a vast number of new applications to create full-screen user interfaces that were portable between different brands of display terminal.
  • Rogue
    Rogue (computer game)
    Rogue is a dungeon crawling video game first developed by Michael Toy and Glenn Wichman around 1980. It was a favorite on college Unix systems in the early to mid-1980s, in part due to the procedural generation of game content. Rogue popularized dungeon crawling as a video game trope, leading...

    : Arnold, Michael Toy
    Michael Toy
    Michael Toy is an American computer programmer. He was one of the developers of the 1980s dungeon-crawling computer game Rogue. He later became an employee of SGI and followed its founder Jim Clark when he left to form Netscape...

    , and Glenn Wichman
    Glenn Wichman
    Glenn R. Wichman is a software developer who is best known as one of the original authors of the computer game Rogue, along with Michael Toy, Ken Arnold and Jon Lane. Wichman has also contributed to many other commercial software programs, including Microsoft Bookshelf, Mavis Beacon Teaches Typing...

     co-wrote Rogue, a full-screen computer role-playing game that presented a then-novel view of the "dungeon" from above (rather than via textual description as in the older Zork
    Zork
    Zork was one of the first interactive fiction computer games and an early descendant of Colossal Cave Adventure. The first version of Zork was written in 1977–1979 on a DEC PDP-10 computer by Tim Anderson, Marc Blank, Bruce Daniels, and Dave Lebling, and implemented in the MDL programming language...

    and Adventure
    Colossal Cave Adventure
    Colossal Cave Adventure gave its name to the computer adventure game genre . It was originally designed by Will Crowther, a programmer and caving enthusiast who based the layout on part of the Mammoth Cave system in Kentucky...

    ). It spawned an entire genre of "roguelike
    Roguelike
    The roguelike is a sub-genre of role-playing video games, characterized by randomization for replayability, permanent death, and turn-based movement. Most roguelikes feature ASCII graphics, with newer ones increasingly offering tile-based graphics. Games are typically dungeon crawls, with many...

    " games.
    • Note that despite occasional confusion on the topic, it was a different Ken Arnold (a "Ken W. Arnold") who contributed to the Ultima game series.
  • fortune
    Fortune (program)
    fortune is a simple program that displays a pseudorandom message from a database of quotations that first appeared in Version 7 Unix. The most common version on modern systems is the BSD fortune, originally written by Ken Arnold...

    : a fortune cookie program. Although Arnold's quote-displaying program was not the first in history, as the BSD standard it became by far the most widely used, and its database of quotes was voluminous. It also standardized a plain-text
    Plain text
    In computing, plain text is the contents of an ordinary sequential file readable as textual material without much processing, usually opposed to formatted text....

     file format
    File format
    A file format is a particular way that information is encoded for storage in a computer file.Since a disk drive, or indeed any computer storage, can store only bits, the computer must have some way of converting information to 0s and 1s and vice-versa. There are different kinds of formats for...

     that was philosophically aligned with Unix and thus became widely used both for other fortune programs as well as non-fortune purposes.
  • Other BSD Unix games by Ken Arnold: Cribbage, Hangman, Hunt, Mille Bornes
    Mille Bornes
    Mille Bornes is a French card game. In the United States, Mille Bornes is manufactured and distributed by Winning Moves Games under license from Hasbro. It was previously produced by Parker Brothers and is commonly available in stores that sell games...

    , Monopoly, Robots
    Robots (computer game)
    Robots is a computer game originally developed for the Berkeley Software Distribution—a derivative of Unix—by Ken Arnold. In the turn-based game, players are tasked with escaping robots programmed to kill them. Since then it has been reproduced as clone games for various platforms.-Gameplay:Robots...

    .
  • Ctags
    Ctags
    Ctags is a program that generates an index file of names found in source and header files of various programming languages.Depending on the language,functions,variables,class members,macros and so onmay be indexed....

    : a very early special-purpose hypertext
    Hypertext
    Hypertext is text displayed on a computer or other electronic device with references to other text that the reader can immediately access, usually by a mouse click or keypress sequence. Apart from running text, hypertext may contain tables, images and other presentational devices. Hypertext is the...

     link generator that essentially turned the vi
    Vi
    vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...

     editor into an IDE
    Integrated development environment
    An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

    . It indexed program objects (such as functions) so that a user of vi (or a clone such as vim
    Vim (text editor)
    Vim is a text editor written by Bram Moolenaar and first released publicly in 1991. Based on the vi editor common to Unix-like systems, Vim is designed for use both from a command line interface and as a standalone application in a graphical user interface...

    ) could navigate to an object or function definition from any instance of the object's name elsewhere in the source code.

Additionally, Ken served as both a member of the student senate and its president.

Later work

Ken was part of the Hewlett-Packard
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...

 team that designed CORBA
Çorba
Chorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...

. He also worked for Apollo Computer
Apollo Computer
Apollo Computer, Inc., founded 1980 in Chelmsford, Massachusetts by William Poduska and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo was one of the first vendors of graphical workstations in the 1980s...

; as a molecular graphics programmer in the Computer Graphics Lab at UC San Francisco; and as a member of the UNIX Review
UNIX Review
UNIX Review was an American magazine covering technical aspects of the UNIX operating system and C programming. Recognized for its in-depth technical analyses, the journal also reported on industry confabs and included some lighter fare....

Software Review Board.

At Sun Microsystems

Formerly a senior engineer at Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

 Laboratories, Arnold is an expert on object-oriented
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

 design and implementation, C, C++, Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, and distributed computing
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...

. He was one of the architects of the Jini
Jini
Jini , also called Apache River, is a network architecture for the construction of distributed systems in the form of modular co-operating services.Originally developed by Sun, Jini was released under an open source license...

 technology, the main implementer of Sun's JavaSpaces technology (which implemented tuple space
Tuple space
A tuple space is an implementation of the associative memory paradigm for parallel/distributed computing. It provides a repository of tuples that can be accessed concurrently. As an illustrative example, consider that there are a group of processors that produce pieces of data and a group of...

s on the Java platform), and worked with Jim Waldo on Remote Method Invocation and object serialization.

Selected bibliography


Selected quotes

  • "Every program has at least one bug and can be shortened by at least one instruction — from which, by induction, it is evident that every program can be reduced to one instruction that does not work."

  • "First you listen to the users; then you ignore them."

  • "I think that the terseness of Unix programs is a central feature of the style. When your program's output becomes another's input, it should be easy to pick out the needed bits. And for people it is a human-factors
    Human factors
    Human factors science or human factors technologies is a multidisciplinary field incorporating contributions from psychology, engineering, industrial design, statistics, operations research and anthropometry...

    necessity — important information should not be mixed in with verbosity about internal program behavior. If all displayed information is important, important information is easy to find."

  • "Simplicity has real value on its own that makes the system more usable. It's the difference between reading a 100-page manual and reading a 500-page manual. It is more than five times the size."

  • "Now that we have all this useful information, it would be nice to do something with it. (Actually, it can be emotionally fulfilling just to get the information. This is usually only true, however, if you have the social life of a kumquat.)" (From the curses documentation.)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK