Эссе о разработке игр, мышлении и книгах

Минидрама: Python, C, Rust, криптография и Gentoo

Новость с деталями.

  1. Часть кода популярной Python криптобиблиотеки переписали на Rust.
  2. Сломалось CI у кучи людей.
  3. Дополнительно сломалось чегой-то в пакетном менеджере Gentoo.
  4. Изменения незаметили, так как… ну кто следит за криптолибами? Их просто ставят.
  5. Все думали, что cryptography следует semantic versioning, оказалось, что нет :-D

В итоге:

  • Разработчики сказали, что откатывать Rust взад не будут — это более кошерный язык для криптографии, чем C.
  • Gentoo оказалась не так уж и поломана — зависимость оказалась ненужной, но осадочек остался.
  • Люди с CI поплакали, но донастроили что надо было донастроить, и вернулись к своим делам.

Соль драмы в том, Gentoo поддерживает часть архитектур, которые не умеют в Rust. Одновременно Gentoo сильно зависит от Python. В этот раз пуля пролетела мимо, но возникли опасения, что Rust будет всё активнее использоваться к инфраструктуре Python. и в какой-то момент станет необходимой зависимостью. Что в этом случае случится с поддержкой минорных архитектур не ясно.

Далее

Google стал Visionary Sponsor для Python

Новость в блоге PSF.

Не знаю что в PSF понимают под Visionary, но ничего хорошего такое визионерство языку не несёт. Конечно, если оно вообще что-то несёт. Но не вижу смысла продавливать отдельный термин для простого спонсорства — вряд ли PSF сама выбрала такую формулировку.

Цели, задачи, потребности корпорации планетарного масштаба принципиально отличаются от целей, задач и потребностей рядовых пользователей языка. Я даже не знаю как это оспорить можно. Я уже писал на тему целей Google при разработке Go в эссе о типизации в Python.

Своим текущим состоянием: идеологией, возможностями, распространённостью Python обязан в первую очередь рядовым пользователям, не Google.

В частности, одно из очевидных противоречий — вопрос гибкости и контролируемости кода.

Далее

Первая кругосветка Кука: Интересное

Набросок кенгуру, [Сидней Паркинсон](https://en.wikipedia.org/wiki/Sydney_Parkinson), 1770

Набросок кенгуру, Сидней Паркинсон, 1770

Шестая и заключительная часть заметок о первом кругосветном плавании Кука.

Содержание:

  1. Контекст
  2. Политика
  3. Туземцы
  4. Кораблекрушение
  5. Потери
  6. Интересное

В этом посте соберу интересные, иногда забавные, факты, которым не нашлось место в предыдущих частях. Закончу же характеристикой самого издания.

Далее

Первая кругосветка Кука: Потери

Похороны в море, Фрэнк Уильям Брэнгвин, 1890

Похороны в море, Фрэнк Уильям Брэнгвин, 1890

Пятая часть заметок о первом кругосветном плавании Кука.

Содержание:

  1. Контекст
  2. Политика
  3. Туземцы
  4. Кораблекрушение
  5. Потери
  6. Интересное

Одними из наиболее интересных для меня записей в журнале стали описания потерь экипажа. Их хронология и причины несчастий позволяют по-новому взглянуть на морские плавания того времени.

Из журнала можно сделать следующие выводы:

  • Главные враги человека: глупость, самоуверенность, вещества и неведомая !@#$!@$ фигня.
  • Лучшие способы снизить потери: планирование, хладнокровие, рациональное мышление, актуализация знаний.

Приведу хронологию потерь экипажа с примечаниями. Изучить её полезно даже не знакомясь с самим журналом. Потому что…  ну сами увидите.

Далее

Первая кругосветка Кука: Кораблекрушение

Индевор на берегу после крушения у Большого Барьерного рифа. Иоганн Фрич 1786.

Индевор на берегу после крушения у Большого Барьерного рифа. Иоганн Фрич 1786.

Четвёртая часть заметок о первом кругосветном плавании Кука.

Содержание:

  1. Контекст
  2. Политика
  3. Туземцы
  4. Кораблекрушение
  5. Потери
  6. Интересное

Крушение у берегов Австралии, пожалуй, самый динамичный эпизод путешествия. Возможно и самый интересный.

11 июня 1770 Индевор, несмотря на постоянные замеры глубины, внезапно налетел на рифы и прочно на них сел. Так европейцы познакомились с Большим Барьерным рифом.

Случилось это во время полной воды — прилива. При отливе положение мореплавателей могло значительно ухудшиться.

В спешке начали облегчать корабль: сбросили балласт, пресную воду, пушки (оставили 4 штуки). За час-полтора выкинули за борт 40-50 тонн груза, но всё равно не сдвинулись.

Далее