Mike Cowlishaw

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Michael Frederic Cowlishaw
File:Mike Cowlishaw 2005.jpg
Born
Bath, England
Alma materUniversity of Birmingham
Known forRexx, editors (STET, TOOLSRUN / TOOLS, LEXX), Decimal arithmetic, DPD
AwardsFReng, FIET, FBCS
Scientific career
FieldsComputer science
InstitutionsUniversity of Warwick

Michael Frederic Cowlishaw is a Fellow of the Royal Academy of Engineering.[1] and sometime visiting professor at the Department of Computer Science at the University of Warwick. He is a retired IBM Fellow, and was a Fellow of the Institute of Engineering and Technology, and the British Computer Society. He was educated at Monkton Combe School and the University of Birmingham.

Career at IBM

[edit | edit source]

Cowlishaw was a pre-University student in 1971 and joined IBM in 1974 as an electronic engineer but is best known as a programmer and writer. He is known for designing and implementing the Rexx programming language (1984),[2][3] the TOOLSRUN and TOOLS packages used within IBM to create the IBMPC Conferencing Disk,[4] his work on colour perception and image processing that led to the formation of JPEG (1985),[5] the STET folding editor (1977), the LEXX live parsing editor with colour highlighting for the Oxford English Dictionary (1985),[6] electronic publishing, SGML applications, the IBM Jargon File IBMJARG (1990),[7] a programmable OS/2 world globe PMGlobe (1993),[8] MemoWiki based on his GoServe Gopher/http server,[9] and the Java-related NetRexx programming language (1997).

He has contributed to various computing standards, including ISO (SGML, COBOL, C, C++), BSI (SGML, C), ANSI (REXX), IETF (HTTP 1.0/RFC 1945), W3C (XML Schema), ECMA (JavaScript/ECMAScript, C#, CLI), and IEEE (754 decimal floating-point). He retired from IBM in March 2010.

Decimal arithmetic

[edit | edit source]

Cowlishaw has worked on aspects of decimal arithmetic; his proposal for an improved Java BigDecimal class (JSR 13) is now included in Java 5.0, and in 2002, he invented a refinement of Chen–Ho encoding known as densely packed decimal encoding. Cowlishaw's decimal arithmetic specification formed the proposal for the decimal parts of the IEEE 754 standard, as well as being followed by many implementations, such as Python and SAP NetWeaver. His decNumber decimal package is also available as open source under several licenses and is now part of GCC, and his proposals for decimal hardware have been adopted by IBM and others. They are integrated into the IBM POWER6 and IBM System z10 processor cores, and in numerous IBM software products such as DB2, TPF (in Sabre), WebSphere MQ, operating systems, and C and PL/I compilers.[10]

Other activities

[edit | edit source]

Cowlishaw wrote an emulator for the Acorn System 1, and collected related documentation.[11] Outside computing, he caved in the UK, New England, Spain,[12] and Mexico [13] and continues to cave and hike in Spain. He is a life member of the National Speleological Society (NSS), wrote articles in the 1970s and 1980s on battery technology and on the shock strength of caving ropes, and designed LED-based caving lamps.[14] His current programming projects include MapGazer.[15] and PanGazer[16]

Publications (primary author)

[edit | edit source]
  • The NetRexx Language, Cowlishaw, Michael F., Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., Prentice-Hall, 1997
  • The REXX Language, Cowlishaw, Michael F., in English: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., (second edition) 1990; in German: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., Carl Hanser Verlag, 1988; in Japanese: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., Kindai-kagaku-sha, 1988
  • Decimal Floating-Point: Algorism for Computers at the Wayback Machine (archived 2003-11-16), Cowlishaw, Michael F., Proceedings 16th IEEE Symposium on Computer Arithmetic (ARITH 16), Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., pp. 104–111, IEEE Comp. Society, June 2003
  • Densely Packed Decimal Encoding, Cowlishaw, Michael F., (Summary.) IEE Proceedings – Computers and Digital Techniques ISSN 1350-2387, Vol. 149, No. 3, pp. 102–104, IEE, May 2002
  • A Decimal Floating-Point Specification, Cowlishaw, Schwarz, Smith, and Webb, Proceedings 15th IEEE Symposium on Computer Arithmetic (Arith15), Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., pp. 147–154, IEEE Comp. Society, June 2001
  • NetRexx – an alternative for writing Java classes at the Wayback Machine (archived 2004-06-02), Cowlishaw, Michael F., Proceedings of IEEE CompCon 97, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., pp. 200–205, IEEE Press, Los Alamitos, Spring 1997
  • The Early History of REXX, Cowlishaw, Michael F., IEEE Annals of the History of Computing, ISSN 1058-6180, Vol. 16, No. 4, Winter 1994, pp. 15–24
  • A large-scale computer conferencing system, Chess and Cowlishaw, IBM Systems Journal, Vol. 26, No. 1, 1987, IBM Reprint order number G321-5291
  • LEXX – A programmable structured editor, Cowlishaw, Michael F., IBM Journal of Research and Development, Vol. 31, No. 1, 1987, IBM Reprint order number G322-0151
  • Fundamental requirements for picture presentation, Cowlishaw, Michael F., Proceedings Society for Information Display, Volume 26, No. 2 (1985)
  • The design of the REXX language, Cowlishaw, Michael F., IBM Systems Journal, Volume 23, No. 4, 1984, IBM Reprint order number G321-5228
  • The Characteristics and Use of Lead-Acid Cap Lamps, Cowlishaw, Michael F. (Speleogroup), Transactions British Cave Research Association, Volume 1, No. 4, pp. 199–214, December 1974

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).