Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Henry Spencer
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Canadian computer programmer}} {{Other uses}} [[File:Henry Spencer 2023.jpg|thumb|right|Henry Spencer in 2023.]] '''Henry Spencer''' (born 1955) is a [[Canadians|Canadian]] [[computer programmer]] and space enthusiast. He wrote "regex", a widely used [[Library (computing)|software library]] for [[regular expression]]s, and co-wrote [[C News]], a [[Usenet]] server program. He also wrote ''The Ten Commandments for [[C (programming language)|C]] Programmers''.<ref>{{cite web |url=https://groups.google.com/group/comp.lang.c/msg/08c8c117dd2d13b6 |title=Ten Commandments For C Programmers |first=Henry |last=Spencer |publisher=comp.lang.c |date=October 14, 1987}}</ref> He is coauthor, with David Lawrence, of the book ''Managing Usenet''.<ref>{{cite book |url=https://archive.org/details/managingusenet00spen |title=Managing Usenet |publisher=O'Reilly Media |first1=David |last1=Lawrence |first2=Henry |last2=Spencer |date=January 1998 |isbn=1-56592-198-4 |url-access=registration }}</ref> While working at the [[University of Toronto]] he ran the first active Usenet site outside the U.S., starting in 1981. His records from that period were eventually acquired by [[Google]] to provide an [[Usenet#Archives|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|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."<ref>{{cite web |url=https://groups.google.com/forum/#!msg/sci.space.shuttle/L8-Upf8gZoY/NN6ngTI0K0QJ |title=space news from Sept 28 AW&ST |publisher=sci.space.shuttle |first=Henry |last=Spencer |date=November 14, 1987}}</ref> ==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]]. 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]], where Google's Michael Schmidt tracked them down and, with the help of David Wiseman and others,<ref>{{cite web |url=http://www.csd.uwo.ca/~magi/personal/usenet.html |archive-url=https://archive.today/20050209012732/http://www.csd.uwo.ca/~magi/personal/usenet.html |archive-date=February 9, 2005 |title=Magi's NetNews Archive Involvement |first=David G. |last=Wiseman |date=December 11, 2001}}</ref> got them transferred onto disks and into Google's archives.<ref>{{cite news|url=https://www.salon.com/2002/01/08/saving_usenet/ |title=The Geeks Who Saved Usenet |work=Salon.com |first=Katharine |last=Mieszkowski |date=January 8, 2002 |access-date=2023-05-03}}</ref> ==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 <code>regex(3)</code>, the [[Unix]] library for handling [[regular expressions]], and made it freely available; his API followed that of [[Version 8 Unix|Eighth Edition]] [[Research Unix]].<ref>{{cite newsgroup |title=regexp(3) |author=Henry Spencer |date=1986-01-19 |newsgroup=mod.sources |message-id=1316@panda.UUCP |url=https://groups.google.com/forum/#!original/mod.sources/OqVZYQNSmDs/G_T2jHu5QI8J|access-date=9 January 2013}}</ref> Spencer's library has been used in many software packages, including [[Tcl]], [[MySQL]] (prior to MySQL 8.0.4),<ref>{{cite web |url=https://dev.mysql.com/doc/refman/8.0/en/regexp.html#regexp-compatibility |title=Regular Expressions |work=MySQL 8.0 Reference Manual |publisher=[[Oracle Corporation|Oracle]] |access-date=2023-05-03}}</ref> and [[PostgreSQL]],<ref>{{cite web |url=https://www.postgresql.org/docs/current/functions-matching.html#POSIX-SYNTAX-DETAILS |title=Regular Expression Details |work=PostgreSQL 15.2 Documentation |access-date=2023-05-03}}</ref> as well as being adapted for others, including early versions of [[Perl]]. Circa 1993, Spencer donated a second version of his RE library to [[Berkeley Software Distribution|4.4BSD]], following the [[POSIX]] standard for regular expressions. Spencer was technical lead on the [[FreeS/WAN]] project, implementing an [[IPsec]] [[cryptography|cryptographic]] [[protocol stack]] for [[Linux]]. He also wrote 'aaa' (Amazing Awk Assembler), which is one of the longest and most complex programs ever written in the [[awk]] programming language. He also developed a 4 [[point (typography)|point]] font used by entomologists in labeling pinned insect specimens.<ref>{{Cite journal|last2=Plowright|first2=R.C.|date=MayβJune 1990|title=HPLABEL: A Program and Microfont for the Generation of Date / Locality Labels Using a Laser Printer|url=http://www.nhm.ac.uk/resources/research-curation/projects/chalcidoids/pdf_Y/DarlinPl990.pdf|url-status=dead|journal=Entomological News|volume=101|issue=3|archive-url=https://web.archive.org/web/20170605084958/http://www.nhm.ac.uk/resources/research-curation/projects/chalcidoids/pdf_Y/DarlinPl990.pdf|archive-date=2017-06-05|last1=Darling|first1=D. Christopher}}</ref> ==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 [[Microvariability and Oscillations of STars telescope|MOST]], a Canadian science [[Miniaturized satellite|microsatellite]] dedicated to studying variable light from stars and [[extrasolar planet]]s launched by [[Eurockot]] 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]]. 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]] award was created as a reward for anyone who can catch him in an error of fact.<ref>{{cite web |title=About Yarchive.net |url=https://yarchive.net/about.html |first=Norman |last=Yarvin |access-date=2023-05-03}}</ref> ==References== {{Reflist|colwidth=30em}} ==External links== {{Wikiquote}} * [https://www.oreilly.com/pub/au/451 Brief biography of Spencer at O'Reilly Media] * [https://web.archive.org/web/20000521225818/http://www.hq.nasa.gov/alsj/henry.html Spencer presentation at the Apollo Lunar Surface Journal] * {{webarchive |url=https://web.archive.org/web/20080227060138/http://www.newsandevents.utoronto.ca/bin2/011205a.asp |date=February 27, 2008 |title="MOST satellite to rocket into space in October" }} Janet Wong, News@UofT, December 5, 2001 * [http://moonandback.com/2013/05/02/henry-spencer-asteroids-101-moonandback-interviews/ Asteroids 101] (6:33), [http://moonandback.com/2013/05/03/henry-spenser-the-dawn-mission-moonandback-interview/ The Dawn Mission] (4:38), [http://moonandback.com/2013/05/04/henry-spenser-early-days-moonandback-interview/ Early Days] (6:38) β [http://moonandback.com/section/news/ Moon and Back], three videos of interviews at SpaceAccess 2013 conference, April 2013. * [https://doc.cat-v.org/henry_spencer/ten-commandments The Ten Commandments for C Programmers (Annotated Edition) by Henry Spencer] * {{cite conference|author1-first=Henry|author1-last=Spencer|author1-link=Henry Spencer|author2-first=Geoff|author2-last=Collyer|author2-link=Geoff Collyer|year=1992|title=#ifdef Considered Harmful, or Portability Experience With C News|book-title=USENIX β92 Proceedings|pages=185–197|url=https://usenix.org/legacy/publications/library/proceedings/sa92/spencer.pdf}} — A paper he wrote with Geoff Collyer about software portability. * [https://doc.cat-v.org/henry_spencer/amazing_awk_assembler/ aaa - the Amazing Awk Assembler by Henry Spencer] * [https://doc.cat-v.org/henry_spencer/awf/ awf - the Amazingly Workable Formatter by Henry Spencer] {{Authority control}} {{DEFAULTSORT:Spencer, Henry}} [[Category:Living people]] [[Category:Unix people]] [[Category:Usenet people]] [[Category:Free software programmers]] [[Category:Duke University alumni]] [[Category:1955 births]]
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Cite conference
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite news
(
edit
)
Template:Cite newsgroup
(
edit
)
Template:Cite web
(
edit
)
Template:Other uses
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)
Template:Wikiquote
(
edit
)
Search
Search
Editing
Henry Spencer
Add topic