В конце ноября смотрел чего наворотили в актуальных текстовых редакторах, вроде Atom и VS Code, в итоге нажаловался на них в facebook. Дескать даже файл открыть без мышки не могут. А для меня, как емаксера, тягание мыши — стресс и выпадение из потока — чистые боль и страдание.
Поэтому, и не в первый раз кстати, я решил от добра добра не искать — обновить то, что и так работает. Тем более, в последний раз я радикально перерабатывал конфиг Emacs лет 5 назад.
Кстати, по поводу «не в первый раз». У меня сложилось стойкое ощущение, что Emacs и Vim стали своего рода глобальными локальными оптимумами в пространстве возможных текстовых редакторов. Отказаться от них тем сложнее, чем дольше и глубже с ними знакомишься. А я с Emacs уже лет 12, видимо слезть с него совсем шансов нет.
Так вот. На обновление конфигов у меня ушло примерно 7 рабочих дней :-D И ещё дней 5 на автоматизацию настройки системы с помощью ansible — давно хотел сделать, но всё руки не доходили, а тут за компанию само пошло.
Вот она — прелесть безработности творческого отпуска — можешь неделю настраивать Emacs и никто тебе слова поперёк не скажет.
Если вы начинающий емаксер или просто интересуетесь, не пугайтесь сроков. Emacs — сложная штука, но не на столько. Просто я упоротый и полез делать собственное окружение, а для нормальных людей есть готовые и проверенные сборки: Spacemacs, Doom Emacs и прочие, которые должны работать сразу после установки.
Далее расскажу как я искал нужные библиотеки, какое мнение сформировал о текущем состоянии Emacs и что в итоге получилось.
Итоговый конфиг лежит на github. Если его разместить в /home/<user_name>/.emacs
, то при следующем запуске Emacs сам скачает и установит все нужные библиотеки. Будет работать всё, кроме некоторых фич в режиме редактирования Python — для их включения смотрите определение переменных python‑binaries
, python‑interpreter
, python‑pylint
.
Сбер выпусти свой генератор текста, основанный на GPT-2. Я попробовал скормить ему сказочные описания действий героев. Проверял на jupiter note, опубликованной в вебе, так что вы тоже можете с ней поиграть.
Обновлено: говорят, использовали на GPT-3, а GPT-2 с доработками.
Получилось средненько — не на тех текстах всё-таки нейронка обучалась. Вот если бы ей фэнтези скормили… Текст получается осмысленный, но чувствуется явная нехватка контекста.
Самые интересные примеры под катом.
Из-за непрекращающегося бардака в мире решил отвлечься от стресса и в итоге три недели учился кодить на Julia — портировал с Python один из своих экспериментальных проектов.
Я уже писал про впечатления от документации Julia — «теорию», а сейчас, так сказать, будет «практика».
В апреле я открыл доступ к своему хобби-проекту Morphologic.
Как я и опасался, штука оказалась для очень частных случаев. Настолько, что даже я её особо за эти 3 месяца не использовал.
В то же время я всё ещё думаю, что сама по себе она полезна, а значит проект останется доступен для всех.
В рамках наведения порядка я решил открыть его исходники под лицензией BSD.
Ссылка на репозиторий: https://github.com/Tiendil/morphologic
Все заметки из Google Docs переехали в issues.
В телеграм есть группа для обсуждения проекта: https://t.me/morphologic_soft
Если кто-нибудь хочет вписаться в разработку Morphologic, я с радостью эту инициативу поддержу.
На текущий момент планы по проекту у меня следующие:
Раз в несколько лет я нахожу время, чтобы покопаться в наработках сообщества по «продвинутым» проверкам типов. Благо у меня под рукой есть взрослый, большой и нетривиальный проект, на котором можно безбоязненно ставить эксперименты.
Не могу сказать что я разделяю оптимизм по поводу продвинутой типизации в Python. Наоборот, считаю, что это как попытка пришить змее ноги — забавно, но вряд ли удобно. Но раз куча людей тратит на это время, надо быть в курсе.
В этот раз я:
Рассказывать буду тезисно, без глубоких обоснований, так как делать нормального качества обоснования для таких холиварных вопросов слишком долго, а я уже дней 5 на копание в этом потратил.
Большая часть поста не про mypy, а про философию проверки типов и будущее Python. Поэтому должно быть интересно, даже если сам mypy вас не интересует.