Спенсер, Генри
Генри Спенсер (англ. Henry Spencer; [Нет даты!]) — канадский программист и энтузиаст космоса. Известен как автор «regex» — широко используемой библиотеки для работы с регулярными выражениями, а также как соавтор серверной программы C News для Usenet.
Сохранение Usenet[править]
В середине декабря 2001 года компания Google представила улучшенные архивы Usenet, которые охватывали более чем десятилетний период истории интернета, что значительно превышало объём сообщений, полученных компанией при покупке архива Deja News.
В период с 1981 по 1991 год, управляя компьютерной системой факультета зоологии в Торонтском университете, Спенсер скопировал более 2 миллионов сообщений Usenet на магнитные ленты. Эти 141 лента оказались в Университете Западного Онтарио, где их нашёл Майкл Шмидт из Google. При помощи Дэвида Уайзмана и других специалистов данные были перенесены на диски и добавлены в архивы Google[1].
Вклад в свободное программное обеспечение[править]
В 1987 году Генри Спенсер совместно с Джеффом Коллиером разработал C News.
Примерно в то же время он написал непатентованную замену для regex(3) — библиотеки Unix для обработки регулярных выражений — и сделал её свободно доступной. Его API соответствовал стандарту Восьмой редакции Research Unix[2]. Библиотека Спенсера использовалась во многих программных пакетах, включая Tcl, MySQL (до версии 8.0.4) и PostgreSQL[3], а также была адаптирована для других проектов, таких как ранние версии Perl. Около 1993 года Спенсер передал вторую версию своей библиотеки регулярных выражений в 4.4BSD, следуя стандарту POSIX.
Спенсер был техническим руководителем проекта FreeS/WAN, реализуя криптографический стек протоколов IPsec для Linux.
Он также написал программу «aaa» (Amazing Awk Assembler), которая является одной из самых длинных и сложных программ, когда-либо созданных на языке программирования awk.
Кроме того, он разработал шрифт размером 4 пункта, используемый энтомологами для маркировки приколотых экземпляров насекомых[4].
Космос[править]
Спенсер является одним из основателей Канадского космического общества (CSS) и с 1984 года несколько раз входил в его совет директоров. Он занимался анализом миссий (планированием запусков и орбит) для ныне закрытого проекта канадского солнечного паруса CSS. Также он выступал в роли архитектора программного обеспечения для MOST — канадского научного микроспутника, предназначенного для изучения переменного излучения звёзд и экзопланет, запущенного компанией Eurockot в 2003 году. В его честь назван астероид 117329 Spencer.
Спенсер активно участвует в работе нескольких космических форумов в Usenet и Интернете. С 1983 по 2007 год он опубликовал более 34 000 сообщений в новостных группах sci.space.*. Его знания в области истории и технологий космоса настолько обширны, что была создана виртуальная награда в виде футболки с надписью «Я поправил Генри Спенсера» для тех, кто сможет найти фактическую ошибку в его утверждениях[5].
Биография и карьера[править]
Спенсер написал «Десять заповедей для программистов на C»[6]. Совместно с Дэвидом Лоуренсом он является соавтором книги «Управление Usenet». Работая в Торонтском университете, он с 1981 года управлял первым активным узлом Usenet за пределами США. Его записи того периода впоследствии были приобретены Google для создания архива Usenet 1980-х годов.
Первый международный узел Usenet был запущен в Оттаве в 1981 году, однако он служил лишь для чтения. Позже в том же году Спенсер получил доступ к Usenet от Университета Дьюка и запустил узел «utzoo». В результате самые ранние публичные архивы Usenet датируются маем 1981 года.
Небольшой размер Usenet в первые годы его существования и раннее участие Спенсера сделали его узнаваемым участником сети. Это нашло отражение в романе Вернора Винджа «Пламя над бездной» (1992). В книге описана система межзвёздной связи, напоминающая Usenet, включая фиктивные заголовки сообщений. Один из персонажей, появляющийся исключительно через публикации в этой сети, был смоделирован на основе Спенсера и назван в его честь.
Ему также приписывают фразу: «Те, кто не понимает Unix, обречены изобретать его заново, причём плохо»[7].
Примечания[править]
- ↑ Mieszkowski, Katharine. The Geeks Who Saved Usenet, Salon.com (8 января 2002 года).
- ↑ Henry Spencer (1986-01-19).
regexp(3)
. mod.sources. (Google Groups). - ↑ Regular Expression Details. PostgreSQL 15.2 Documentation. Проверено 3 июня 2026.
- ↑ {{{заглавие}}}. — Vol. 101.
- ↑ Yarvin, Norman About Yarchive.net. Проверено 3 июня 2026.
- ↑ Spencer, Henry Ten Commandments For C Programmers. comp.lang.c (1987-10-14). Проверено 3 июня 2026.
- ↑ Spencer, Henry space news from Sept 28 AW&ST. sci.space.shuttle (1987-11-14). Проверено 3 июня 2026.
Ссылки[править]
- Презентация Спенсера в Apollo Lunar Surface Journal
- Архивировано из первоисточника 2008-02-27. Janet Wong, News@UofT, December 5, 2001
- Asteroids 101 (6:33), The Dawn Mission (4:38), Early Days (6:38) – Moon and Back, три видеоинтервью на конференции SpaceAccess 2013, апрель 2013 года.
- Десять заповедей для программистов на C (аннотированное издание) Генри Спенсера
- (1992) "#ifdef Considered Harmful, or Portability Experience With C News".: 185–197. — статья о переносимости программного обеспечения, написанная совместно с Джеффом Коллиером.
- aaa - the Amazing Awk Assembler by Henry Spencer
- awf - the Amazingly Workable Formatter by Henry Spencer
Одним из источников, использованных при создании данной статьи, является статья из википроекта «Рувики» («ruwiki.ru») под названием «Спенсер, Генри», расположенная по адресу:
Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC-BY-SA 4.0 и более поздних версий. Всем участникам Рувики предлагается прочитать материал «Почему Циклопедия?». |