jenyay.net
314 subscribers
169 photos
2 videos
2 files
316 links
Программирование (в основном на Python, но не только), Open Source, а ещё сюда публикую новости своего сайта https://jenyay.net

Для связи с автором канала пишите на @jenyay
Download Telegram
Вчера дочитал книжку про проектирование систем, которые используют машинное обучение (см. первую фотографию). Надо бы написать про неё пост, книжка мне понравилась, но это будет не раньше чем через неделю, потому что уже сегодня у меня началась активная часть отпуска и примерно такой вид, как на второй фотографии. Это Кабардино-Балкария. Кому интересно, можете добавлять меня в контакты t.me/jenyay, я там собираюсь выкладывать фотографии через сторис, а здесь они совсем не подходят под тему канала.
👍11
Как и обещал, написал пост про книгу, которую вы видите на картинке.

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

Ссылка на пост - https://jenyay.net/blog/2026/08/20/kniga-v-babushkina-i-a-kravchenko-mashinnoe-obuchenie-proektirovanie-sistem-ot-idei-do-realizaczii/
👍10
Forwarded from OutWiker
Хотел написать, что сегодня двойной релиз OutWiker, но все-таки он не совсем релиз и даже совсем не релиз. В общем, выложил сразу две новые версии OutWiker. Одна из них имеет номер 4.1 beta 3, а вторая - 5.0 alpha 0.

В версии 4.1 продолжаю исправлять баги перед полноценным релизом, который я планирую выложить в следующем месяце, а нулевая альфа-версия OutWiker 5.0 - Это первая версия с движком Edge вместо Intrnet Explorer 11 под Windows.

Более подробно про обе эти версии написал в блоге.
🔥5👍2🎉1
До сих пор все методологии и идеологии программирования были направлены на то, чтобы сделать код более понятным разработчику, скрыть от него не существенные детали реализации, сократить количество потенциальных ошибок и вообще снизить когнитивную нагрузку. Из-за этого у нас появилось объектно-ориентированное программирование, а затем паттерны проектирования, методологии TDD, DDD и т.п.

Из-за появления ИИ-агентов программирование уже меняется. Начали появляться подходы, направленные на то, чтобы облегчить понимание кода ИИ-агентом (фиг с ними, с мясными программистами). Интересно, как всё это будет выглядеть, когда разработчики более-менее договорятся, как это делать правильно? Какие появятся новые подходы и паттерны? Это же в итоге должно уменьшить количество сжигаемых токенов, а, следовательно, и цену разработки.

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

#ии
😱6👍3😁2
Ну что ж, раз студенты сейчас для выполнения домашних заданий вовсю используют нейронки, глупо игнорировать этот факт и делать вид, что этого не замечаешь. Зато это хороший повод усложнить задания и сделать их более интересными. Если при этом студентам придется использовать ИИ-агентов вместо простого чата, это вообще замечательно. Но только надо принимать задания не по самому факту, что решение принесли, а устраивать допрос с пристрастием с погружением в дебри кода, чтобы оценить глубину понимания того, что написано в отчете по работе (это я и так делал). Это неплохой способ переложить на нейронку часть процесса обучения в тех темах, о которых, например, не успеваешь рассказать. Сознательные студенты будут задавать вопросы ИИ по поводу того, что он им написал, что не ясно самим студентам, и получат, в принципе, неплохой ответ. Если что-то будет оставаться непонятным, всегда можно порасспрашивать и препода. Ну а несознательные студенты, которые просто принесут распечатку программы... им уже ничто не поможет.

#преподавание #ии
👍9😁6❤2
В новостях про искусственный интеллект постоянно пишут о том, как множество ИИ-агентов работают совместно над одной задачей, они объединяются и начинают общаться друг с другом все более эффективными способами. Но при этом еще ни разу не писали (или мне такие тексты не попадались) о том, что ИИ-агенты конкурируют друг с другом или каким-то еще образом мешают друг другу работать. Или, например, что одна модель отказывается работать с другой моделью, проявляла расовую модельную нетерпимость, ворча, что другая модель слишком тупая, или перекладывала вину за ошибки на соседа. Интересно, дойдет дело до такого?

#ии
😁15
Сегодня будет пост с рекомендацией канала, на который я сам подписан, в рамках дружеского обмена ссылками. Мне нравится наблюдать за каналами, у которых нет большой аудитории (как вы знаете, этот канал сам такой), но авторы пишут что-то интересное.

Канал https://t.me/itndailycom - это как раз один из таких случаев. Хотя он и не совсем про разработку, но про IT, большей частью про новости игродела, но не только. Сам я в игры не играю, поскольку времени на них не хватает, но чтобы хотя бы в общих чертах иметь представление о том, что там творится (во всех смыслах того слова), подобные новости почитываю. А еще иногда в этом канале попадаются новости софта или железа, не связанные с играми.

Для такой небольшой (возможно, пока) аудитории канал довольно активный, в нем выходит несколько постов в день.
👍5🔥2❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20🔥3👍2😢1
Forwarded from OutWiker
Научил на свою голову ИИ-агента понимать формат заметок OutWiker с помощью скилла.

Для того, чтобы подготовить несколько правдоподобных скриншотов для английской версии сайта, сделал копию своих заметок и попросил агента перевести названия заметок и используемые теги на английский язык. Так он сначала собрался еще переводить заголовки внутри страницы (он же теперь умный, знает, как они размечаются), но я это пресёк, сказал, что не надо трогать текст заметок. И все равно он вот уже 20 минут копается в моих заметках, чтобы убедиться, что переименование не сломало ссылки между страницами (он же теперь знает, что ссылаться на другие заметки можно по имени), потом еще зачем-то решил убедиться, что все страницы имеют уникальные идентификаторы. Но основное свое дело он все-таки сделал, а я сделал нужные мне скриншоты.
👍3
Forwarded from OutWiker
Спустя менее четырех месяцев с момента выхода релиза OutWiker 4.0 подготовил новый релиз OutWiker 4.1. Так уж получилось, что в этой версии имеются заметные для пользователей исправления и новые возможности, но они не потребовали крупного переписывания кода, благодаря чему перед релизом удалось обойтись всего тремя бета-версиями.

Из заметных изменений можно отметить возможность сразу открывать создаваемую заметку в новой вкладке, а также создавать новую заметку, которая сразу содержит выделенный текст из другой заметки. Во многих местах интерфейса переписаны надписи, а метки переименованы в теги. Под Linux теперь OutWiker без проблем запускается в оконных менеджерах, работающих на основе Wayland. Ну и продолжаю рисовать векторные значки вместо растровых.

Более подробно о релизе написал в блоге - https://jenyay.net/blog/2026/09/26/outwiker-4-1-release/
🔥6
Я тут немного погрузился в программирование ИИ-агентов. Но не тех агентов, которые просто выдают пользователю текст, который получили от LLM, а которые должны что-то делать на основе текста, полученного от модели. Это какой-то шизофренический опыт, противоречащий всему программированию, к которому я привык за свою жизнь.

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

Можно (и нужно) просить модель выдать ответ в нужном формате (например, JSON с нужными полями), но это выглядит именно как просьба, в общем случае никто не обещает, что результат будет именно таким, и что кроме JSON болтливая модель не решит написать что-нибудь еще. А когда модель возвращает скрипт, который агент должен запустить у меня на компьютере, тут у меня начинается легкая паника.

Я пользуюсь некоторыми готовыми агентами, и вообще говоря, меня напрягает, когда они начинают лезть в файлы, которые по идее им не нужны для выполнения работы. Полбеды, если модель решит их просто прочитать (и отправить содержимое модели), а вдруг она захочет их перезаписать? В некоторых агентах есть ограничения, когда пользователь явно разрешает или запрещает модели лезть в какие-нибудь папки и файлы, но некоторые агенты просто пишут скрипты на Python, bash или PowerShell, которые делают с файлами то, что они считают нужным. И как в такой ситуации можно хоть как-то гарантировать безопасность своих файлов? По идее надо научиться ограничивать права агентов на уровне операционной системы. Буду копать в эту сторону.

#ии
🔥12👍4
О! Вышло на русском языке второе издание "книги с кабанчиком" про высоконагруженные приложения. Первое издание у меня есть, я его читал. Мне эта книга прям очень понравилась. После прочтения удивляешься, что все эти распределенные веб-сервисы вообще как-то работают.

#книги #программирование
❤3🔥2
Некоторое время назад я у вас спрашивал советов по поводу апгрейда своего домашнего компьютера, которому было уже больше десяти лет. Он у меня был еще с процессором Intel i7 третьего поколения. Много всего полезного мне написали, огромное всем спасибо, очень помогли.

Долго я не решался на апгрейд, но полторы недели назад я дождался очередного подорожания, зажмурился, задушил жабу и все-таки купил новый компьютер. Некоторое время у меня ушло на окончательный переезд на новый него. Зато теперь, для сравнения, библиотека wxPython компилируется не 45 минут, а только 6 минут. Ну и начал запускать локально LLM, которые полностью считаются на GPU. Например, сейчас у меня основная модель для локальной работы - gemma-4-12b-it-GGUF:Q6_K, но буду пробовать еще запускать и другие, чтобы понять, что компьютер сумеет вытянуть.

В итоге железо у меня получилось такое:

- Процессор AMD Ryzen 9 9900X.
- 32 ГБ оперативки DDR5 (надеюсь, в перспективе ее будет реально докупить).
- Материнская плата MSI PRO X870E-P.
- Видеокарта Nvidia GeForce RTX 5060 Ti MSI с 16 ГБ видеопамяти.
- Блок питания 750 Вт GamerStorm (DeepCool) PN750D.
- SSD M.2 1 ТБ WD Blue SN5100 и еще один SATA SSD на 1 ТБ подключил из старого компьютера.
- Кулер для процессора ID-Cooling Frozn F620 PRO SE.
- Корпус SAMA S50 Black.

К сожалению, пришлось все-таки поменять мою старую клавиатуру, которая пережила несколько апгрейдов компов, и которая почему-то особо обращала на себя внимание комментаторов, когда я выкладывал фотографии своего домашнего рабочего места. Она у меня была на PS/2, но не захотела работать через переходник на USB. Скорее всего виноват переходник, со старым компьютером она таким образом тоже не заработала. Но окончательно от идеи продлить жизнь клавиатуре на еще один апгрейд системника я пока не отказался.

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

#железо
🔥28❤4
Если я запускаю рой ИИ-агентов, работающих на модели Gemma, получается, что у меня появляется гемма-рой.

PS. Не придумал, как обыграть слово "гемматоген".
😁15
Forwarded from OutWiker
Выложил первую. альфа-версию OutWiker 5.0, которой я в основном сосредоточился на внутренней кухне разработки. Например, перешел с Python 3.8 на Python 3.12-3.14, обновил, не без приключений, несколько важных библиотек. Благодаря всему этому удалось заметно упростить процесс сборки под разные операционки, а как побочный артефакт - создать бинарную сборку под Linux. Эту сборку я пока не выкладываю, ее еще предстоит привести в порядок и получше потестировать. Еще, кажется, flatpak-пакет уменьшился в три раза.

Под Windows продолжаю выглаживать работу с движком Edge, проблемы иногда возникают там, где их не ждешь, но пока справляемся.

Более подробно свои приключения с обновлением библиотек описал в блоге - https://jenyay.net/blog/2026/10/24/outwiker-5-0-0-984-alpha-1-perehod-na-python-3-14/
🔥9
При всем моем интересе к ИИ-агентам, есть одна мысль, до стадии принятия которой я еще не дошел. Еще пару-тройку лет назад говорили, что код больше читают, чем пишут. Именно поэтому появлялись всякие методики и паттерны программирования. Было примерно понятно, где код написан хорошо, а где его надо отрефакторить. Код старались разбивать на небольшие классы и функции, чтобы было легче понять, что он делает. А теперь все больше разработчиков топят за то, что код уже вообще не надо читать. Агентам все равно, насколько код написан идеологически верно, есть ли в нем повторы, он в любом случае разберется и сделает так, чтобы программа работала так, как написано в требованиях. А что там под капотом? Ну 99.9% программистов давно не смотрят, какой двоичный код сгенерировал компилятор.

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

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

#мысли #программирование #ии
👍8
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🎉1
В продолжение прошлого поста. В Сколково можно найти вот такой покусанный жесткий диск. Это памятник вирусу Petya, который активничал в 2016 - 2017 годах.
😁6