Hacker News Digest

Тег: #bash

Постов: 4

Show HN: Play Pokémon to unlock your Wayland session (github.com)

wlgblock — экран-блокировка в стиле Game Boy для Wayland.
Проект AdoPi: простой скрипт на Bash, который запускает «игру»-заставку и требует пароль для разблокировки.

  • Зависимости: swaylock, grim, slurp, wl-clipboard, imagemagick, fzf, bash.
  • Установка: клонировать репозиторий, выполнить make install.
  • Использование: wlgblock или горячая клавиша в Sway/i3.

Скрипт делает снимок экрана, накладывает пиксель-фильтр «Game Boy», запускает swaylock с этим изображением и ожидает ввода пароля.

by anajimi • 10 августа 2025 г. в 12:15 • 102 points

ОригиналHN

#bash#wayland#sway#i3#nvidia#amd#kde#github

Комментарии (41)

  • Пользователи радуются, что проект-игра на Wayland показывает, что экосистема уже способна на «тяжёлую» кастомизацию и работает лучше, чем споры последних пяти лет.
  • Многие удивлены, что «игра-скринсейвер» появилась раньше обычного нормального screensaver'а для Wayland.
  • Скептик признал: блокировка экрана в Wayland действительно работает лучше и логичнее, чем в X.
  • Разработчик anajimi уже обещает попробовать сделать полноценный screensaver на ext-session-lock.
  • В KDE 82 % сессий уже Wayland; Sway и labwc активно используются, но NVIDIA всё ещё вызывает проблемы — «переходи на AMD».

Writing simple tab-completions for Bash and Zsh (mill-build.org) 🔥 Горячее

Как сделать простые таб-дополнения для Bash и Zsh

Li Haoyi, 7 августа 2025

Таб-дополнения в шелле удобны, но их настройка усложняется тем, что часть пользователей использует Bash в Linux, а другая — Zsh в macOS, и у них разные API. К тому же, пользователям полезно видеть описание каждого варианта, но это доступно только в Zsh.

В этой заметке показано, как реализовать кросс-платформенные дополнения с описаниями на примере Mill 1.0.3.

Базовый механизм

При нажатии <TAB> шелл вызывает функцию, которой передаёт текущие слова и индекс слова под курсором. Функция возвращает список возможных дополнений.

_generate_foo_completions() {
  local idx=$1; shift
  local words=( "$@" )
  local cur=${words[idx]}

  local arr=(apple apricot banana cherry durian)
  for e in "${arr[@]}"; do [[ $e == "$cur"* ]] && echo "$e"; done
}

_complete_foo_bash() {
  local raw=($(_generate_foo_completions "$COMP_CWORD" "${COMP_WORDS[@]}"))
  COMPREPLY=( "${raw[@]}" )
}

_complete_foo_zsh() {
  local -a raw
  raw=($(_generate_foo_completions "$CURRENT" "${words[@]}"))
  compadd -- $raw
}

[[ -n $ZSH_VERSION ]] && { autoload -Uz compinit; compinit; compdef _complete_foo_zsh foo; } \
                     || complete -F _complete_foo_bash foo
  • _generate_foo_completions возвращает список вариантов.
  • _complete_foo_bash и _complete_foo_zsh преобразуют результат в формат нужного шелла.
  • Скрипт добавляется в ~/.bashrc, ~/.zshrc и т.д.

Mill устанавливает дополнения командой:

$ ./mill mill.tabcomplete/install

by lihaoyi • 10 августа 2025 г. в 09:50 • 253 points

ОригиналHN

#bash

Комментарии (82)

  • Fish автоматически создаёт дополнения из man-страниц (fish_update_completions), что упрощает жизнь, если документация есть.
  • Пользователи bash и zsh жалуются на «слишком умные» дополнения, которые блокируют автодополнение имён файлов; предпочитают откат к простому поведению.
  • Инструменты вроде usage, clap_complete, claptrap и _gnu_generic позволяют быстро генерировать скрипты дополнений из --help или описаний CLI.
  • Некоторые сторонние решения (Fig, Pixi) и оболочки вроде Murex и Nushell стремятся к единому стандарту автодополнения, но разнообразие синтаксиса CLI всё ещё мешает.

GPT-5 vs. Sonnet: Complex Agentic Coding (elite-ai-assisted-coding.dev)

Задача: перенести TypeScript-утилиту Ruler на Rust, проверить идентичность через bash-тест.
Модели: GPT-5 (новый, превью) и Claude 4 Sonnet.

GPT-5

  • Сразу прочитал код, составил подробный plan.md, получил одобрение.
  • Работал почти без остановок, дважды отчитывался о статусе.
  • Сначала написал bash-скрипт, который запускает оригинал и порт во временной папке и сравнивает вывод.
  • Затем сгенерировал структуру src/, Cargo.toml, CLI-аргументы, логику apply/init/revert, обработку конфигов и MCP.
  • Итеративно правил код, пока тест не прошёл «зелёным».
  • Время: ~20 мин, 1 коммит, ветка feat/rust-port.

Claude 4 Sonnet

  • Та же инструкция.
  • Сразу начал писать Rust, но упустил bash-тест; пришлось напомнить.
  • Тест написал быстрее, но менее читаемый.
  • Порт делал «пачками»: сначала CLI, потом логика, потом MCP.
  • После 3-х итераций тест прошёл.
  • Время: ~30 мин, 3 коммита.

Вывод

  • GPT-5 агентнее: сам планирует, реже спрашивает, меньше ошибок.
  • Claude надёжнее в деталях, но требует чётких шагов.
  • Оба справились, но GPT-5 ощущается «ближе к одной команде — один результат».

by intellectronica • 08 августа 2025 г. в 15:38 • 155 points

ОригиналHN

#typescript#rust#bash#gpt-5#claude-4-sonnet#ai-assisted-coding#code-refactoring#testing#tdd#llm

Комментарии (124)

  • Пользователи сомневаются в объективности сравнений: результаты сильно зависят от системных промптов, харнесов и задач.
  • Критика выбора моделей: вместо топ-версии Claude Opus сравнивали более дешёвый Sonnet, что искажает оценку «лучшей» модели.
  • Стоимость vs качество: большинство разработчиков не готовы платить 10× за Opus, поэтому GPT-5 рассматривают как «cost-effective» вариант.
  • Опыт в продакшене: многие находят Claude Code (Sonnet/Opus) надёжнее при работе с большими кодовыми базами и TDD, тогда как GPT-5 хорош для разовых скриптов.
  • Нет единой метрики: из-за недетерминированности моделей и субъективных критериев «хорошего кода» каждый получает разные результаты.

Cursor CLI (cursor.com) 🔥 Горячее 💬 Длинная дискуссия

  • Установка: npm i -g cursor-cli
  • Команды: cursor diff, cursor commit, cursor review, cursor chat
  • Где работает: VS Code, JetBrains, Android Studio, Ghostty, Warp, Bash

Функции

  • Прямые правки кода в терминале
  • Реальное управление агентом
  • Правила через .cursorrules, AGENTS.md, MCP

Плюсы

  • Последние модели Anthropic, OpenAI, Gemini
  • Интеграция в любой IDE
  • Скрипты и автоматизация

by gonzalovargas • 07 августа 2025 г. в 20:53 • 359 points

ОригиналHN

#npm#vscode#jetbrains#android-studio#bash#anthropic#openai#gemini#github#llm

Комментарии (248)

  • Пользователи обсуждают внедрение единого стандарта AGENT.md вместо множества разных файлов.
  • CLI-агенты (Claude Code, Cursor CLI и др.) вызывают восторг: удобно держать в фоне, «чувствуешь себя хакером», но UI-IDE теряет значение.
  • Критика: непонятно, зачем платить за Cursor, если тот же функционал уже включён в подписку Anthropic/OpenAI; не хватает обратной связи, MCP, hooks и локальных моделей.
  • Сторонники Cursor верят в его будущую экосистему (CLI + IDE + GitHub-интеграции) и низкие издержки переключения между моделями.
  • Главный вопрос безопасности: доверять ли LLM полный доступ к файловой системе и устанавливать скрипты через curl | bash.