SILLYFEED
Открыть канал в Telegram

Посты канала Руслан Шишмарев | Программист в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.

Блог о программировании.Пишу, что думаю.За консультацией:@ruslan_sh_devКанал на YouTube:https://www.youtube.com/@RuslanShishmarevМои проекты:• CSAnalysiscsanalysis.ru• NVP Studionvp-studio.ru• NVP Webnvp-web.ru• Pipe Viewspipeline-views.ru

Посты канала

Руслан Шишмарев | Программист
Короче, неделя после использования Cursor. Честно скажу, классно, что он умеет работать со всеми файлами проекта. НО!Недавно я полностью обновил свою фичу с помощью ИИ, которая работала не так хорошо, как хотелось бы. И заметил одну странность. Местами стало работать хуже, чем было. И как на зло закончился пробный период использования Cursor. Еще не решил, что купить из ИИ агентов. ChatGTP или Cursor. Поэтому не тороплюсь.В итоге полез в код. Очень красиво оформлено, комментарии и все такое. Читаю глубже и вижу, что в итоге он просто забил на важные вещи, о которых я просил😡. Некоторые возможности в коде вообще словно не заметил. Создал лишние абстракции и переменные. В итоге сижу разбираю в ручную... бесит... Словно в легаси копаюсь.Недавно видел новость, что по результатам испытаний ИИ чаты только растянули разработку. Вот ссылка на статью и разбор исследования.Еще раз убеждаюсь, что на наш век работы хватит. ИИ - это генератор подходящих по смыслу слов, а не инженер. Он не умеет изобретать.Что думаете?
Руслан Шишмарев | Программист
Провел очередной эксперимент с ИИ чатом.Мне нужен был сервис, которого еще не было в проекте. Сделал интерфейс, расписал какие методы у него должны быть, подготовил классы. И попытался сделать сервис ПОЛНОСТЬЮ вайбкоддингом. Все же так верещат, что это прям магия. Расписал промт, описал задачу максимально подробно. Код шустро появился на экране и я добавил его к себе в проект. Начал тестить. И… не работает🤨Начал разбираться. Алгоритм норм, вроде все как надо. Но посмотрев внимательно, нашел несколько багов. Тут поправил, там поправил. Запустил. Стало лучше, но не работает. В итоге задолбался дебажить и погнал писать сам. Решил придерживаться того же подхода, но с изменениями. В итоге все получилось. Сделал быстро и как мне надо. Да, как я хорош😎ИИ делает норм небольшие фрагменты. Что-то большое делает с косяками. И честно говоря, с вайбкодингом программирование еще больше превращается в дебаг. Словно ты в легаси бесконечно копаешься. А весь прикол делать нулевые сервисы - это свобода. Пишешь, как хочешь. А когда ИИ сгенерил код, ты опять погружаешься в дебри изучения логики лапши. Что может сильно бесить.Еще раз убедился, что уметь читать код и понимать его смысл нужно в любом случае. А с ИИ этот навык становится еще более важным.Fun fact.Вы вообще помните, как 3 года назад пророчили, что программисты станут не нужны в течение 5 лет?Кажется я уже это слышал. Про бухгалтеров. Лет 20 назад😄
Руслан Шишмарев | Программист
Продолжаем делать задачи на Go😉Честно скажу, сделал не очень хорошо, так как по скорости работы еле еле смог уложиться в пределы. Пишу на сайте LeetCode. Там есть авто тестирование кода и можно сразу смотреть результат. И даже смотреть статистику по скорости по сравнению с другими решениями. Как видите, результат так себе)ЗадачаМинимальная разница во времениДана последовательность временных точек в формате «часы:минуты» («HH:MM»), где часы указаны в 24-часовом формате. Найдите минимальную разницу между любыми двумя временными точками в списке.Пример 1:Вход: timePoints = "23:59","00:00"Выход: 1Пример 2:Вход: timePoints = "00:00","23:59","00:00"Выход: 0Ограничения:2 <= длина списка timePoints <= 20000Каждая строка timePointsi имеет формат "HH:MM".Мое решение:Прикладываю сразу функцию findMinDifference, которая будет вызываться в mainfunc findMinDifference(timePoints []string) int { result := -1 for i := 0; i < len(timePoints)-1; i++ { first := timePoints[i] for j := i + 1; j < len(timePoints); j++ { second := timePoints[j] diff := getDiffFromTwoTime(first, second) if result == -1 || result > diff { result = diff if result == 0 { return result } } } } return result}func getDiffFromTwoTime(time1 string, time2 string) int{ timeMinutes1 := getMinutes(time1) timeMinutes2 := getMinutes(time2) diff := int(math.Abs(float64(timeMinutes2 - timeMinutes1))) dayMinutes := 24 * 60 if diff < dayMinutes/2 { return diff % dayMinutes } else { return dayMinutes - diff%dayMinutes }}func getMinutes(timeStr string) int { parts := strings.Split(timeStr, ":") partsHours, _ := strconv.Atoi(parts[0]) partsMinutes, _ := strconv.Atoi(parts[1]) return partsHours*60 + partsMinutes}#про_golang

Ещё по теме «Технологии»

Технологии
SAP Basis Tips (RU)
Новые версии продукта - типа, новые ощущения !?Расскажите это админам новомодного S/4HANA.Тут вот на значительном ряде современных ядер от 753 по 919 включительно в утилите tp обнаружили баг, которому наверное "отчень много лет". Ну или мне так показалось..🤓История такая:1) Запрос транспортный успешно отрелизили в разработке.2) Далее мы импортируем его в систему качества для "QA Approval/Rejection"3) Открываем очередь STMS_QA , а там йок(‼), нету нужного запроса.Решение стандартное: качаем свежую версию tp и обновляем в системах.Далее список из версий tp в которых безобразие это - вылечено:KERNEL919: tp 381.733.04KERNEL918: tp 381.715.04KERNEL917: tp 381.709.04KERNEL916: tp 381.700.04KERNEL793: tp 381.588.04KERNEL789: tp 381.577.04KERNEL754: tp 381.40.04KERNEL753: tp 381.30.04(imho) про ядро 777, как обычно успешно забыли...!?#STMS_QA_BUG#TP#KERNEL919#KERNEL753
Почувствуй Оружие GUNSROOM
В НИИ прикладной химии разработали патрон, который способен противостоять дронам. Он может поражать БПЛА на дальности до 100 метров.По словам авторов разработки, соотношение массы тяжелой дроби к массе всего патрона дает возможность получить нужную энергию отдельных дробин, позволяющую разрушать элементы конструкции беспилотников на расстоянии от 70 до 100 метров. В более ранних разработках попадание связанной дроби не всегда заканчивалось сбитием дронов на дальностях более 80 метров.Особенность устройства патрона позволяет раскрыться осыпи дроби на оптимальном расстоянии «для эффективного поражения БПЛА».
Toxblч. Не только Linux
Слева новый первый день. А справа мой первый Macbook Pro 13" Late 2013 который взял в феврале 2014 года. Прошло 12 лет, 3 замены батарейки и он всё ещё работает, правда уже на Linux :) Самое удивтельное у него всё ещё отличный на сегодня экран, клавиатура, тачпад. Пережил падения, удары и всё равно не выглядит уставшим, а яблочко всё ещё светится сздади) А когда я на нём на парах, записывая лекцию, в Parallels играл в винде в ArcheAge притом писал скрипты по посадке урожая xDИстория однако
Душный Барсук
Плотная линия - изменение импорта в США связанных с ИИ отраслей, прерывистая - импорта не связанных с ИИ отраслей.Когда вся твоя экономика сделала ставку на продвинутую форму автокорректа.
LLM под капотом
OpenAI Codex vs Claude Code vs Amp Code vs OpenCode + DS4 ProЯ сегодня закончил сложный рефактор проекта ядра BitGN. И состояние кода теперь просит генеральной уборки.Из интереса я задал один и тот же вопрос разным агентам:Scan through the repository on a high level (ignore code under /modules). I want you to suggest ways, how we can make it more simple and straightforward, refactor away traces of growing pains. Focus on small changes that allow to drop code, or reduce cognitive complexity with a small LOC change cost.OpenAI Codex с GPT-5.5 High потратил 3 минуты и 132k tokens из подписки и предложил:(1) удалить папку /dbg с начинкой - давно пора(2) переименовать пакет stor в store - можно(3) упростить ULID генератор - да, можно(4) убрать AddVMCreateds - можно(5) зарефакторить run finalization/push - надо посмотреть(6) удалить public-release backfill - да, это прямо точно можно(7) почистить Makefile - мелочь, но можно(8) почистить раутинг до виртуальных машин- да, теперь можно(9) утащить виртуальную FS в PAC1 - имеет смыслAmp Code в deep thinking потратил 4 минуты и 90 центов, выдал список первоочередных изменений, которые пересекаются с кодексом:(1) Удалить папку /dbg с начинкой - ok(2) упростить раутинг до виртуальных машин - да, можно(3) зарефакторить run finalization/push - надо посмотреть(4) убрать public-release backfill - ok(5) убрать fx.VM интерфейс и поправить доки - да, действительноClaude Code + Opus 4.7 XHigh потратил 8 минут (говорит, что 2$ из подписки) и предложил прежде всего:(1) убрать fx.VM интерфейс - ок(2) убрать helper err(), который код сильно упрощает - нет(3) оптимизировать ненужные конструкторы storage - надо смотреть(4) переместить файлы с интерфейсами айдишников в файл с интерфейсами IO, ибо “используются вместе и сэкономят одну строчку кода” - нет, спасибо(5) удалить пустую папку /cmd - она даже не в git, но ок(6) удалить proto_api/bitgn/vm/ecom.proto - и оставить вас без интерфейса к соревнованию. Нет, спасибо.OpenCode + DeepSeek V4 Pro потратил 1.15$ + 6 минут и предложил:(1) слить файлы с конфигами - и так нормально(2) переместить файлы с интерфейсами айдишников в файл с интерфейсами IO - как и Claude. Нет, спасибо.(3) удалить папку dbg с начинкой - ok(4) удалить пустую папку с /cmd - ну ок(5) заменить lib/set.go на inline map[string]struct{} - ни в коем случае, это код упрощает(6) удалить systemd socket activation logic, ибо “the most complex code”, что сразу уронило бы все сервера.OpenCode +DS4 Pro пока совсем сыроват. Ответы Claude Opus немного лучше. Codex идет в работу. Amp тоже нашел толковое без шума, но меньше Кодекса.Ваш, @llm_under_hood 🤗
Forever and BioMed
Плох тот AI, который не мечтает уничтожить Человечество создать нечто, до чего не догадалась Жизнь...две новейшие научные работы под это утверждение 🧐➡️ Вот тут, с помощью AI собирают ферменты, осуществляющие одну из самых распространенных реакций в природе - разрыв фосфатных связей (таковые наполняют ДНК, РНК, сигнальные и прочие молекулы). Без белков-ферментов некоторые из этих связей будут "ждать" распада годами. Главное, что показали авторы - такой фермент, AI может спроектировать очень НЕ похожим на природные аналоги. Их белок как бы “эволюционировал” внутри AI-алгоритма, который шаг за шагом отбирал варианты, и результат крайне отличается от "натуральных" ферментов.➡️ А здесь, тоже в AI-пайплайне, конструируют "под заказ" белки, способные специфически связать определённые участки ДНК. Опять-таки, важно что AI не варьировал природные байндеры ДНК (цинковые пальцы, TALE или CRISPR) - а сгенерировал "с нуля" небольшие белки, которые распознают заданные последовательности ДНК. Обе статьи - препринты. И, кстати, второй проект - детище Дэвида Бейкера великого и ужасного пожалуй главного эксперта по собиранию белковых молекул из шариков и палок под любую биохимическую задачу... ах, да - он ещё и лауреат сами-понимаете-какой Премии ⬅️. Уверен, что оба обсуждаемых инструмента вскоре опубликуются в ведущих научных журналах - и обретут интереснейшие прикладные применения.#ии #люди
Наташа Дудина | Начальник тоже человек
Я прошла интенсив по ИИ boost у Вани ЗамесинаПри всей моей любви к оптимизации, я думала что вайбкодинг продуктов не для меня. Ну потому что даже несмотря на то, что всё сейчас можно сделать быстрее, это все равно трата времени. Проще же отдать кому-то и самой этим не заниматься.Второе — я не до конца понимала, какие процессы мне надо оптимизировать. Потому что в основном я сейчас работаю в одного, и в купе с ребенком, у меня не так-то много «процессов» с компом. Такая была моя точка А.Пока я это переваривала и осознавала, попала на boost к Ване Замесину. Это очень интенсивная неделя, по выходным по 2 воркшопа в день. Я сначала испугалась, а потом очень оценила. Еще скажу, что интенсив подойдет тем, кто с нуля и хочет очень быстро вкатиться в тему, потому что за тобой буквально закреплен куратор, который ведет за руку и даже помогает купить аккаунт клода)))В первый же день воркшопа мы сделали лендос продукта, я делала наброски для онлайн-клуба для Марса. Не просто придумывали сами, Ваня собрал на основе своих методик документы для клода, чтобы очень быстро валидировать идею, получить сегменты аудиторий и под них сделать лендинг. Типа ты вчера еще не умел пользоваться Клодом, а сегодня у тебя готовый лендинг, выложенный на сервер, который может продавать. Это реально был aha moment. Еще из очень классных бонусов было немного токенов в специальный продукт для продактов aura и доступ в чат сообщества. Это как бы нифига себе. Теперь я пользуюсь этими промптами, чтобы поразгонять новые идеи, в том числе образовательные. Честно, я просто даже не ожидала, что с интенсива по ии я выйду с куда большим, чем «а как еще юзать Клод». Фактически я вышла с Ваниной методикой + кучей обвесов-примеров от экспертов. То есть теперь вышло так, что я ни одну задачу не решаю без нейронки: свожу таблицы, ищу ошибки, прошу инструкции, собрала себе трекер баланса кбжу и моей активности, сейчас вот делаю бота для трекера задач… это просто к тому, что процессов на самом деле оказалось в итоге много. Просто все они не в компе, а между кучей разных приложений и моей головой. Кажется, такими темпами, я откажусь от всех сторонних приложений. Например, так отпала уже надобность заходить в тик-тик для ведения задач, ставить самой задачи в календарь. Все встречи я записываю, а потом разгоняю с Клодом, как это использовать.Мне с одной стороны немножко страшно от такой скорости. С другой, опять же, я снова и снова понимаю, почему нейронки зашли в первую очередь предпринимателям. Потому что мы обычно безрукие. Креативщики, способные видеть далеко, ощущать «как надо», а как сделать — хз. С нейронкой этот барьер совсем исчез.
Алексей Козлов. Бизнес, инвестиции, девелопмент, эффективное управление и личностный рост.
✔️ Ехал в этот раз на поезде в отпуск. Это чуть больше суток в дороге. И стало прям больно. Опять. Мы так боремся за передовые позиции в технологическом секторе и я вижу сколько усилий и государства и бизнеса на это направлены. Тут очевидно, что без этого вообще глобально просто не что претендовать. Но мы не можем ничего сделать с доступом интернет в поездках на поездах. Причем это касается абсолютно всех маршрутов. Как и в этот раз покрытие интернетом было не более 7% от всей протяженности. Друзья, ну реально, это как так?) Сейчас не возможно представить современного успешного человека, который работает и то что ему не нужно решать вопросы или отвечать оперативно коллегам, доделывать проекты даже пока он едет в поезда или отпуск. Такого не бывает. И вот 24 часа без доступа в интернет. Можно посчитать сколько это человек-часов потерь. В вагоне 34 места, 21 вагон, 12 часов рабочего времени и 10 таких поездов в день (прям минимум) = 85 680 часов в день. Только в день. Это в то время когда для нашей страны важны каждые 0,1% ВВП. Я не понимаю, извините. Отдайте концессию предпринимателям и они найдут решение как обеспечить безопасный доступ в интернет, а еще и денег на этом в бюджет заработать. Уверен. Как думаете, есть решения?)