C# Short Posts 🔞 – Telegram
C# Short Posts 🔞
251 subscribers
110 photos
4 videos
151 links
Здесь я, Дима Афонченко @Undermove1, публикую короткие заметки о разработке (и около). Я не претендую на правильность высказываний и открыт к дискуссиям, исправлениям и конструктивной критике. С любыми деструктивными вещами можно приходить в комменты)
Download Telegram
😋 Кормим .NET мусором — GCServer налил, DATAS отжал

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

На первом снепшоте памяти у нас всего три большие кучи. А на втором уже целая толпа — 12 мини-подкуч, по числу ядер процессора, и так для каждого поколения.

Я раньше думал, что это включено по умолчанию, но оказалось, что нет.

Звучит, конечно, многообещающе — теперь вашу кучу разгребает не один поток, а сразу несколько.

Что получилось по метрикам:

1️⃣ 🔽После включения DOTNET_GC_SERVER = 1 память ожидаемо выросла. И выросла прилично — примерно раза в два.

2️⃣ 🔼 Но зато количество сборок мусора сильно сократилось.

Вы, наверное, хотите узнать, как изменились метрики запросов? А вот тут изменений почти нет. Основная нагрузка у меня упирается в базу данных, поэтому по метрикам запросов разницы практически не видно.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Но и это ещё не всё! На прошлой неделе прочитал про DATAS (Dynamic Adaptation To Application Sizes). Включается через переменную окружения DOTNET_GCDynamicAdaptationMode=1.

😐 Что вообще делает DATAS (Dynamic Adaptation To Application Sizes)?

В этом режиме дотнет научается динамически менять количество мини-подкуч (на дикпике в первой части), частоту сборок мусора и компактизаций в зависимости от нагрузки.

В .NET 8 DATAS работает в экспериментальном режиме — то есть, чтобы её попробовать, нужно явно включить вручную.

Начиная с .NET 9 она уже включена по умолчанию, но у нас на проде пока восьмёрка. Было интересно глянуть, как это отразится на памяти.

Что получилось в итоге?
🔘 Мы вернулись почти к тем же значениям по памяти, которые были до включения GCServerMode. По идее тепрь сборки проходят быстрее, но доказать мне это к сожалению нечем (к сожалению метрики GC Pause не собирались)
🔘 Количество сборок мусора немного выросло — хотя всё равно осталось ниже, чем до включения обоих режимов экспериментов.
🔘 По CPU ни один из переключателей заметно не повлиял на ситуацию

Так что если вы обновитесь до .NET 9 или 10 и вдруг заметите странности в метриках памяти (например снижение в два раза), не переживайте, возможно, это просто DATAS немного шалит.

Ну и, конечно, наглядные дикпики прилагаются для всех этих манипуляций
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64
Короче, потыкал Cursor.

Он стал гораздо лучше, чем год назад. Прям на порядки.

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

Мой текущий флоу был такой:

1) Прошу накидать примерное решение
2) Смотрю, что он накидал.
3) Иду доредачивать в райдере.
4) Снова прошу что-то дописать.
5) Снова доредачиваю в райдере.

И так по кругу.

Удобно, что не нужно кидать больше файлы. Не удобно, что если файлы не указывать для контекста, то он бывает выхыватывает совсем не то, что нужно. Поэтому чутка смысл теряется от этого.

Но самое главное, что курсор это по сути VS Code, и это для меня самый главный минус. Так что жду https://www.jetbrains.com/junie/ в райдере. Правда райдер там что-то вообще даже не в Coming Soon 😔

Но если вы кодили в VS Code, то вам конечно курсор очень зайдет. Прям надо брать, не думая
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44🤝1
🚂️️️️ Сделал парсилку новостей об AI и теперь LLMки сами для меня фильтруют бестолковые новости про них самих

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

Попросил Саню собрать источник говна в папку и дать мне почитать. Там оказалось вот столько канальчиков:

JimmyNeiron,bitten_ai,neuraldvig,olya_tashit,aiaiai,neyr0graph,tearevo,denissexy,How2AI,NeuralShit,neuronuts,neurohub,kisel_ai,neiro_sketch,CGIT_Vines,strangedalle,derplearning,ai_newz,art_design_ai,aifilmmaker

Аж 21 канал! Как ни крути – очко! 😳

Ну что ж, поплевал на руки и решил бить говно его же оружием.

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

Тут сошлись все звезды:

1️⃣ Я хотел потыкать крусор на более маленьком проекте. В итоге – весь репозиторий набросал в курсоре. От первого коммита до перового результата прошло 57 минут.

2️⃣ Телега недавно выпустила userAPI, которое позволяет автоматизировать работу от вашего имени. То есть бот будет ходить как бы под вашим аккаунтом, что и позволяет удобно читать контент каналов. Раньше для этого нужно было с бубном танцевать. (оказалось, что выпустила давно, я просто с еще каким-то релизом перепутал)

3️⃣ OpenAI выпустили новую модельку, которая вмещает миллион токенов. Как раз тот размер, который подойдет для разгребания такого инфо-потока. (Кстати, эти суки генерят столько говна, что за одно саммари сжирается 10 центов)

Результат получился в итоге как в сообщении выше (рабочая демка йопта!).

🅰️ Посмотреть код можно тут. Работает через typenoscript, который не знаю почему, привык использовать в таких штуках.

😱 А также! вы можете форкнуть проект к себе и настроить его на парсинг своих каналов.

Пока надо будет самому ручками прописать секреты, но у меня есть план сделать эту штуку чуть более юзер френдли, чтобы можно было делать себе несколько подписок с саммари. Получится эдакий нейро-RSS. Кто-то еще помнит про эту штуку?

А еще телега со всеми этими каналами, которые просто перепощивают новости стала удобным парсером – точнее, не нужно ничего парсить, просто находим нужный канал и из него все вычитываем, там уже за нас все распарсили 🤷‍♀️

P.S.: Кстати, оцените злую иронию. Чтобы разобраться в новостях по LLM, которые генерят зачастую с помощью LLM, я взял LLM и попросил написать ее скрипт, который возьмет все новости и запихнет в третью LLM и что-то заставит ее разобраться в сгенеренном нейроговне.

Вот короче, после всего этого кажется, что меня наебали и я просто оплачиваю OpenAI их reinforcement learning! 🤡

P.P.S.: А вообще, я в последнее время тащусь от джоб в GHA. Месяц назад сделал себе штуку, которая следит за курсом валют на платформе, где фрилансерам ЗП платят. Заняло пол часа – экномия деенг моментальная, так как там бывают технические скачки по 2-7 рублей, что как-то непозволительно дохуя, если обменяешь не в тот момент.

Короче, рекомендую GHAшить все подряд. За ценой товара так можно следить, к примеру, итп.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42👍2😁1
ДАЙДЖЕСТ ЗА 21 апреля 2025 г.

📰 Основные новости

💻 OpenAI представила новые модели o3 и o4-mini, которые умеют использовать все инструменты ChatGPT во время размышления, включая генерацию изображений, код и поиск информации. Модели уже доступны подписчикам Pro и Plus, o4-mini — бесплатна для базовых пользователей. o3 Pro появится позже.
https://news.1rj.ru/str/neuraldvig/7270
https://news.1rj.ru/str/aiaiai/16880
https://news.1rj.ru/str/ai_newz/3845

🔥 Вышел GPT-4.1 — новая модель с контекстным окном до 1 млн токенов, лучше понимает инструкции и кодирует, при этом дешевле GPT-4o. Доступна в API, скоро появится в ChatGPT.
https://news.1rj.ru/str/neuraldvig/7246
https://news.1rj.ru/str/How2AI/953
https://news.1rj.ru/str/ai_newz/3832

🎥 Google открыла видеогенератор Veo 2 с поддержкой img2video и возможностью редактирования видео (inpainting). Модель показывает высокое качество и физическую правдоподобность движений. Бесплатный доступ через Google Cloud с ограничениями.
https://news.1rj.ru/str/neuraldvig/7265
https://news.1rj.ru/str/aiaiai/16877
https://news.1rj.ru/str/neurohub/5021
https://news.1rj.ru/str/ai_newz/3825

🎞 Runway Gen-4 — новая видеомодель с высокой кинематографичностью, гибким управлением камерой и персонажами, поддержкой image-to-video и референсов.
https://news.1rj.ru/str/neuraldvig/7265
https://news.1rj.ru/str/art_design_ai/315
https://news.1rj.ru/str/neurohub/4970
https://news.1rj.ru/str/neiro_sketch/2288

🚀 Вышла альфа-версия Midjourney V7 с улучшенной детализацией, персонализацией, голосовым вводом и режимом Draft для быстрой генерации. Пока без апскейла и некоторых функций V6.
https://news.1rj.ru/str/JimmyNeiron/2916
https://news.1rj.ru/str/neuraldvig/7246
https://news.1rj.ru/str/neiro_sketch/2306
https://news.1rj.ru/str/art_design_ai/323

🤖 Яндекс запустил бета-тест YandexGPT 5 с режимом рассуждений (reasoning), показывающим цепочку размышлений модели. Модель обучена на бизнес-сценариях и математике, доступна в чатах Алисы.
https://news.1rj.ru/str/neuraldvig/7259
https://news.1rj.ru/str/ai_newz/3836

🦾 Nvidia представила нового робота Jensen с отзывчивостью и обучаемостью на новом движке Newton.
https://news.1rj.ru/str/How2AI/889

💻 Российская команда разработала нейросеть A-Vibe для генерации текстов на русском языке, которая уже используется на платформе Авито для создания описаний товаров.
https://news.1rj.ru/str/ai_newz/3810

🎮 Развлечения и интересное

🎬 Вышел первый в мире анимационный фильм, созданный с помощью нейросетей, в Белоруссии. Это прецедент, который может дать старт массовому применению AI в анимации.
https://news.1rj.ru/str/aifilmmaker/84

🎞 Нейросети превратили трейлер «Властелина колец» в аниме в стиле Хаяо Миядзаки, потратив 9 часов и $250 на генерацию.
https://news.1rj.ru/str/strangedalle/1154
https://news.1rj.ru/str/neuraldvig/7214

🎮 Microsoft выпустила генеративную версию Quake II с отрисовкой кадров нейросетью, что вызвало споры о сохранении традиций.
https://news.1rj.ru/str/NeuralShit/6282

🕹 Создана игра за 3 дня без знаний программирования с помощью Phaser, Gemini 2.5 Pro и ChatGPT, демонстрирующая возможности AI в геймдеве.
https://news.1rj.ru/str/tearevo/102

🖥 Креаторы создают цифровых блогеров и инфлюенсеров за минуту с помощью сервисов вроде Creatify AI, что может изменить маркетинг.
https://news.1rj.ru/str/neiro_sketch/2241

📊 Другое

🌍 Российские города стали трансформерами — нейросеть смоделировала роботов-героев на базе известных городов.
https://news.1rj.ru/str/neiro_sketch/2333

📈 Pinterest предсказал тренды 2025 года, основанные на поисковых запросах и инсайтах.
https://news.1rj.ru/str/art_design_ai/232

📚 В России стартовал набор в Школу анализа данных Яндекса (ШАД) — бесплатное обучение с перспективой работы в IT.
https://news.1rj.ru/str/NeuralShit/6303

📊 Исследование HBR показало, что в 2025 году популярность нейросетей сместилась с развлечений на терапию, самоорганизацию и обучение.
https://news.1rj.ru/str/neurohub/5027

🤡 ШУТКА ДНЯ
— Слушай, ChatGPT, а кто победит в драке: динозавр или миллиард куриц?
— Я бы не стал спорить с динозавром
5👏2🤝1
Я уже точно во втором состоянии
🤝1
Forwarded from Sandbox
😁63💯2
Такс, мне на волне этого мема рассказали, что есть такие челики, которые все пропускают через LLMки и не могут потом даже объяснить, что они там сделали. В связи с чем мне прям инетренсо провести опрос, вы сталкивались с такми в реальной работе?
Сталкивались ли вы с тем, что коллега не понимает, что он написал, потому что прогнал все через LLMки без особого погружения?
Anonymous Poll
22%
Да
47%
Нет
31%
ChatGPT сказал мне, что такое невозможно 🤖
Буду выступать на .NEXT 2025!

Короче, не могу не поделиться радостной новостью. Взяли мой доклад по куберу на .NEXT!

Будет дело в сентябре.

Ух, как доложусь, распишу всю историю подготовки. А то у меня еще с малых лет были вопросики, как люди вообще доходят до такого, как придумывают тему, как готовятся, как понимают, что доклад норм итп. Короч, про все расскажу в сентябре 📛 🍇
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥168🎉4
Audio
Лет шесть назад написал текст для песни со, скажем так, заразительным припевом.

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

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

Ну чтож хит спасен!

Мне оно виделось, как идеальная песня, которая играет на шашлычных выездах, свадьбах и корпоративах. 🐸

Короче, включайте, наслаждайтесь, делитесь 😆

PS Еще на ютуб залил

Ну или можно найти в поиск е, так ютуб будет поднимать хит выше в предложках:

Бумажный Мотолет – Песня-Хуесня
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7🔥66
Почекал сегодня windsurf. Чувствую себя, как на передаче “Кто хочет стать миллионером?”

Это весь диалог про один файл если что.

Я уже думал звонить другу, но вроде с третьей попытки вроде мы справились.

Потом оказалось, что я там переключился в режим чатика, и он не мог внести изменения, поэтому так вот сублимировал

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

PS: Использовал бесплатную модель Cascade Base. Потом переключился на GPT-4.1 (promo) и он вообще отказался файлы менять
😁5🦄43
🔽 Ой, вот это очень интересно было бы послушать!

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

С тех пор там все вообще росло и развивалось какими-то лютыми темпами. Там уже умные телевизоры с адаптирующейся под размеры заказа панелью сделали. Короче, это полный фаршмак!

Вот тут Степа в своем канале выкладывал, как оно сейчас выглядит. Я как посмотрел, что там ребята понаворотили, что три дня в туалет не ходил – такое впечатление произвело на меня! Такую крутатень замутили!
Please open Telegram to view this post
VIEW IN TELEGRAM
65
Продолжаем разговор с коллегами из направления IT B2B Pizza!

В прошлой серии обсудили железки в ресторанах, а уже в этот четверг, 15 мая, подробнее поговорим про IoT (интернет вещей) 🔎

Как IoT помогает пиццерии работать лучше и быстрее? Зачем нам своя IoT-лаборатория и зачем вообще фудтеху эти умные штуки? Что Саша Захаров, наш продакт оунер IoT, делал с разработчиком в пиццерии в 5 утра?

Обо всем этом и не только расскажут:

🟠 Дима Карпов, продакт лид IT B2B Pizza;
🟠 Саша Захаров, продакт оунер IoT.

🎙 Ведущий: Дима Павлов, CPO & Deputy CIO Dodo Brands.

Когда: 15 мая, 18:00 мск.
🔗 Где: в Telegram-канале Dodo Engineering! Сделаем пост-напоминалку за 30 минут, присоединиться к трансляции можно будет в правом верхнем углу.

Ваши вопросы спикерам по классике собираем в комментариях – зададим их в эфире! 👇
👍44
🤷️️️️️️ Что выбрать, если задолбался копировать код в окошко с чатиком?

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

Честно, изначально относился ко всему этому с изрядной долей скепсиса. Особенно когда речь шла о рабочих задачах. Но теперь… я конкретно зафанател! Так что спешу поделиться личными впечатлениями.

⚙️ Я попробовал:
🟠 Cursor
🟠 Windsurf
🟠 VS Code агента
🟠 Zencoder

Не буду ходить вокруг да около: если вы пишете на C# и работаете в Rider — Zencoder это просто охуенно!

Хотите подробностей? Их есть у меня:

Cursor и Windsurf — это, по сути, одного поля ягоды. Работают они неплохо, и по сути остаются обёртками вокруг VS Code. А я-то отвык уже от VS Code, давно сижу на Rider, поэтому постоянно ловил себя на мысли, что борюсь не с задачей, а с самим инструментом, подстраивая его под себя. В целом, проблема решаемая, но вместо ускорения я словил дебаф к скорости на несколько дней. 🔽

А вот Zencoder — это расширение и для Rider, и для VS Code, и тут дело уже не только в привычке. Эта штука реально бодро разбирается в проекте. Если с Cursor или Windsurf нужно было отдельно настраивать MCP, инструктировать агента, как и где лазить по файловой системе, то Zencoder хватало просто сказать: «Вот у меня два проекта в папке, скрести их вот так».

И он реально шёл в нужную папку, сканировал файлы, находил правильный — и менял, что нужно. Я поставил MCP Context7 (сборник промптов с рекомендациями по разным языкам программирования), но, честно сказать, Zencoder прекрасно справлялся и без него.

Более того, как-то вечером ко мне пришёл Арсений с идеей накодить локальный транскрибатор для видео. Я прямо в Rider попросил Zencoder написать скрипт на Python, который бы это делал. Он сделал. Потом попросил собрать скрипт для стартапа зависимостей — и снова сделал. Потом — обернуть всё в Docker и сделать веб-морду. И опять успех! В итоге с трёх промптов в чат появился вполне рабочий инструмент. Да, локальная транскрибация работает так себе, но всё равно, сам факт!

С виндсерфом и курсором я такой скорости не ловил. Что один, что второй далеко не с первого раза выдавали даже более тривиальные решения. Я уже вот тут писал, что курсор за час написал мне суммаризатор новостей по AI, так вот Zencoder справился с более сложной задачей минут за 40.

Короче, вывод за неделю использования: если с Cursor, Windsurf и VS Code я скорее заставлял себя работать и облегчённо вздыхал, когда триал заканчивался, то за Zencoder у меня появилось стойкое желание заплатить. И я заплатил — что уж тут скрывать! 💰
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🏢 Теперь про паттерны использования агентов в работе

1️⃣ Я не описываю задачу суперподробно. Пишу, как чувствую — и довольно часто оно норм работает. Если вижу, что решение идет не туда, то очищаю чат и добавляю деталей в первый промпт, а не пытаюсь направить дальнейшими.

2️⃣ ❗️❗️❗️ Очень важно, кмк, приучить себя начинать с тестов. Первый промпт — не про решение задачи, а про то, чтобы написать красные тесты для того, что собираешься делать. Без тестов велик риск с новым этапом промпта тупо откатиться к решению которое ломает предыдущее поведение кода.

3️⃣ Далее надо убедиться, что тесты корректны, что там нет дурацких моков, которые ассертят сами себя, и прочих ловушек.

4️⃣ Чаще всего Zencoder пишет тесты нормально. Я говорю про E2E-тесты, которые поднимают TestContainers и всё вот это. Но тут и курсор и виндсерф кстати делали.

5️⃣ После этого просим реализовать фичу. На работе у нас есть ребята, которые считают, что можно уйти пить кофе и просто попросить агента довести всё до зелёного состояния. Но у меня с E2E так не работает — выходит дольше и хуже, чем если бы я писал сам. Но думаю, что с юнит-тестами такой подход сработал бы отлично.

6️⃣ Поэтому я сначала базово смотрю, что решение идёт в правильную сторону, правлю пару мест руками, что-то меняю, и только потом продолжаю. Зеленю тесты по одному.

7️⃣ Если нужно оптимизировать код, можно попросить написать бенчмарки для разных версий и запустить их. Это тоже работает. Так что если вам навайбкодили неоптимальный по памяти или скорости кусок, подход тот же: навайбкодили бенчмарк, отревьюили его, попросили сгенерировать более быструю версию, проверили, что бенчмарк реально показывает улучшение.

8️⃣ Из критических минусов у меня только одна претензия: когда Zencoder меняет файлы, он сохраняет изменённую версию в папку .zencoder, которая не попадает в git. Поэтому с диффом работать неудобно. И ещё — файлы можно применить либо все, либо никакие, что тоже не всегда удобно.

9️⃣ Если применить файлы и потом поправить их руками, иногда Zencoder не ожидает, что ты что-то поменял, и перезаписывает код без учёта твоих правок. Но, субъективно, это случается куда реже, чем с Cursor или Windsurf. Те чаще вообще игнорируют текущий стейт файла и живут в своём мире со своими правилами. У Zencoder я несколько раз в рассуждениях видел что-то типа “Ага, пользователь поменял файл, давайте его перечитаем”&

🅰️ Итого: Короче, от Zencoder я в абсолютном восторге! Для меня это как открытие ReSharper в 2013-м: тогда казалось чудом, что можно быстро найти любой метод в проекте через Ctrl+N, быстро применить рефакторинг и так далее. Вот Zencoder даёт примерно такое же чувство.

И, честно, сейчас эта штука уже офигенная. Страшно представить, что будет дальше, но мне уже хочется больше такого экспириенса!

PS: Говорят, что у виндсерфа есть расширение для райдера тоже. Я пока не тестил, но думаю, что попозже испробую
33👍2