В свободное время я много раз ездил в Плоский мир за последние несколько месяцев. Я перечитывал свои фавориты, такие как Going Postal, и впервые поглощал другие классические произведения, такие как Hogfather.

Я подумал, что сделаю паузу в это Рождество и предложу свой вклад в постоянную дань уважения покойному Терри Пратчетту.

Вы знаете, они никогда не умрут, пока жив Ствол ... Он живет, пока код изменен, и они живут с ним, всегда возвращаясь домой.
- Терри Пратчетт, Going Postal

Clacks, как описано в Going Postal, представляет собой систему трансконкурентных семафорных башен, используемых для отправки сообщений на большие расстояния. Каждый пакет текста, отправляемый через Clacks, кодируется с использованием набора стандартизованных кодов и кодировок.

Знакомо, не правда ли?

Коды G, N и U означают «отправить сообщение», «не регистрировать сообщение» и «перевернуть сообщение в конце строки» соответственно. В Going Postal эти коды используются для постоянной посылки имени персонажа вверх и вниз по щелчкам.

Пока произносится его имя, он никогда не умрет.

Мы можем написать функцию Plug, чтобы легко транслировать наши собственные служебные сообщения Clacks с нашего сервера Phoenix:

pipeline :browser do 
  ... 
  plug :gnu_terry_pratchett
end
def gnu_terry_pratchett(conn, options) do
  Plug.Conn.put_resp_header(conn, 
                            "X-Clacks-Overhead", 
                            "GNU Terry Pratchett")
end

Конечно, это все фантастика. Щелчки не настоящие, имя Терри не будет вечно висеть наверху, и любые X-Clacks-Overhead сообщения, которые мы отправляем, будут просто игнорироваться всем миром.

При этом «людям нужна фантазия, чтобы быть людьми».

ЧЕЛОВЕКАМ НУЖНА ФАНТАЗИЯ, ЧТОБЫ БЫТЬ ЧЕЛОВЕКОМ. БЫТЬ МЕСТО, ГДЕ ПАДАЮЩИЙ АНГЕЛ ВСТРЕЧАЕТ ВСТРЕЧАЮЩУЮСЯ ОБЕЗЬЮНУ.

«Зубные феи? Свиньи отцы? Маленький - »

ДА. КАК ПРАКТИКА. ВЫ ДОЛЖНЫ НАЧАТЬ УЧИТЬСЯ, ЧТОБЫ Верить МАЛЕНЬКОЙ ЛОЖИ.

«Значит, мы можем верить большим?»

ДА. СПРАВЕДЛИВОСТЬ. МИЛОСЕРДИЕ. ОБЯЗАННОСТЬ…

- Терри Пратчетт, Отец-свинья

Первоначально опубликовано на www.petecorey.com 25 декабря 2017 г.