В начале июля в Провансе начинает цвести лаванда. Мы съездили с друзьями в окрестности города Валенсоль посмотреть на её цветение. Выложил фотографии в галерее, а ниже несколько коротких наблюдений.

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

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

Недалеко от Валенсоля есть красивый водопад La Cascade de Sillans — однозначно стоящее посещения место. Жаль только, что там нельзя купаться :/

Остановились мы не в Валенсоле, а в деревне Baudinard-sur-Verdon, до которой от города ехать около сорока минут. Во всем регионе довольно много лавандовых полей, в окрестностях этой деревни поля были почти безлюдными. А Валенсоль популярное у туристов место и все лавандовые поля там переполнены китайцами.

Города в регионе удивительно хорошо сохранили дух прошлого. Это не современные мегаполисы, а старые небольшие малоэтажные городки с тесными улочками и без современных построек. Честно говоря, не могу представить себе жизнь в таком месте.

Дороги здесь в целом хорошие, но иногда навигатор заводил нас в места больше похожие на декорации к “Безумному Максу”, чем на типичные альпийские пейзажи :)

Дочитал трилогию “Укрытие” (Silo) Хью Хауи, это те книги, по которым снят сериал “Бункер”. Второй, и последний на данный момент, сезон закончился на самом интересном месте и я не смог удержаться от прочтения, чтобы узнать чем там всё закончится.

Книги оказались довольно проходной фантастикой, сильно проседающей в середине по динамике. Сериал получился гораздо сильнее и драматичнее.

Спойлер: в третьем сезоне зрителей ждёт твист уровня Дюны (той, где Атрейдесы, пряность и песчаные черви), когда становится понятно, что основная сюжетная линия книги – это противостояние людей и роботов.

Недавно я добавил в свой блог romka.eu возможность автоматической трансляции сообщений в мой Телеграм-канал. Делается это полностью автоматически:

  • весь этот блог, это просто иерархия директорий, где каждый пост это одна директория, а текст – файлы index.ru.md и index.en.md в ней. Для удобства, директория управляется системой контроля версий Git, а все исходники отправляются на Github,
  • как только новая запись в блоге прилетает на Гитхаб, запускается мой кастомный воркфлоу send_to_telegram.yml, который находит все изменённые последним коммитом файлы и передаёт их в скрипт post_to_telegram.py
  • post_to_telegram.py берёт на вход локальный путь к блог-посту или галерее и, если в его конфигурации есть настройка telegram: true, то такой пост будет отправлен в канал через API Телеграма,
  • API Телеграма возвращает id сообщения в ответ на отправленное сообщение. Этот айдишник коммитится в файл telegram_mappings.csv.
  • Далее, если в post_to_telegram.py прилетит файл, который уже есть в telegram_mappings.csv, то вместо отправки нового сообщения в Телеграм будет отредактировано существующее.

В принципе, в автоматизации выше нет ничего сверхъестественного. Самое интересное – то, что вообще все перечисленные элементы для автоматизации процесса были полностью сгенерированы для меня ChatGPT.

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

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

Фактически, ChatGPT работает как хороший стажёр: выдаёт правдоподобно выглядящий код, который обязательно нужно внимательно поревьюить и в котором почти наверняка есть какие-то требующие исправления косяки.

В своей практике я пробовал использовать несколько других ИИ-инструментов, но пока, к удивлению, ChatGPT остаётся самым адекватным. “К удивлению” – потому что ChatGPT – это модель общего назначения. Я пробовал использовать модельки, специально заточенные под код: ассистент от JetBrains, GitHub Copilot, Claude 3.7 Sonnet. Первые два – невероятно тупые, особенно с учётом того, что они, в отличие от ChatGPT, имеют полный доступ к коду проекта. Последний я не сумел заставить нормально работать: кроме списания денег за каждый запрос к API, он имеет встроенный rate limiter. Любой, даже самый простой запрос, который я ему отправляю, падает с ошибкой превышения лимита. Вероятно, вместе с каждым моим вопросом он пытается отправить в API всю мою кодовую базу. Другого объяснения нарушения лимитов у меня нет.

Вообще, конечно, все эти ИИ-инструменты – это просто фантастика. Лет 10 назад о таком уровне интеллекта ИИ-ассистентов не приходилось даже мечтать. Боюсь представить, во что они эволюционируют за следующие 10 лет.

Досмотрел второй (и последний на данный момент) сезон сериала Severance. Это лучший научно-фантастический сериал, который я когда-либо видел. Лучше даже чем “Чёрное зеркало”. В последнем качество эпизодов очень неравномерное, некоторые совсем слабые, а в “Разделении” ход и плотность событий не теряют своей скорости, а частота высказывания вопроса “да чем же, черт возьми, они там все занимаются?!” растет экспоненциально!

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

Тест автоматической отправки поста из блога romka.eu сразу в Телеграм. Если всё сработает, то это будет первое сообщение в канале.

Этот блог построен с помощью генератора статических сайтов Hugo, а его исходники хостятся на Гитхабе. Github Action отслеживает новые посты, в которых задана опция telegram: true и отправляет их в этот канал, для измененных сообщений он редактирует существующие сообщения в канале.