Никита Федькин - мысли, заметки, анонсы
2.92K subscribers
155 photos
5 videos
12 files
307 links
Связаться со мной - @nixel2007.
Никита Федькин (ранее Грызлов).

На канале не публикуется платная реклама.
Download Telegram
Не совсем по тематике канала, но всё же.

Мне и ранее в основном больше нравились мобильные игры, в которые можно играть одной рукой. Игра должна быть действительно интересной, чтобы увлечь меня на переход в ландшафтный режим. С рождением сына возможность оперировать телефоном одной рукой стала значить ещё больше. Это касается и игр.

Ещё неожиданными важными качествами игры стали время от открытия приложения до начала игры и устойчивость к нахождению в фоновом режиме без разрыва - тут мои респекты уходят авторам сетевого стека в HSR и AFK Journey. Я бы на месте игр не то что соединение разрывал в моих сценариях пользования телефоном, да ещё и пальцем бы у виска покрутил, как волк из Маши и Медведя.

Но рассказать я хочу о другой игре.

С детства я любил текстовые квесты и RPG с километровыми диалогами. Как и хорошие игровые системы, с развесистыми списками характеристик и показателей. В старших классах и в институте я приучился много читать с телефона, так что найти хорошую тестовую ролевку было вопросом времени. Помню, что кучу станций метро было проехано вместе с невероятнейшей серией Choice of the Vampire. И вот я наткнулся на нечто, сочетающее в себе портретный режим игры, устойчивость к сетевым разрывам и фоновому режиму и приятную ролевую составляющую.

Life in adventure - ссылка на Google Play

Life in adventure - это очень ламповая текстовая ролевка в фэнтэзийном мире с приятной пиксельной графикой, поддерживаемым чувством исследования и приключения, очень быстрыми (буквально десяток секунд) боями, и с прекрасной реиграбельностью. Созданный вами персонаж попадает в череду ситуаций, в которых есть сражения, эксплоринг, взаимодействие с npc и приятная щепотка рандома в виде бросков кубика. Каждая партия не бесконечная, ваш выбор сквозь большой бестиарий и тонну разных предметов приведёт к одной из десятков концовок. За пробование новых путей и открытие новых концовок вы будете получать внутриигровую валюту, на которую можно открыть новые наборы историй, которые будут вам попадаться в пути (уже в следующих персонажах).

Некоторым препятствием может стать отсутствие русского языка и достаточно специфичная адвенчурная английская лексика. Авторы с обновлениями добавляют новые языки, может и до русского доберутся. А пока можете потренировать свой английский и/или разобраться с наэкранными переводчиками.

P.S. У этих же авторов ещё выходила "Life is a game", но при всей её популярности, мне она абсолютно не зашла.
P.S.S. Бой я, как вы могли догадаться из скринов, проиграл, потеряв последний поинт менталочки, и умер :(
Нейросети - это просто космос какой-то.

Вы только посмотрите, какой портал с технической документацией построила нейросеть, десять минут почитав исходники BSL Language Server:

https://deepwiki.com/1c-syntax/bsl-language-server

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

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

Это определённо новый способ работы с кодом.

P.S. Этому порталу ещё и вопросы может задавать!
Вроде бы отрасль другая, а проблемы все те же самые.

Среди 1сников много фрилансеров. Возможно, даже больше, чем проектников. Так что с праздником! И поменьше заказчиков-мудаков. Хороших заказчиков, понятное дело, побольше.
Forwarded from As told by Denis
#какиетоновости
 
Фриланс — это не свобода. Это ты, чай, дедлайн и два инсульта на фоне «клиент сказал переделать».
 
14 мая — День фрилансера. Ура, товарищи! Можно официально не выйти из дома и поработать в одних трусах с видом на родные стены. По традиции выдохнули, взяли ноут, открыли «табличку с задачами» и поняли, что опять ничего не успели. Зато сами себе начальник. И бухгалтер. И HR. И уборщица.
 
Кстати, этот праздник не с потолка взялся. В 2005 году в этот день в России открыли первую биржу фриланса. С тех пор все и завертелось — офисные рабы поняли, что можно страдать за ноутом и дома. Но по-настоящему все пиздануло в пандемию, когда выяснилось, что Zoom — новая реальность, а «удаленка» — не просто мечта интроверта, а суровая необходимость.
 
Фриланс сегодня — это когда ты вроде бы независим, а вроде бы в заложниках у клиентов, которые исчезают на три недели, а потом такие: «а где правки?». Это когда ты не болеешь, не устаешь, не орешь, просто сидишь и улыбаешься, потому что в этом месяце опять налоги, опять сроки, опять просрочка.
 
Я сам журналист-фрилансер, так что знаю, о чем говорю. Мы — те самые стрингеры, внештатники a.k.a. «напиши срочно еще один текст, денег пока нет, но ты держись». Первые фрилансеры, между прочим. Мы занимались фрилансом еще до того, как это стало мейнстримом. Нас нигде нет, но мы везде: в лентах новостей, в заголовках, в репортажах с мест, где все горит, взрывается или разваливается («мы работаем, люди в курсе»). Стрингер — это не профессия. Это диагноз. И если ты тоже гоняешь тексты на автопилоте в 3 ночи — добро пожаловать в клуб.
 
И все равно — это любовь. Потому что фриланс — это про свободу. Не в стиле «встал в 11, поработал часик», а в стиле «сам строишь свою жопу, сам и сидишь на ней». Работаешь, где хочешь. С кем хочешь. И иногда даже за деньги.
 
Так что поздравляю всех фрилансеров. Тех, кто из постели пишет тексты, мутит концептуальный дизайн для сайта, чинит код, монтирует рилсы, ведет клиентов, учит детей, пишет отчеты — и просто не сдается. Даже когда «еще один клиент попросил внести пару незначительных правок».
На скриншоте наглядный пример того, почему я не люблю плюсы. Язык, в котором undefined behavior заложен в спецификацию, не должен существовать.

На скриншоте именно UB - "сложные" бесконечные циклы могут оптимизироваться компилятором как угодно.

В данном случае компилятор доказал, что последняя теорема Ферма (которая до сих пор не доказана) ложна.

Проклятый язык с проклятой реализацией.

Ссылка для твиттерских: https://x.com/ChadNauseam/status/1922521686261325935
Мне было сегодня лет, когда я узнал, что Эрих Гамма - один из "банды четырёх", написавших перевернувшую индустрию Design Patterns, сейчас работает в Microsoft, и среди прочего, например, рулит командной, которая разрабатывает VSCode.

Хороший инженер хорош во всем.

А, ну и да, там GitHub Copilot заопенсорсили:

https://youtu.be/GMmaYUcdMyU?si=bUEgbkGvBMtLaCpE

Без понятия, что это значит для продукта, видео я ещё не смотрел, но чем больше хороших опенсорс моделей, тем лучше они развиваются в целом, так что шаг определённо позитивный.
Внешне этого, скорее всего, не видно, но @theEvilBeaver активно готовится к выпуску OneScript 2.0.
Одна из задач, которую нужно было решить - работоспособность ovm и возможность продолжать скачивать stable версию после публикации в неё ветки 2.0.

В том числе для этого Андрей на бэкэнде сайта оскрипта сделал api, который возвращает список версий и ссылки для их скачивания, а так же завёз ряд правок в библиотеке semver. Это позволило убрать грязный хак в коде ovm, в котором было буквально зашито, что dev - это двойка оскрипта, а stable - 1.x

В новой версии ovm api сайта oscript используется не только для вывода списка версий, доступных к установке (ovm ls -r), но и для самой установки.

В общем, мы ещё на один шаг ближе к релизу OneScript 2.0, но для безболезненного перехода вам надо обновить ovm на ваших машинах до версии 1.6.0

https://github.com/oscript-library/ovm/releases/tag/v1.6.0
У меня так свело олдскулы, что аж в ушах треснуло.

Оно ещё живое:

https://башорг.рф/byrating
Пластмассовый мир победил
ИИ оказался сильней.

Ладно, пока не сильней. Местами тупей и наворачивает ненужной сложности, но уровень технологий впечатляет. О чем это я?

Мне попалась новость о появлении у GitHub Copilot нового режима - coding agent. В отличии от Agent mode, в котором копилот работает вместе с вами в вашей IDE, периодически что-то предлагая, Coding Agent работает полностью автономно, в облаке. А точнее в GitHub Codespaces - виртуалке на мощностях GitHub с доступом ко всей инфраструктуре GitHub.

https://docs.github.com/en/enterprise-cloud@latest/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot

Точка входа - назначить GitHub Copilot исполнителем на каком-то из ишузов и... Дальше оно практически само.

Копилот сам создаст бранч для решения задачи, проанализирует требования из ишуза, текущую кодовую базу, напишет тесты, напишет реализацию, закоммитит все это добро и пришлёт pull-request вам на ревью. И все это нативно в интерфейсе GitHub, и без потери контекста, в отличии от, например, Sentry AI с режимом Autofix.

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

https://github.com/1c-syntax/bsl-language-server/issues/3390

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

И Копилот справился. Прислал пулл-реквест:

https://github.com/1c-syntax/bsl-language-server/pull/3481

В начале реализация была не самая оптимальная, но в целом работало. После пары уточнений, вопросов и придирок на код ревью (ахахахах, Андрей @theEvilBeaver, у меня теперь новая жертва!), он выдал вполне сносный код с тестами, документацией на двух языках, внятным описанием изменений. Даже у CodeRabbit не нашлось к чему придраться, а он даже в chill режиме периодически задалбывает.

Вот тут можно посмотреть за его рассуждениями:
https://github.com/1c-syntax/bsl-language-server/pull/3481/agent-sessions/854ccb15-e1da-4367-a761-7efb0c3441fe

В общем, штука очень перспективная. И чую, позволит мне начать закрывать ишузы бсл лс намного быстрее. Единственный неприятный момент - на текущий момент доступна эта фича только в самом дорогом плане GitHub Copilot Pro+, за 39 евро в месяц. Я не бедствую, но жаба если честно, поддушивает. Если к двум существующим платным подписчикам (Саша и Женя - спасибо! <3), добавится ещё хотя бы два, то, не считая комиссии на вывод, я хотя бы выйду в ноль. Если три, то даже считая комиссию (эмэйзинг).

Так что если у кого-то из вас есть непреодолимое желание делиться деньгами, то напомню, что для этого у меня есть кнопочки:
* разовый донат
* ежемесячная подписка

В любом случае, спасибо, что вы есть, с донатами или без.

Всегда ваша,
Бусти-шаболда <3
Новости (почти) одной строкой.

Проект onec-docker обзавелся лицензией.

https://github.com/firstBitMarksistskaya/onec-docker/blob/feature/first-bit/LICENSE

У контрибьюторов, несогласных с установленной лицензией, есть право отозвать свой вклад в проект.
Раз уж зашла речь про новости.

Автор бранч-плагина для сонара вышел из подводной лодки, намержил кучу пулл-реквестов и выпустил релиз с поддержкой SQ Community 25.4.

https://github.com/mc1arke/sonarqube-community-branch-plugin/releases/tag/1.24.0

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

Вроде бы эта сборка работает и на 25.5, но абсолютно точно не работает на 25.6. Впрочем, автор намеревается в скором времени выпустить отдельные релизы под 25.5 и 25.6, сами изменения уже понятны и готовы. Так что ждём.

sonar.openbsl.ru пока не обновляю, я его только-только на докер перевёл... Хотя если кто-нибудь соберёт и запушит в хаб, то можно скакнуть на 25.4 хотя бы.
Никита Федькин - мысли, заметки, анонсы
Пластмассовый мир победил ИИ оказался сильней. Ладно, пока не сильней. Местами тупей и наворачивает ненужной сложности, но уровень технологий впечатляет. О чем это я? Мне попалась новость о появлении у GitHub Copilot нового режима - coding agent. В отличии…
Продолжаю пользоваться GitHub Copilot Coding Agent.

И надо отметить, он неплохо пишет на 1с/оскрипте!

Есть у меня библиотека для реализации наследования в оскрипте - extends. И так получилось, что в первой версии я забыл сделать наследование интерфейсов, хотя штука нужная и активно используется, например, в Кирилловском collectionos.

Ишуз был создан заранее, натравил я копилота на него... И получил полностью работающее решение. Опять же с тестами, с документацией, и даже исправленными замечаниями от сонара!

Да, конечно же пришлось его немного поднастроить для оскрипта: рассказать что это такое, и как тесты запускать; но в остальном он полностью сработал автономно.

Наблюдать за его рассуждениями было очень интересно: он пробует разные подходы к решению задач, пишет минискрипты и тесты для проверки, откатывается назад и пытается посмотреть на проблему с более высокого уровня. В общем буквально ведёт себя как Software Engineer, пытающийся напилить фичу и периодически получающий от ревьювера виртуальных пенделей.

Жаль, что его "сессии", кажется, доступны к просмотру только мне, но наши переписки можно посмотреть в пулл-реквесте: https://github.com/nixel2007/extends/pull/6

А я что? Я создал ещё одну таску и назначил на него. Посмотрим как он справится с переделкой интерфейсов-модулей на классы.