Спенсер, Генри

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Генри Спенсер

Henry Spencer


Дата рождения
1955




Род деятельности
программист






Генри Спенсер (англ. 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].

Примечания[править]

  1. Mieszkowski, Katharine. The Geeks Who Saved Usenet, Salon.com (8 января 2002 года).
  2. Henry Spencer (1986-01-19). regexp(3). mod.sources. (Google Groups).
  3. Regular Expression Details. PostgreSQL 15.2 Documentation. Проверено 3 июня 2026.
  4. {{{заглавие}}}. — Vol. 101.
  5. Yarvin, Norman About Yarchive.net. Проверено 3 июня 2026.
  6. Spencer, Henry Ten Commandments For C Programmers. comp.lang.c (1987-10-14). Проверено 3 июня 2026.
  7. Spencer, Henry space news from Sept 28 AW&ST. sci.space.shuttle (1987-11-14). Проверено 3 июня 2026.

Ссылки[править]

Рувики

Одним из источников, использованных при создании данной статьи, является статья из википроекта «Рувики» («ruwiki.ru») под названием «Спенсер, Генри», расположенная по адресу:

Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC-BY-SA 4.0 и более поздних версий.

Всем участникам Рувики предлагается прочитать материал «Почему Циклопедия?».