- Ken Arnold
Kenneth Cutts Richard Cabot Arnold is a computer
programmer well known as one of the developers of the 1980s dungeon-crawlingcomputer game "Rogue [ [http://www.wichman.org/roguehistory.html A Brief History of "Rogue" ] ] ", for his contributions to the original Berkeley (BSD) distribution of Unix, for his books and articles about C andC++ (e.g. his 1980s–90s "Unix Review " column, "The C Advisor"), and his high-profile work on theJava platform . He has two sons, Jareth and Corwin.At Berkeley
Arnold attended
UC Berkeley , after having worked at Lawrence Berkley computer labs for a year, receiving his A.B. in computer science 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 4BSDBerkeley Unix distributions, including:
* curses andtermcap : a hardware-independent library for controlling cursor movement, screen editing, and window creation on ASCII display terminals, based on termcap (based onBill Joy 'svi 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": Arnold,Michael Toy , andGlenn Wichman co-wrote "Rogue", a full-screencomputer role-playing game that presented a then-novel view of the "dungeon" from above (rather than via textual description as in the older "Zork " and "Adventure". It spawned an entire genre of "roguelike " 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: 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-textfile format that was philosophically aligned with Unix and thus became widely used both for other fortune programs as well as non-fortune purposes. [http://www.faqs.org/docs/artu/ch05s02.html]
* Other BSD Unix games by Ken Arnold: Cribbage, Hangman, Hunt, Mille Bourne, Monopoly, Robots.
*Ctags : a very early special-purposehypertext link generator that essentially turned thevi editor into an IDE. It indexed program objects (such as functions) so that a user of vi (or a clone such as vim) 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 team that designedCORBA . He also worked forApollo Computer ; as a molecular graphics programmer in the Computer Graphics Lab atUC San Francisco ; and as a member of the "UNIX Review " Software Review Board.At Sun Microsystems
Formerly a senior engineer at
Sun Microsystems Laboratories, Arnold is an expert on object-oriented design and implementation, C, C++, Java, anddistributed computing . He was one of the architects of theJini technology, the main implementor of Sun'sJavaSpaces technology (which implementedtuple space s on theJava platform ), and worked withJim Waldo onremote method invocation andobject serialization .Selected bibliography
* JavaSpaces. Principles, Patterns, and Practice;
Eric Freeman , Susanne Hupfer, Ken Arnold; ISBN 0-201-30955-6
* The Java Programming Language; 4th Edition; Ken Arnold,James Gosling , David Holmes; ISBN 0-321-34980-6
** [http://www.informit.com/articles/article.aspx?p=417997 Sample chapter: A Taste of Java's I/O Package: Streams, Files, and So Much More]
* The JiniTM Specification, 2nd Edition; Ken Arnold, Jim Waldo and the rest of the Jini technology team. Part of the official Jini Technology Series, published by Addison Wesley.
* A C User's Guide to ANSI C; Ken Arnold, John Peyton.
* "The C Advisor" column in Unix Review (authored by Ken Arnold 198? - 199?)
* [http://www.cavu.com/85jan.html "Fear and Loathing on the UNIX Trail -- Confessions of a Berkeley system mole."; Doug Merritt with Ken Arnold and Bob Toxen; Unix Review, Jan 1985]
* "Rogue: Where It has Been, Why It Was There, And Why It Shouldn't Have Been There In The First Place"; USENIX Conference Proceedings; Summer 1982; Ken C.R.C. Arnold, Michael C. ToySelected 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 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." [http://www.artima.com/intv/taste4.html]
* "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 [http://wwwcip.informatik.uni-erlangen.de/~simigern/UnixArchive/PDP-11/Trees/2.11BSD/usr/doc/ps1/18.curses/intro.4 curses documentation] .)
See also
*
History of computer and video games
*"The Art of Unix Programming "References
External links
* [http://www.artima.com/weblogs/index.jsp?blogger=arnold Ken's (low volume) Artima log]
* [http://weblogs.java.net/blog/arnold/ Ken's (low volume) java.net blog]
* [http://www.rocketaware.com/uint/curses/ curses]
* [http://www.wichman.org/roguehistory.html Wichman's view of Rogue history]
Wikimedia Foundation. 2010.