LINUX.ORG.RU

Сообщения yvv1

 

Spec-kit - свободный тулкит для разработки, ориентированной на спеки (Spec Driven Development)

Те, кому интересен «вайб кодинг», можете про него забыть, потому что вот как на самом деле нужно использовать нейронки для разработки софта: spec-kit. Смысл spec driven development (SDD) в том, что проект начинается с проектирования спек файла. Это кардинально отличается от вайб кодинга, в котором на вход нейронки подаётся произвольный текст, а на выходе получается лапша, в которой чёрт ногу сломит, и она иногда правильно работает, но это не точно. В SDD на вход подаётся команда, аргументами которой может быть произвольный текст, а на выходе получается структурированный документ (спек) в терминах (non)functional requirements, acceptance criteria, edge cases и т.д. Из этого документа потом генерируется машинный код.

Я когда экспериментировал с кодинг асссистентами, то независимо пришёл к похожему процессу, а тут обнаружил, что команда спецов из гитхаба выпустила целый тулкит для SDD разработки. Особенность spec-kit в том, что спек верхнего уровня, так называемый «источник истины», полностью абстрактен от технической имплементации, составляется интерактивно взаимодействуя с нейронкой. Далее составляется план конкретной имплементации с выбором платформы, языков, фреймворков, моделей данных, хостингов и т.д. Всё с помощью команд нейронке. Далее нейронка разбивает план на фазы и задачи, определяет зависимости между ними и какие задачи могут выполняться параллельно (в моём случае, простой проект, 8 фаз и более 100 задач). Далее идёт имплементация каждой задачи.

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

Результат я выставлять на всеобщее обозрение пока не буду, т.к. это никому не нужная свистоперделка на расте, которая нужна только мне и только для эксперимента. Spec-kit использую вместе с kilocode плагином для vscode и kimi k2.5 (сейчас бесплатна), но его можно использовать с разными кодинг ассистентами и моделями, в том числе и свободными/локальными. Когда досконально разберусь, как эта вся кухня работает, запилю настоящий проект.

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

Тем, у кого нет острой аллергии на ИИ, настоятельно рекомендую попробовать запилить проект с помощью spec-kit или аналогов (openspec). Здесь делитесь впечатлениями.

P.S. Уточнение: всё описанное выше, хоть и сводит необходимость ручного ковыряния в машинном коде к минимуму, но не отменяет необходимости знания используемых технологий.

 

yvv1
()

Откуда столько пиара Nix?

В послендее время, куда не полезу (youtube, reddit и т.д.), везде лезут рекомендации с обсуждениями nix (shell, os, home manager). Но ведь этой системе уже сто лет в обед. Почему же пиар лезет именно сейчас, что вот я должен всё бросить и быстрее перейти на nix? Это что, типа эффекта питона, когда его популярность резко полезла вверх, потому что его стал использовать гугл? Nix тоже кто-то из гигантов начал пиарить? Может и правда, всё бросить и перейти на nix?

 ,

yvv1
()

Home Assistant (HA) уведомления на телефон

Всем привет! Нужна консультация по следующему вопросу. Дома есть HA сервер с разными датчиками. Нужно получать уведомления от датчиков на телефон когда я вдали от дома, типа «у вас потоп» или «у вас пожар». Фирменный способ в HA это пуш уведомления в companion app, которые идут по умолчанию через google Firebase Cloud Messaging (FCM), который у меня не работает и никогда не работал (forbidden 403). До недавнего времени прекрасно работал телеграм бот, но и он недавно отвалился (connection timeout). Чё теперь делать? Вариантов как я понимаю несколько:

  • вместо телеграма использовать другой мессенджер, discord или у кого ещё есть интеграция с HA;
  • вместо FCM использовать другой сервис пуш уведомлений типа yandex cloud notifications;
  • поднять self hosted ntfy.sh сервер на своём openwrt роутере;
  • email интеграция;
  • держать на телефоне постоянное соединение с HA сервером через wireguard.

Я чего-нибудь упустил? С чатботом общался, спасибо, помогло. Теперь нужны истории узбека, у кого что и как работает, так чтоб меньше трахаться с настройками и один раз настроил и забыл.

 , ,

yvv1
()

А про релиз Julia-1.12 новость будет?

А то там статическую компиляцию в компактный бинарник допилили. Ну как компактный, Helloword в 1M, почти как у раста. Это потрясающий прогресс на самом деле (с 800M в более ранних версиях). Кто ещё из динамических языков так умеет?

 ,

yvv1
()

Reticulum - технология, которая поможет оставаться на связи с близкими даже при отключении интернета

В догонку недавнему обсуждению meshtastic, вот ещё одна технология на эту тему. Reticulum - стэк для создания независимых сетей поверх различной физической инфраструктуры. Может работать поверх IP инфраструктуры, но не требует её наличия. Не требует наличия DNS, CA и прочих централизованных компонент. Поддерживает шифрование по умолчанию и криптографическую адресацию. По задумке, должен работать в условиях нестабильных соединений, больших задержек и низкой пропускной способности. Текущая реализация включает поддержку ряда физических устройств и набор сетевых утилит на питоне, всё opensource. В разработке имплементация на C/C++, биндинги к другим языкам и много всего интересного (см. дорожную карту). Есть testnet поверх TCP/IP и I2P (см. доки).

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

 , ,

yvv1
()

Гудбай emacs, или пользователь с долгим стажем решил осилить vscode

Использовал emacs в основном для численного моделирования на fortran/python/latex на удалённом кластере. Всё под линуксом естественно. Emacs в этой области рулит и педалит. И тут вдруг взбрелось, а не осилить ли чего-нибудь новенькое, например сделать фронтенд к своей утилитке встроенный прямо в IDE. Это вроде должно быть модно и удобно.

И тут вижу я преимущество у vscode, поскольку он использует более современный стэк для конфигов/плагинов (typescript/json), который вряд ли потеряет актуальность в ближайшие лет 10. А насчёт elisp я не уверен, использует ли его кто-то за пределами экосистемы emacs, и долго ли он вообще протянет. Маленькую библиотеку своих плагинов (для себя) хочется делать на чём-то современном и популярном. Да и потом, сейчас чуть ли не любой туториал по программированию первым делом советует устанавливать vscode, так что почему бы и нет?

Короче, установил, на ощупь оказался на удивление привычным для пользователя с обезображенным емаксом сознанием. Все нужные плагины (аналоги привычных emacs мод) нашёл и установил без проблем. Теперь нужно осилить, как самому делать плагины. Из недостатков пока что вижу отсутствие возможности запускать vscode в терминале без графической оболочки, а это всё-таки удобно для удалённого редактирования, но эту проблему вроде как можно обойти с помощью vscode server.

Если кто-то может предложить альтернативный vscode IDE общего назначения, расширяемый с помощью более-менее современного стэка, в котором можно не только кодить, но и работать с документами, заметками, интегрировать с ИИ и т.д., то кидайте ссылки. Ну и срачь приветствуется, похвалите/поругайте за выбор.

 , , , ,

yvv1
()

RSS подписка на новые темы