Henry Spencer
   HOME

TheInfoList



OR:

Henry Spencer (born 1955) is a
Canadian Canadians (french: Canadiens) are people identified with the country of Canada. This connection may be residential, legal, historical or cultural. For most Canadians, many (or all) of these connections exist and are collectively the source of ...
computer programmer and space enthusiast. He wrote "regex", a widely used
software library In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and sub ...
for
regular expression A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
s, and co-wrote C News, a
Usenet Usenet () is a worldwide distributed discussion system available on computers. It was developed from the general-purpose Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Ellis conceived the idea in 1979, and it wa ...
server program. He also wrote ''The Ten Commandments for C Programmers''. He is coauthor, with David Lawrence, of the book ''Managing Usenet''. While working at the
University of Toronto The University of Toronto (UToronto or U of T) is a public university, public research university in Toronto, Ontario, Canada, located on the grounds that surround Queen's Park (Toronto), Queen's Park. It was founded by royal charter in 1827 ...
he ran the first active Usenet site outside the U.S., starting in 1981. His records from that period were eventually acquired by
Google Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
to provide an archive of Usenet in the 1980s. The first international Usenet site was run in Ottawa, in 1981; however, it is generally not remembered, as it served merely as a read-only medium. Later in 1981, Spencer acquired a Usenet feed from Duke University, and brought "utzoo" online; the earliest public archives of Usenet date from May 1981 as a result. The small size of Usenet in its youthful days, and Spencer's early involvement, made him a well-recognised participant; this is commemorated in Vernor Vinge's 1992 novel '' A Fire Upon the Deep''. The novel featured an interstellar communications medium remarkably similar to Usenet, down to the author including spurious message headers; one of the characters who appeared solely through postings to this was modeled on Spencer (and, slightly obliquely, named for him). He is also credited with the claim that "Those who do not understand Unix are condemned to reinvent it, poorly."


Preserving Usenet

In mid-December 2001, Google unveiled its improved Usenet archives, which now go more than a decade deeper into the Internet's past than did the millions of posts that the company had originally acquired when it bought an existing archive called
Deja News Google Groups is a service from Google that provides discussion groups for people sharing common interests. The Groups service also provides a gateway to Usenet newsgroups via a shared user interface. Google Groups became operational in Febru ...
. Between 1981 and 1991, while running the zoology department's computer system at the University of Toronto, Spencer copied more than 2 million Usenet messages onto magnetic tapes. The 141 tapes wound up at the
University of Western Ontario The University of Western Ontario (UWO), also known as Western University or Western, is a public research university in London, Ontario, Canada. The main campus is located on of land, surrounded by residential neighbourhoods and the Thames R ...
, where Google's Michael Schmidt tracked them down and, with the help of David Wiseman and others, got them transferred onto disks and into Google's archives.


Free software contributions

Henry Spencer helped Geoff Collyer write C News in 1987. At around the same time he wrote a non-proprietary replacement for regex(3), the
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
library for handling
regular expressions A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" o ...
, and made it freely available; his API followed that of Eighth Edition
Research Unix The term "Research Unix" refers to early versions of the Unix operating system for DEC PDP-7, PDP-11, VAX and Interdata 7/32 and 8/32 computers, developed in the Bell Labs Computing Sciences Research Center (CSRC). History The term ''Resear ...
. Spencer's library has been used in many software packages, including Tcl,
MySQL MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...
, and PostgreSQL, as well as being adapted for others, including early versions of
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offic ...
. Circa 1993, Spencer donated a second version of his RE library to 4.4BSD, following the
POSIX The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming inter ...
standard for regular expressions. Spencer was technical lead on the FreeS/WAN project, implementing an
IPsec In computing, Internet Protocol Security (IPsec) is a secure network protocol suite that authenticates and encrypts packets of data to provide secure encrypted communication between two computers over an Internet Protocol network. It is used in ...
cryptographic
protocol stack The protocol stack or network stack is an implementation of a computer networking protocol suite or protocol family. Some of these terms are used interchangeably but strictly speaking, the ''suite'' is the definition of the communication protoco ...
for
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
. He also wrote 'aaa' (Amazing Awk Assembler), which is one of the longest and most complex programs ever written in the
awk AWK (''awk'') is a domain-specific language designed for text processing and typically used as a data extraction and reporting tool. Like sed and grep, it is a filter, and is a standard feature of most Unix-like operating systems. The AWK lang ...
programming language. He also developed a 4  point font used by entomologists in labeling pinned insect specimens.


Space

Spencer is a founding member of the Canadian Space Society, and has served on its board of directors several times since 1984. He did mission analysis (planning of launch and orbits) for the CSS's Canadian Solar Sail project (now defunct), and was Software Architect for
MOST Most or Möst or ''variation'', may refer to: Places * Most, Kardzhali Province, a village in Bulgaria * Most (city), a city in the Czech Republic ** Most District, a district surrounding the city ** Most Basin, a lowland named after the city ** A ...
, a Canadian science microsatellite dedicated to studying variable light from stars and
extrasolar planet An exoplanet or extrasolar planet is a planet outside the Solar System. The first possible evidence of an exoplanet was noted in 1917 but was not recognized as such. The first confirmation of detection occurred in 1992. A different planet, init ...
s launched by
Eurockot Eurockot Launch Services GmbH is a commercial spacecraft launch provider and was founded in 1995. Eurockot uses an expendable launch vehicle called the Rockot to place satellites into low Earth orbit (LEO). Eurockot is jointly owned by ArianeGroup ...
in 2003. The asteroid 117329 Spencer is named in his honour. He is a highly regarded space enthusiast, and is a familiar and respected presence on several space forums on Usenet and the
Internet The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
. From 1983 to 2007 Spencer posted over 34,000 messages to the sci.space.* newsgroups. His knowledge of space history and technology is such that the "I Corrected Henry Spencer" virtual
T-shirt A T-shirt (also spelled tee shirt), or tee, is a style of fabric shirt named after the T shape of its body and sleeves. Traditionally, it has short sleeves and a round neckline, known as a ''crew neck'', which lacks a collar. T-shirts are general ...
award was created as a reward for anyone who can catch him in an error of fact.


References


External links


Brief biography of Spencer at O'Reilly Media


* Janet Wong, News@UofT, December 5, 2001
Asteroids 101
(6:33)
The Dawn Mission
(4:38)
Early Days
(6:38) â€
Moon and Back
three videos of interviews at SpaceAccess 2013 conference, April 2013.
The Ten Commandments for C Programmers (Annotated Edition) by Henry Spencer
* — A paper he wrote with Geoff Collyer about software portability.
aaa - the Amazing Awk Assembler by Henry Spencer

awf - the Amazingly Workable Formatter by Henry Spencer
{{DEFAULTSORT:Spencer, Henry Living people Unix people Usenet people Free software programmers Duke University alumni 1955 births