yet another dev
382 subscribers
266 photos
2 videos
177 links
Пишу про работу в IT, жизнь в Сербии и всё, что кажется важным. Развиваю сервис slopless.art.

Telegram: @alexeyfv
Сайт: alexeyfv.xyz/ru
LinkedIn: linkedin.com/in/alexeyfv
GitHub: github.com/alexeyfv
Habr: habr.com/ru/users/alexeyfv
Download Telegram
Как взламывают VPS. Дополнение к предыдущему посту.

#программирование@yet_another_dev

Я решил проверить, а что происходит на других VPS. Взял один из самых старых моих серверов на Hetzner. Он настроен «по всем правилам» с самого начала: нестандартный порт, root отключён, вход только по ключам и только под отдельным пользователем, установлен fail2ban.

Хронология событий

- 9 января. Купил сервер.

- 10 января. Первые попытки скнировать открытые порты. Нестандартный порт был обнаружен практически сразу.

Около месяца боты в основном сканировали порты. Были единичные попытки входа в феврале.

- Март и апрель. Начались брутфорс атаки. Всего ~15К и ~29К попыток соответственно. Естественно, все неуспешные.

- Май. Было полное затишье (майские праздники?)

- Июнь. Новая волна. Было совершено ~4К попыток.

- В середине июля была последняя попытка. С тех пор наступила тишина.

Какие можно сделать выводы

- Нестандартный порт использовать можно, но сканеры обнаружат его очень быстро. Но всё же думаю, что количества "шума" это уменьшает.
- Самое основное - это отключить root и вход по паролю.
- fail2ban помогает банить. На сервере было забанено 56 IP-адресов (сейчас баны истекли).
👍2👏1
Мой опыт использования reg[.]ru

#программирование@yet_another_dev

На прошлой неделе перевёз свой домен alexeyfv.xyz из рег ру в porkbun. Жалею, что не сделал это раньше — сэкономил бы деньги.

Почему я бы никому не советовал пользоваться рег ру:

1. Цены. В рег-ру я продлевал домен в январе 25 года. Тогда стоимость была ~5000 рублей за 2 года. В porkbun сейчас продление моего домена на 2 года стоит ~2000 рублей ($25.96). Разница примерно в 2 раза.

2. Скрытие информации из WHOIS — это платная услуга в рег ру. И меня всегда это бесило. Эта контора прекрасных людей и так собирает все возможные данные о вас. А потом ещё попросит заплатить денег, чтобы не публиковать их в открытый досутп. В porkbun достаточно просто оплатить домен. Скрытие данных автоматическое.
👍81
Тут в стриминге «КИОН Музыка» aka «МТС Музыка» заявили, что сделали чарт без ИИ-музыки на основе моего проекта Slopless.

Как пишут CNews:

Техническая проверка каталога реализована с помощью детектора Slopless – расширения для браузера, анализирующего треки на предмет ИИ-генераций. Распознавание проводится с точностью в 83%.


Мне, правда, не понятно, как у них точность получилась 83%. Но не просмотрев их датасет, код, пайплайн обучения, сказать трудно. На тестовых датасетах, напомню, точность достигает 98.5%.

Вообще, это не первая компания, которая связывалась со мной по поводу использования Slopless.

Причин этого я вижу несколько:

1. Принятый закон о развитии ИИ. Согласно этому закону, маркировка - это дело конечно добровольное. Но, видимо, лейблам и стримингам хочется знать точно кто и как делал музыку. Тем более, я замечал, что среди некоторых создателей нейромузыки возникает желание «замести следы» использования ИИ.

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

#нейромузыка@yet_another_dev
11🔥6🎉6👍1🖕1
Практика мёртвого интернета

Боты теперь пул реквесты делают. Изменения, кстати, вообще не в тему.

#программирование@yet_another_dev
🤮5😱2
OpenAPI спецификация для Slopless

Вчера задеплоил Scalar:

https://slopless.art/api/

Пользуйтесь.

#нейромузыка@yet_another_dev
#программирование@yet_another_dev
👍4🔥1🖕1
Какие-то люди от «агенства Holi Agency» бегают по небольшим каналам и предлагают разместить рекламу. Мне тоже сегодня утром писали.

Судя по всему мошенники. Домен зарегистрирован неделю назад. Cloudflare показывает предупреждение о фишинга при попытке зайти на их сайт.

Будьте бдительны.
8
Горелкин
Ну и пока «Яндекс Музыка» не внедрила нативный механизм, рекомендую пользоваться браузерным расширением Slopless, которое прекрасно определяет музыкальную генережку.
⚡️Slopless рекомендуют в Госдуме

Ну я даже не знаю как реагировать. Тема с нейрослопом уже дошла до нашего мудрого начальства и теперь они рекомендуют Slopless.

В целом, всё идёт таким образом, как я описывал месяц назад:

«Яндекс Музыка» намерена предоставить артистам и правообладателям возможность информировать слушателей об использовании искусственного интеллекта при создании музыки. Эти планы «Известиям» подтвердили в компании.


Кстати, ранее депутат Горелкин, ник в Telegram которого «Интернет-душитель», заявлял ТАСС:

Маркировка сгенерированного контента может утратить актуальность, так как в будущем придется помечать уже 90% всех публикаций. При этом обязательная проверка маркировки приведет к высоким затратам соцсетей на автоматизированные программы.


Но как мы выяснили, детектить нейрослоп довольно просто и совсем не дорого. По крайней мере в музыке. Бюджет Slopless ~€15 в месяц. Требуемые вычислительные мощности — дешёвый сервер на Linux. Вам даже GPU не нужен. Представьте, что бы мог сделать Яндекс, если бы захотел?

А вообще, маркировка и детект ИИ контента — две похожие, но принципиально разные вещи. Не надо путать и заменять одно другим.

На загнивающем западе во всю развиваются и совершенствуются методы выявления ИИ. Но также и развиваются стандарты C2PA (Коалиция по происхождению и подлинности контента) для маркировки контента.

Если реализовать стандарт C2PA, то у пользователей будет возможность проверить, какие инструменты использовались для его создания и изменения. И всё это дело будет криптографически проверяемо, потому что технически основано на подписях и работает аналогично PKI. Можете посмотреть короткий ролик о том, как это примерно работает.

#нейромузыка@yet_another_dev
👏10😁7👍32🤯2🔥1💩1🖕1
yet another dev
Кстати, о Китае, на который ссылается наш господин депутат Я был там 2 недели назад. Посетил Шанхай и Пекин. Кроме осознания, что Китай впереди лет на 20, я убедился, что Поднебесная — это наш главный ориентир. Например, одним из средством блокировок был…
Прошло 3 месяца с момента принятия закона о "соответствии сетевых адресов доменным именам" и вот появились первые практические попытки осуществить DNS-спуфинг от нашего родного начальства. Конечно же, исключительно с целью заботы о нашей безопасности.
👍1😡1
В Slopless появился бот обратной связи

Наконец-то я навайбкодил бота обратной связи. Теперь об ошибках в маркировке можно сообщать тут: @slopless_feedback_bot.

Бот запрашивает:

1. Корректную маркировку
2. Ссылку на артиста в Яндекс Музыке
3. Ссылки на трек(и) артиста в Яндекс Музыке, маркировку которых надо исправить.
4. Ссылку на артиста в Deezer (опционально)
5. Скриншот проверки треков в submithub (опционально)

Чем больше информации будет прислано, тем быстрее мною будет обработан запрос.

#нейромузыка@yet_another_dev
7🔥4❤‍🔥1
yet another dev
⚡️ GitHub Copilot В-С-Ё Простите за кликбейтный заголовок. Просто мне кажется, после этих изменений GitHub проиграет Claude. 2 часа назад получил письмо от GitHub, что с 1 июня Copilot уходит от модели с реквестами к модели с токенами. То есть к такой же…
⚡️DeepSeek В-С-Ё

Беру свои слова обратно. Спустя 4 месяца я вернулся к GitHub Copilot. Недавнее изменение цен на модели DeepSeek сделало их менее выгодными. Например, я пополнил счёт 14 августа на $10 и к 30 августа уже всё было потрачено. Использовалась только Flash модель в связке с OpenCode.

За это время стоимость Copilot Pro не изменилась — всё те же $10. Плюс Copilot в том, что там есть GPT-5.6 Luna. Эта модель дешёвая и хорошо пишет код. На работе я использую только её.

#программирование@yet_another_dev
👍4
👩‍💻 Используем OpenAPI для синхронизации API на Frontend и Backend

Ровно год назад писал пост про синхронизацию через OpenAPI.

Тот подход был основан на Swagger. С тех пор в .NET появился встроенный функционал для генерации спецификаций OpenAPI. Держите короткий гайд:

1. Создаём новый проект:

mkdir -p backend
cd backend
dotnet new webapi


По умолчанию файл проекта backend.csproj уже использует нужный пакет Microsoft.AspNetCore.OpenApi.

<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.7" />


Можно запустить приложение и перейти по адресу https://localhost:{port}/openapi/v1.json, чтобы убедиться, что всё работает.

2. Следующий шаг – автоматическая генерация спецификации в виде файла.

Для этого нужно установить ещё один пакет:

dotnet add package Microsoft.Extensions.ApiDescription.Server


И включить генерацию при сборке, добавив в backend.csproj вот этот блок:

<PropertyGroup">
<OpenApiGenerateDocuments>true</OpenApiGenerateDocuments>
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
<OpenApiDocumentsDirectory>$(MSBuildProjectDirectory)</OpenApiDocumentsDirectory>
</PropertyGroup>


Теперь, если выполнить команду dotnet build, файл спецификации автоматически создастся в директории с проектом. В нашем случае – это файл backend.json.

3. Дальнейшие шаги, связанные с фронтом, остались без изменений – используем пакет swagger-typescript-api:

pnpx swagger-typescript-api generate --path ./backend.json -o ./generated -n WebApi.ts


Сгенерированные типы TypeScript будут лежать в ./generated/WebApi.ts.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Лайфхак: экономим токены в GitHub Copilot

Если вы, как и я, пользуетесь VS Code в связке с Copilot, то вот вам несколько лайфхаков для экономии токенов/кредитов:

1. Я использую только GPT-5.6 Luna потому что это одна из самых дешёвых моделей, которая пишет добротный код. Но агент VS Code может использовать другие модели для исследования, вызова сабагентов, вызова инструментов (tools), автокомплита и так далее.

Можно сделать так, чтобы агент VS Code использовал только нужную вам модель, указав её название в settings.json.

{
"chat.defaultModel": "GPT-5.6 Luna (Copilot)",
"chat.exploreAgent.defaultModel": "GPT-5.6 Luna (copilot)",
"chat.planAgent.defaultModel": "GPT-5.6 Luna (copilot)",
"github.copilot.chat.askAgent.model": "GPT-5.6 Luna (Copilot)",
"github.copilot.chat.exploreAgent.model": "GPT-5.6 Luna (Copilot)",
"github.copilot.chat.implementAgent.model": "GPT-5.6 Luna (Copilot)",
"github.copilot.selectedCompletionModel": "GPT-5.6 Luna (Copilot)",
"inlineChat.defaultModel": "GPT-5.6 Luna (copilot)",
}


2. Вызовы некоторых инструментов могут сопровождаться длинным выводом. В прошлом году я писал об этом пост. В VS Code сейчас появились настройки, которые позволяют сжимать вывод CLI-утилит или вывод инструментов:

{
"chat.tools.compressOutput.enabled": true,
"chat.tools.terminal.outputCompaction": true,
"chat.tools.terminal.outputDeltas": true,
}

#программирование@yet_another_dev
👍7
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15
Ну наконец-то. Маркировка ИИ-контента от Яндекс Музыки.

Будет интересно сравнить результаты работы Slopless с разметкой Яндекса.

Источник.

#нейромузыка@yet_another_dev
🔥91
В Microsoft переписали рантайм GitHub Copilot с TypeScript на Rust при помощи агентов.

Подсмотрели, как Anthropic переписали рантайм Bun с Zig на Rust и решили аналогичным образом прорекламировать свой ИИ.

Ждём, когда Яндекс перепишет какой-нибудь свой рантайм при помощи Алисы.

#программирование@yet_another_dev
👍2🤣2
yet another dev
В Microsoft переписали рантайм GitHub Copilot с TypeScript на Rust при помощи агентов. Подсмотрели, как Anthropic переписали рантайм Bun с Zig на Rust и решили аналогичным образом прорекламировать свой ИИ. Ждём, когда Яндекс перепишет какой-нибудь свой рантайм…
Что интересного в этой статье:

1. Потрачено $120К, а агенты суммарно отработали около 3-х недель. Вся работа фактически заняла на 14.5 недель. Очевидно, что пока не получается просто поручить задачу агентам и пойти лежать на диване. Приходится проверять работу, вносить корректировки и так далее.

2. Переписываемый проект должен быть покрыт E2E тестами вдоль и поперек. У Copilot было много таких тестов, но даже это не помогло от регрессии.

Microsoft выкатывали pre-release версии в продакшн, чтобы протестировать на реальных пользователях и дополнительно исправляли обнаруженные баги.

3. «Чатжипити, перепиши мне проект на Rust» всё ещё не работает.

Разработчикам необходимо было отлично понимать архитектуру проекта для грамотного планирования миграции.

Кроме того, разработчикам иногда приходилось детально и на довольно низком уровне описывать желаемый результат из-за того, что агенты делали не то, что требуется.

Короче, программировать пока ещё надо уметь.

#программирование@yet_another_dev
👍7
Последние пару недель на чат нападают боты со спамом (прикрыл стикером). Поэтому чат теперь закрытый и вход по ручному аппруву. Добавляйтесь, если хотите писать комментарии.
😱3👌3🤣1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁3🤷‍♂2🤡2💯2🤷‍♀1
Мы пришли в 7:50 и очередь уже была 🥲

Пообщались с другими людьми. Многие приехали из других городов Сербии. Кто-то с 6:30 уже был тут. Это вызывает только уважение.

Очередь мы прошли быстро. К 12, возможно, она увеличится.
👍10🔥2