В Python могут появиться ?. и ?? 🐍
Нас, похоже, ждёт меньше однотипных проверок на
Появились два предложения для Python 3.16. Оба пока в статусе Draft — новый синтаксис ещё не принят.
1. ?. — доступ к атрибуту с проверкой на None
Сейчас:
Предлагают:
Если
Можно собрать и цепочку:
Если
В том же PEP предлагают
Остальные ошибки не скрываются: если объект не
🔗 PEP 823
2. ?? — значение по умолчанию, если слева None
Сейчас:
Предлагают:
Если слева
Вот главное отличие от or:
Бонус: ??=
Присвоить значение, только если текущее равно
🔗 PEP 824
Как вам такой синтаксис? Давно пора или привычные
Нас, похоже, ждёт меньше однотипных проверок на
None.Появились два предложения для Python 3.16. Оба пока в статусе Draft — новый синтаксис ещё не принят.
1. ?. — доступ к атрибуту с проверкой на None
Сейчас:
name = None
if user is not None:
name = user.name
Предлагают:
name = user?.name
Если
user равен None, результат — None. Иначе получим user.name.Можно собрать и цепочку:
city = user?.address?.city
Если
user или address равны None, цепочка остановится и вернёт None.В том же PEP предлагают
?[] для доступа по индексу или ключу.Остальные ошибки не скрываются: если объект не
None, отсутствие атрибута или ключа по-прежнему вызовет исключение.🔗 PEP 823
2. ?? — значение по умолчанию, если слева None
Сейчас:
timeout = config_timeout
if timeout is None:
timeout = 30
Предлагают:
timeout = config_timeout ?? 30
Если слева
None, получим 30. Если там 0 — он сохранится.Вот главное отличие от or:
0 or 30 # 30
0 ?? 30 # 0
None ?? 30 # 30
False и пустая строка тоже сохраняются. Подмена происходит только для None.Бонус: ??=
Присвоить значение, только если текущее равно
None:timeout ??= 30
🔗 PEP 824
Как вам такой синтаксис? Давно пора или привычные
if ... is None понятнее? 🙂👍5
📋 Maccy: бесплатная история буфера обмена для Mac
Скопировали полезную ссылку, потом команду из терминала — и теперь снова ищете ссылку по вкладкам? Для таких случаев есть Maccy.
Это небольшая утилита для macOS, которая сохраняет историю скопированного. Ссылки, фрагменты кода, текст и картинки можно найти и использовать повторно.
Как это работает
Нажимаете ⇧⌘C — открывается история. Начинаете печатать, чтобы найти нужную запись, выбираете её и жмёте Enter. Она снова в буфере обмена: остаётся вставить через ⌘V.
Что пригодится в работе:
• Вернуть команду, которую копировали час назад, даже если после неё скопировали ещё десять вещей.
• Собрать несколько ссылок и фрагментов кода, а затем вставить их по очереди.
• Закрепить часто используемый текст — например, шаблон ответа.
• Вставить текст без чужих шрифтов и оформления.
Maccy работает с клавиатуры, хранит историю на компьютере и имеет открытый исходный код. Для текущей версии нужна macOS 14 Sonoma или новее.
И да, скачать её можно бесплатно. На GitHub доступна бесплатная версия, а в App Store приложение платное — это способ поддержать разработку.
Бесплатная загрузка: https://github.com/p0deje/Maccy/releases/latest
О программе: https://maccy.app/
Полезная мелочь для тех, у кого ⌘C и ⌘V — самые рабочие клавиши 🙂
А вы пользуетесь историей буфера обмена или каждый раз идёте копировать заново?
Скопировали полезную ссылку, потом команду из терминала — и теперь снова ищете ссылку по вкладкам? Для таких случаев есть Maccy.
Это небольшая утилита для macOS, которая сохраняет историю скопированного. Ссылки, фрагменты кода, текст и картинки можно найти и использовать повторно.
Как это работает
Нажимаете ⇧⌘C — открывается история. Начинаете печатать, чтобы найти нужную запись, выбираете её и жмёте Enter. Она снова в буфере обмена: остаётся вставить через ⌘V.
Что пригодится в работе:
• Вернуть команду, которую копировали час назад, даже если после неё скопировали ещё десять вещей.
• Собрать несколько ссылок и фрагментов кода, а затем вставить их по очереди.
• Закрепить часто используемый текст — например, шаблон ответа.
• Вставить текст без чужих шрифтов и оформления.
Maccy работает с клавиатуры, хранит историю на компьютере и имеет открытый исходный код. Для текущей версии нужна macOS 14 Sonoma или новее.
И да, скачать её можно бесплатно. На GitHub доступна бесплатная версия, а в App Store приложение платное — это способ поддержать разработку.
Бесплатная загрузка: https://github.com/p0deje/Maccy/releases/latest
О программе: https://maccy.app/
Полезная мелочь для тех, у кого ⌘C и ⌘V — самые рабочие клавиши 🙂
А вы пользуетесь историей буфера обмена или каждый раз идёте копировать заново?
GitHub
Release 2.7.1 · p0deje/Maccy
Updated app icon for Liquid Glass (#1474) (credits to @genucoder).
Increased the minimum popup height to 3 history items.
Added Portuguese translation.
Added Khmer translation.
Fixed paste without ...
Increased the minimum popup height to 3 history items.
Added Portuguese translation.
Added Khmer translation.
Fixed paste without ...
3
Ходят слухи, что при устройстве на Rust разработчика вместе с макбуком выдают чулочки. Кто тут работает раст разработчиком, расскажите, так ли это?
😁5
По моей непроверенной информации МИРО начали отказывать в продлении лицензии российским компаниям.
Миро с 1 ноября отказали в продление лицензий.
Условиями пользования сервиса предусмотрено 30 дней после окончания срока подписки для экспорта контента. После истечения этого периода Miro вправе удалить данный контент в соответствии со своим стандартным графиком хранения данных.
Таким образом, в день истечения подписки в ноябре у вас исчезнет возможность редактирования досок, но вы все еще сможете экспортировать доски.
Если у вас МИРО, да еще и корпоративный, самое время задуматься о миграции.
Миро с 1 ноября отказали в продление лицензий.
Условиями пользования сервиса предусмотрено 30 дней после окончания срока подписки для экспорта контента. После истечения этого периода Miro вправе удалить данный контент в соответствии со своим стандартным графиком хранения данных.
Таким образом, в день истечения подписки в ноябре у вас исчезнет возможность редактирования досок, но вы все еще сможете экспортировать доски.
Если у вас МИРО, да еще и корпоративный, самое время задуматься о миграции.
🕊1
Похоже, у AI-разработки начинает появляться свой
Microsoft выложила APM — Agent Package Manager.
Если совсем просто: это npm / pip / Cargo, только для AI-агентов.
Сейчас конфигурация agentic-проекта обычно выглядит примерно так:
— где-то лежит
APM предлагает довольно очевидную, но важную абстракцию:
В одном manifest можно описать зависимости агента:
• skills • plugins • instructions • agents • prompts / hooks • MCP servers • другие APM-пакеты
А дальше:
И окружение агента собирается из декларативного описания.
Причём APM уже ориентируется не на один конкретный AI-клиент.
Заявлена работа с:
GitHub Copilot, Claude Code, Cursor, Codex, Gemini, Windsurf, Kiro, OpenCode и Grok Build.
Отдельно интересна работа с MCP:
То есть постепенно появляется ещё один слой инфраструктуры:
не просто “дать LLM промпт”, а управлять зависимостями и runtime-контекстом агента как полноценным software artifact.
И вот это, на мой взгляд, самое важное.
Мы уже прошли путь:
Следующий логичный этап:
dependency management для agentic software.
Чтобы можно было сказать:
вот версия нашего агента, вот его skills, вот MCP, вот policies и зависимости — разверни мне точно такое же окружение.
То есть агентная конфигурация постепенно перестаёт быть набором файлов, которые разработчики копируют между проектами, и начинает становиться воспроизводимой частью проекта.
Для командной разработки это потенциально очень большой сдвиг.
Интересно будет посмотреть, станет ли
🚀 Но направление кажется практически неизбежным:
у AI-агентов появляется свой package management.
https://github.com/microsoft/apm
package.json.Microsoft выложила APM — Agent Package Manager.
Если совсем просто: это npm / pip / Cargo, только для AI-агентов.
Сейчас конфигурация agentic-проекта обычно выглядит примерно так:
— где-то лежит
AGENTS.md; — отдельно skills; — отдельно prompts; — MCP-серверы настраиваются руками; — у Claude Code одна структура; — у Cursor другая; — у Codex третья; — а потом всё это нужно каким-то образом воспроизвести у другого разработчика или в CI.APM предлагает довольно очевидную, но важную абстракцию:
apm.ymlВ одном manifest можно описать зависимости агента:
• skills • plugins • instructions • agents • prompts / hooks • MCP servers • другие APM-пакеты
А дальше:
apm installИ окружение агента собирается из декларативного описания.
Причём APM уже ориентируется не на один конкретный AI-клиент.
Заявлена работа с:
GitHub Copilot, Claude Code, Cursor, Codex, Gemini, Windsurf, Kiro, OpenCode и Grok Build.
Отдельно интересна работа с MCP:
apm install --mcp io.github.github/github-mcp-server --transport httpТо есть постепенно появляется ещё один слой инфраструктуры:
не просто “дать LLM промпт”, а управлять зависимостями и runtime-контекстом агента как полноценным software artifact.
И вот это, на мой взгляд, самое важное.
Мы уже прошли путь:
prompt → system prompt → tools → MCP → skills → agentsСледующий логичный этап:
dependency management для agentic software.
Чтобы можно было сказать:
вот версия нашего агента, вот его skills, вот MCP, вот policies и зависимости — разверни мне точно такое же окружение.
То есть агентная конфигурация постепенно перестаёт быть набором файлов, которые разработчики копируют между проектами, и начинает становиться воспроизводимой частью проекта.
Для командной разработки это потенциально очень большой сдвиг.
Интересно будет посмотреть, станет ли
apm.yml чем-то вроде одного из стандартных manifest-файлов AI-native проектов или рынок в итоге придёт к другому формату.🚀 Но направление кажется практически неизбежным:
у AI-агентов появляется свой package management.
https://github.com/microsoft/apm
GitHub
GitHub - microsoft/apm: Agent Package Manager
Agent Package Manager. Contribute to microsoft/apm development by creating an account on GitHub.
👍10
🐘 Bloat в PostgreSQL: как найти и что с ним делать
Из-за MVCC
Если vacuum не успевает или ему что-то мешает, таблицы и индексы раздуваются. Запросы начинают читать больше страниц, кэш забивается мусором, бэкапы растут.
1. Быстрая проверка без расширений
Цифры берутся из статистики и поэтому приблизительные, но для первого взгляда их хватает. Если
2. Точная оценка через pgstattuple
Часто бывает так:
3. Индексы
У свежего B-tree плотность листьев около 90%. Если она упала ниже 50–60%, индекс раздут.
4. Кто мешает vacuum
Главный враг vacuum — долгие транзакции. Пока жива старая транзакция, vacuum не может удалить версии строк, которые она теоретически может увидеть.
Ещё стоит проверить забытые replication slots (
🛠 Как лечить
•
•
•
•
🛡 Как не допускать
• Для горячих таблиц снижайте
• Выставьте
• Для таблиц с частыми
Если нужно оценить bloat по всей базе без полного сканирования, есть статистические запросы в репозитории ioguix/pgsql-bloat-estimation. Они считают по
Из-за MVCC
UPDATE и DELETE не удаляют строки сразу. Старые версии остаются в таблице как dead tuples. Autovacuum помечает это место как свободное для повторного использования, но файл на диске не уменьшается.Если vacuum не успевает или ему что-то мешает, таблицы и индексы раздуваются. Запросы начинают читать больше страниц, кэш забивается мусором, бэкапы растут.
1. Быстрая проверка без расширений
SELECT relname,
n_live_tup,
n_dead_tup,
round(n_dead_tup * 100.0 /
nullif(n_live_tup + n_dead_tup, 0), 1) AS dead_pct,
last_autovacuum,
pg_size_pretty(pg_total_relation_size(relid)) AS total_size
FROM pg_stat_user_tables
WHERE n_dead_tup > 10000
ORDER BY n_dead_tup DESC
LIMIT 20;
Цифры берутся из статистики и поэтому приблизительные, но для первого взгляда их хватает. Если
dead_pct выше 20% и last_autovacuum давний, таблицу стоит проверить.2. Точная оценка через pgstattuple
CREATE EXTENSION IF NOT EXISTS pgstattuple;
-- полный скан, на больших таблицах тяжело
SELECT dead_tuple_percent, free_percent
FROM pgstattuple('public.orders');
-- быстрее: пропускает all-visible страницы
SELECT dead_tuple_percent, approx_free_percent
FROM pgstattuple_approx('public.orders');
Часто бывает так:
free_percent большой, а dead_tuple_percent маленький. Это значит, что vacuum отработал, но место так и не вернулось ОС.3. Индексы
SELECT avg_leaf_density, leaf_fragmentation
FROM pgstatindex('public.orders_pkey');
У свежего B-tree плотность листьев около 90%. Если она упала ниже 50–60%, индекс раздут.
4. Кто мешает vacuum
Главный враг vacuum — долгие транзакции. Пока жива старая транзакция, vacuum не может удалить версии строк, которые она теоретически может увидеть.
SELECT pid, state,
now() - xact_start AS xact_age,
age(backend_xmin) AS xmin_age,
left(query, 60) AS query
FROM pg_stat_activity
WHERE backend_xmin IS NOT NULL
ORDER BY age(backend_xmin) DESC
LIMIT 10;
Ещё стоит проверить забытые replication slots (
pg_replication_slots), hot_standby_feedback на репликах и сессии в состоянии idle in transaction.🛠 Как лечить
•
VACUUM освобождает место внутри таблицы, но файл не сжимает (разве что отрезает пустой хвост).•
VACUUM FULL сжимает таблицу, но держит ACCESS EXCLUSIVE lock всё время работы. На проде его почти никогда не запускают.•
pg_repack пересобирает таблицу онлайн и блокирует её только в начале и в конце. Нужны PK или unique-индекс и место на диске под копию.•
REINDEX INDEX CONCURRENTLY (PG 12+) подходит для раздутых индексов.🛡 Как не допускать
• Для горячих таблиц снижайте
autovacuum_vacuum_scale_factor. Дефолт 0.2 означает, что autovacuum ждёт, пока мёртвыми станут 20% строк.• Выставьте
idle_in_transaction_session_timeout.• Для таблиц с частыми
UPDATE ставьте fillfactor 80–90, чтобы срабатывали HOT-обновления.Если нужно оценить bloat по всей базе без полного сканирования, есть статистические запросы в репозитории ioguix/pgsql-bloat-estimation. Они считают по
pg_stats: быстро, но с погрешностью.GitHub
GitHub - ioguix/pgsql-bloat-estimation: Queries to mesure statistical bloat in indexes and tables for PostgreSQL
Queries to mesure statistical bloat in indexes and tables for PostgreSQL - ioguix/pgsql-bloat-estimation
👍3
Сколько вкладок терминала нужно, чтобы управлять своими AI-разработчиками?
Если используете сразу несколько агентов, посмотрите на MonoCode — десктопный интерфейс для Claude Code, Codex, Cursor CLI, OpenCode и других.
Логика простая: устанавливаете агента, авторизуетесь — и работаете с ним через приложение. Каждая сессия живёт в отдельной вкладке.
Что интересно:
→ Ваши действующие подписки. MonoCode запускает установленных агентов и сам не продаёт токены. Условия и лимиты провайдеров сохраняются.
→ Несколько сессий в одном месте. Можно распределять задачи между агентами и организовывать сессии по папкам.
→ Отдельные рабочие копии через Git worktree. Полезно, когда несколько задач требуют независимых изменений в проекте.
→ Управление через /operator. Например, можно попросить агента открыть две сессии Codex: одну для проверки API, другую — для ревью интерфейса.
Доступен для macOS, Windows и Linux. Код открыт, лицензия MIT.
Проект пока ранний: автор прямо предупреждает о возможных багах. Но сама идея заслуживает внимания — когда агентов становится несколько, удобство управления ими начинает влиять на работу не меньше, чем выбор модели.
Посмотреть MonoCode на GitHub
Если используете сразу несколько агентов, посмотрите на MonoCode — десктопный интерфейс для Claude Code, Codex, Cursor CLI, OpenCode и других.
Логика простая: устанавливаете агента, авторизуетесь — и работаете с ним через приложение. Каждая сессия живёт в отдельной вкладке.
Что интересно:
→ Ваши действующие подписки. MonoCode запускает установленных агентов и сам не продаёт токены. Условия и лимиты провайдеров сохраняются.
→ Несколько сессий в одном месте. Можно распределять задачи между агентами и организовывать сессии по папкам.
→ Отдельные рабочие копии через Git worktree. Полезно, когда несколько задач требуют независимых изменений в проекте.
→ Управление через /operator. Например, можно попросить агента открыть две сессии Codex: одну для проверки API, другую — для ревью интерфейса.
Доступен для macOS, Windows и Linux. Код открыт, лицензия MIT.
Проект пока ранний: автор прямо предупреждает о возможных багах. Но сама идея заслуживает внимания — когда агентов становится несколько, удобство управления ими начинает влиять на работу не меньше, чем выбор модели.
Посмотреть MonoCode на GitHub
GitHub
GitHub - hardbeat920/monocode: A GUI for your coding agents
A GUI for your coding agents. Contribute to hardbeat920/monocode development by creating an account on GitHub.
👍2
Все уже используют умопомрачительный Opus 5.5. Невероятная модель, я придумал идею проекта новую, буду на ней все делать 🤗
А вам интересен проект (он глобальный) и процесс его реализации?
Или только финал?
А вам интересен проект (он глобальный) и процесс его реализации?
Или только финал?
Забавно, вместо того, чтобы забанить меня из-за одноразового захода с телефона из РФ, Claude просто попросил меня пройти верификацию
😱3
Витя пишет код
ух-ух, ну поехали!
И-так, если Claude просит вас пройти верификацию, выбираем Russian Federation и фоткаем свой загран, потом делаем селфи и внимание - это сработало ахахахахах, это прям реально сработало
😁3🔥2
Вы что думали, что я умный и много знаю потому что я гениален, а вот и нет. Я просто лошара, который ошибается буквально на каждом шагу, на каждом, я совершу все ошибки мира, которые мне уготовила судьба!
НО, я запоминаю, где я ошибаюсь, а еще я очень целеустремленный!
Немного мотивации в пятницу от Вити!!!
НО, я запоминаю, где я ошибаюсь, а еще я очень целеустремленный!
Немного мотивации в пятницу от Вити!!!
🔥8
Лендинг SiteAgent.pdf
2.7 MB
Идея нового проекта. Пишешь в чат что нужно сделать, сайт делает. ЦА - люди, к которых сайт есть на каком-то старом фреймворке, хочется что-то поменять или прокачать сайт, а договариваться с кем-то сил нет
В целом, у меня есть кейс сейчас, что мне в Макс присылают требования, а я такой - кодекс, прочитай и внеси правки и он делает 🤗
Как идея?))
В целом, у меня есть кейс сейчас, что мне в Макс присылают требования, а я такой - кодекс, прочитай и внеси правки и он делает 🤗
Как идея?))
🔥2
Сейчас писать на python backend можно если:
1. твоя команда знает python и ничего больше
2. если у Вас большая кодовая база на python, мигрировать которую не имеет смысла
3. если ты просто хочешь писать на питоне
Для всех остальных случаев следует использовать другой язык.
(с) Никита Соболев
Link: https://www.youtube.com/watch?v=pCEAViHEmRo
1. твоя команда знает python и ничего больше
2. если у Вас большая кодовая база на python, мигрировать которую не имеет смысла
3. если ты просто хочешь писать на питоне
Для всех остальных случаев следует использовать другой язык.
(с) Никита Соболев
Link: https://www.youtube.com/watch?v=pCEAViHEmRo
YouTube
Какое будущее ждет Python? БАЗА от разработчика CPython — Никита Соболев
Интервью с Никитой Соболевым, одним из разработчиков CPython. Поговорили о будущем пайтона.
Покупай СhatGPT, Cursor, Claude выгодно, только на ggsel
https://ggsel.net/b/hhoneymontana_1
А также подписки на сервисы и соц сети
https://ggsel.net/b/hhoneymontana_1_2…
Покупай СhatGPT, Cursor, Claude выгодно, только на ggsel
https://ggsel.net/b/hhoneymontana_1
А также подписки на сервисы и соц сети
https://ggsel.net/b/hhoneymontana_1_2…
😭4🤣2❤1🤔1
Fortran выше Go, а COBOL — в топ-20. На дворе 2026-й 🙂
Вышел сентябрьский рейтинг TIOBE. Из интересного:
• Python на первом месте, следом C и C++.
• Rust — 10-й, Fortran — 11-й, Go — 12-й.
• COBOL замыкает двадцатку.
• Perl и Ruby вышли из топ-20, а Ada и Objective-C в него вошли.
У языков, похоже, пенсия тоже не по расписанию))
У TIOBE есть важная особенность: популярность он оценивает по поисковой выдаче. Место в этом списке само по себе ничего не говорит о количестве вакансий, доле проектов или пригодности языка для вашей задачи. Так что переписывать Go на Fortran пока рано 😄
А какой самый старый язык у вас до сих пор крутится в проде?
Пост на Хабре:
https://habr.com/ru/amp/publications/1087048/
Сам рейтинг:
https://www.tiobe.com/tiobe-index/
Вышел сентябрьский рейтинг TIOBE. Из интересного:
• Python на первом месте, следом C и C++.
• Rust — 10-й, Fortran — 11-й, Go — 12-й.
• COBOL замыкает двадцатку.
• Perl и Ruby вышли из топ-20, а Ada и Objective-C в него вошли.
У языков, похоже, пенсия тоже не по расписанию))
У TIOBE есть важная особенность: популярность он оценивает по поисковой выдаче. Место в этом списке само по себе ничего не говорит о количестве вакансий, доле проектов или пригодности языка для вашей задачи. Так что переписывать Go на Fortran пока рано 😄
А какой самый старый язык у вас до сих пор крутится в проде?
Пост на Хабре:
https://habr.com/ru/amp/publications/1087048/
Сам рейтинг:
https://www.tiobe.com/tiobe-index/
❤1
Залетаем на OpenAI dev day 🚀🔥 настоящее событие мирового масштаба
https://devday.openai.com/ - регаемся и вперед
PS: событие покажет, отменяю ли я подписку за $200 или нет 😌
Подписка используется мною для работы, для жизни и для жены, но Клода с opus 5.5 действительно хороша 🤗
https://devday.openai.com/ - регаемся и вперед
PS: событие покажет, отменяю ли я подписку за $200 или нет 😌
Подписка используется мною для работы, для жизни и для жены, но Клода с opus 5.5 действительно хороша 🤗
Openai
OpenAI DevDay 2026
OpenAI DevDay on September 29, 2026 in San Francisco for technical sessions, hands-on demos, workshops, and time with OpenAI teams building developer tools.
🕊1