Gemini CLI Tips and Tricks for Agentic Coding 🔥 Горячее
Репозиторий собирает практические советы и трюки для работы с Gemini CLI — командной строкой для модели ИИ Gemini от Google. Он охватывает оптимизацию промптов, автоматизацию задач, интеграцию с shell-скриптами и продвинутые техники, такие как цепочки вызовов, обработка ошибок и кастомные алиасы. Авторы подчёркивают, как ускорить разработку: например, генерация кода за секунды или анализ логов одним вызовом.
Ключевые фичи включают примеры для новичков (простые запросы) и экспертов (мультимодальные входы, fine-tuning через CLI). Репозиторий обновляется сообществом, с 50+ tips, включая хитрости вроде --stream для реального времени и JSON-вывод для парсинга. Идеально для devops и скриптеров: экономит часы рутины, повышая продуктивность на 3–5x по отзывам.
Комментарии (129)
- Большинство критикует Gemini CLI за ненадёжность, медленность (10-80 сек на простые запросы), слабые инструменты и циклы ошибок.
- Предпочтение Claude Code и Codex как более эффективным агентам для кодирования; модель Gemini 3 хвалят, но CLI — нет.
- Жалобы на игнор файлов, отсутствие плана, фрагментацию CLI по моделям и быстрое устаревание советов.
- Желание LLM-агностичного агента и стандартизации; некоторые советы полезны, но "крик" на AI часто работает лучше.
Why did containers happen? 💬 Длинная дискуссия
Разработчики долго спорили, можно ли запускать базы данных в контейнерах. Со временем стало ясно, что лучше использовать облачные решения, где провайдер управляет БД, а не хранить всё в эфемерных контейнерах, которые слишком легко удалить.
В то же время, ключевая инновация Docker — это не изоляция, а стандартизированная упаковка приложений. Вместо ручного редактирования серверов разработчики стали собирать приложения в переносимые образы. Это упростило развёртывание, особенно в облаке, где виртуальные машины требовали настройки вручную. Docker же позволил централизованно управлять образами через реестр, что ускорило разработку.
Важный момент: Docker изначально создавался для PaaS-платформы, чтобы упрощать развёртывание приложений, а не изолировать их. Потому и акцент на сборку, а не на безопасность. Многие функции, такие как read-only rootfs, делали контейнеры безопаснее, но главное — они решали проблему управления.
Кроме того, Docker популяризировал Go, показав его эффективность для системного программирования. Сегодня Go — один из главных языков, а многие стандартные библиотеки включают TLS, что упрощает разработку.
В итоге, контейнеры изменили подход к развёртыванию, сделав его более стандартизированным и автоматизированным. Это помогло DevOps-практикам, хотя некоторые аспекты, как безопасность, развиваются до сих пор.
Комментарии (211)
- Контейнеры появились как реакция на неспособность Linux/Unix обеспечить изоляцию и управление зависимостями, а не как решение для разработки и доставки ПО.
- Docker и подобные инструменты стали популярны, потому что они позволяют разработчикам легко запускать и тестировать приложения в изолированной среде, но это не основная причина их создания.
- Контейнеризация стала возможной благодаря тому, что Google и другие компании внедрили cgroups и namespaces в ядро Linux, что позволило создать легковесную альтернативу виртуальным машинам.
- Использование контейнеров для разработки и тестирования приложений стало возможным благодаря тому, что контейнеры предоставляют изоляцию и контроль над зависимостями, что делает их удобными для этих целей.
CDC File Transfer 🔥 Горячее
Google выпустила инструменты для синхронизации и потоковой передачи файлов между Windows и Linux. Основная цель — упростить работу разработчиков, которым нужно быстро и эффективно перемещать данные между этими операционными системами, особенно в гибридных средах. Решение оптимизировано для производительности и поддерживает как инкрементальные обновления, так и потоковую передачу в реальном времени.
Инструменты включают утилиты командной строки и API, что делает их гибкими для интеграции в автоматизированные процессы или скрипты. Это особенно полезно для DevOps-инженеров и системных администраторов, работающих с кросс-платформенными развертываниями. Проект открыт под лицензией Apache 2.0, что способствует его адаптации и улучшению сообществом.
Комментарии (94)
- Обсуждение алгоритма CDC (Content Defined Chunking) и его преимуществ перед rsync, включая скорость до 30 раз выше и эффективную обработку вставок и удалений в файлах.
- Вопросы о совместимости и внедрении: поддержка только Windows-to-Linux, отсутствие Linux-to-Linux, сложности сборки с Bazel и предложения интегрировать улучшения в стандартный rsync.
- Сравнение с другими инструментами и технологиями: IBM Aspera, Steam, borg backup, git, а также упоминания о монодиальном хешировании и методе lookahead для улучшения FastCDC.
- Сожаления о закрытии Stadia и обсуждение невозможности её самохоста из-за DRM и кастомного железа, а также альтернатив для стриминга игр (Moonlight/Sunshine).
- Критика выбора названия "CDC" из-за его неоднозначности (путаница с USB CDC и Control Data Corporation).
SSH3: Faster and rich secure shell using HTTP/3 🔥 Горячее 💬 Длинная дискуссия
SSH3 — это новая реализация SSH, построенная поверх HTTP/3 и QUIC вместо традиционного TCP. Она обещает значительно более низкую задержку установки соединения, многопоточность и встроенную поддержку мультиплексирования. Это позволяет ускорить интерактивные сессии, особенно в условиях нестабильных сетей.
Проект также включает улучшенные возможности, такие как передача файлов через HTTP и использование современных криптографических алгоритмов. Уже есть черновик IETF и техническая статья на arXiv, демонстрирующая производительность и совместимость. SSH3 может стать практичной альтернативой для DevOps и удалённого управления.
Комментарии (248)
- Скептицизм по поводу заявлений о скорости: некоторые участники сомневаются в значительном преимуществе SSH3, отмечая, что основная задержка часто связана не с установкой соединения, а с настройкой сессии (PAM и т.д.).
- Критика имени "SSH3" и интеграции в HTTP: многие считают название неудачным и выражают сожаление по поводу поглощения прикладных протоколов HTTP, что увеличивает сложность и потенциальные риски безопасности.
- Обеспокоенность безопасностью и аудируемостью: новая, не испытанная в боях реализация вызывает опасения; участники подчеркивают необходимость тщательного аудита перед использованием в production.
- Вопросы к практической полезности и статусу проекта: обсуждается отсутствие commits за последний год, целесообразность поддержки OAuth для входа на сервер и необходимость таких функций, как миграция соединений.
- Технические аспекты и потенциальные преимущества: отмечается возможность решения проблемы head-of-line blocking за счёт мультиплексирования в QUIC/HTTP3, а также преимущества скрытия сервера за HTTP-прокси.
Dear GitHub: no YAML anchors, please
GitHub Actions добавили поддержку YAML-якорей, что автор считает серьёзной ошибкой. Якоря избыточны: ту же функциональность можно реализовать через встроенные механизмы вроде workflow-level env, которые прозрачнее и логичнее в архитектуре. Они вводят ненужную сложность, нарушая локальность — теперь элементы могут зависеть от частей конфигурации в совершенно другом месте файла, что усложняет чтение и анализ.
Кроме того, якоря усугубляют проблемы безопасности: инструментам сложнее анализировать workflows, так как нарушается соответствие между исходным YAML и объектной моделью. Это мешает точно отслеживать уязвимости, например утечки секретов. GitHub не реализовал ключи слияния (merge keys), единственный сценарий, где якоря могли бы быть оправданы, что делает их поддержку бессмысленной и вредной.
Комментарии (121)
- Внедрение YAML-якорей в GitHub Actions оценивается положительно для устранения дублирования в конфигурациях, но критикуется за использование нестандартного синтаксиса, усложняющего анализ.
- Высказываются предложения заменить YAML на полноценный язык программирования для определения пайплайнов, чтобы улучшить тестируемость, локальную разработку и избежать сложностей шаблонизации.
- Поднимаются проблемы безопасности из-за неявного распространения переменных окружения (включая секреты) при использовании якорей и слияния объектов, что противоречит принципу минимальных привилегий.
- Отмечается, что текущие ограничения GitHub Actions (например, отсутствие фильтрации путей для
workflow_call) вынуждают пользователей создавать костыльные решения или полагаться на сторонние инструменты. - Обсуждаются компромиссы между декларативным и императивным подходами: одни предпочитают чистый YAML для читаемости, другие генерируют его из кода для удобства поддержки сложных логик.