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

Пара слов о GitHub Сopilot

DALL-E: "Vrubel style painting of pair programming Robot + Human. An robot is writing code, a human is reviewing code".

DALL-E: "Vrubel style painting of pair programming Robot + Human. An robot is writing code, a human is reviewing code".

Последние несколько недель использовал GitHub Сopilot, благо для Emacs есть плагин. Поделюсь впечатлениями.

Для справки, я уже лет 15 осознанно не использовал умное автодополнение. Всё моё автодополнение — это DynamicAbbreviations, по сути — дополнение написанного слова на основе словаря из открытых исходников.

Причина отказа такая: используя «умное» автодополнение (например, подсказку аттрибутов/методов объекта) перестаёшь понимать проект. Начинаешь на автомате брать предлагаемые варианты методов/переменных, не разбираясь что они конкретно делают и есть ли альтернатинвые варианты.

В краткосрочной перспективе отказ от автодополнения повышает нагрузку на человека (особенно на память) и замедляет работу, но в доглосрочной даёт глубокое понимание проекта, возможнсоть крутить его в голове как угодно, что с лихвой окупает потери на скорости в моменте. А поскольку я работаю только над долгими проектами, долгосрочная выгода важнее.

С Copilot я, похоже, вернуcь к умному автодополнению, в его более правильном варианте.

Итак, давайте посмотрим чего умеет и не умеет Copilot.

Далее

Мой взгляд на NFT

Для протокола скажу пару слов о Non Fungible Tokens. В основном потому, что о них сейчас кричат из каждого утюга. Может для кого-нибудь этот пост будет полезен.

Некоторые вещи буду говорить упрощённо, чтобы не затягивать.

Далее

(Анти?)утопия науки

Я нахожусь далеко от науки, особенно от хардкорной. Да и сроки прогноза неопределённо долгие. Поэтому предлагаю смотреть на эссе, как на описания одного из множества вариантов отдалённого будущего.

Если копнуть в историю науки, можно заметить, что не существует чёткого момента её возникновения. Такого, чтобы: «вот досюда не было науки, а после она уже есть».

Тем более, если смотреть на науку как на движитель прогресса. Если прогресс обеспечивается только наукой, то как он происходил до неё, как она могла возникнуть без прогрессивных изменений?

Очевидно, и до появления концепции научной деятельности, люди познавали мир, улучшали его. Более того, совершенствовали инструменты познания, пока те не оформились в то, что мы зовём наукой.

Фактически, наука — абстракция — мемплекс, который собрал под общим названием набор инструментов для манипуляций реальностью. Набор оказался удачным: результаты его применения усиливают эффективность будущих применений и приносят побочную пользу. Возникшая обратная связь и привела, вкупе с некоторыми другими штуками, к взрывному росту технологий.

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

То есть изменение даже базовых принципов науки нормально, фатальной катастрофой не грозит, происходило и будет происходить в будущем.

Возможности одного такого изменения и посвящено эссе.

Далее

Минидрама: 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.

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

Далее