История разработки Total Reload
12 постов
12 постов
39 постов
1 пост
5 постов
В течение года общаюсь с сестрой. Она занимает должность правой руки / заместителя гендира одной фирмы, которая частично IT. Да, частично.
И вот в течение всего времени сестра общается со мной по проектам, которые их фирма развивает. Иногда предлагает перейти к ним. Но чаще рассказывает в общем виде о проекте и интересуется техдеталями. Рассказывает, что их фирму постоянно "кидают".
Я, в свою очередь, как технический специалист часто вижу большие несостыковки. Ну например, чтобы хоть немного было понятно о чем речь (очень утрированно), последняя их задумка в общем и отдаленном виде звучит примерно так: соберем свою ИИ (нейросеть/языковую модель), которая будет не хуже ChatGPT, DeepSeek и Claude Opus. Ну и когда приходят такие задачи, меня терзают смутные сомнения насчет того какой гений с каким бюджетом и в какие сроки это будет реализовывать 😂
Конечно сестре отвечаю честно, что я не специалист и во-первых по моему крайне скромному субъективному мнению найти такого специалиста - это задача уровня "миссия невыполнима × 9999999999".
Во-вторых для обучения нужны данные, очень много данных. Прямо ну крайне очень много и мне даже неизвестно сколько. А еще более неприятный момент, данные должны быть не просто набранные отовсюду, откуда только возможно, а специально подготовленные "правильные" данные. В общем, целый институт образования масштаба страны нужно открыть для обучения новой языковой модели/ИИ.
Ну и в-третьих, с учетом того, что найти специалиста невозможно и стоит это условно Х, собрать систему обучения будет стоить Y за время T, то на реализацию всего мероприятия уйдет денег Д. Пусть непредвиденные расходы и непредвиденное время и все непредвиденное включено в эти X, Y, T, и Д. И тут я открыто и честно говорю, что я просто не компетентен давать оценку и скорее всего, на основе моего субьективного и скромного мнения, успех этой затеи не то чтобы сомнительный 😂 он равен нулю. Даже потолок по деньгам не могу озвучить...
С учетом того, что все параметры вообще неизвестны, то надеяться что удастся собрать такое "комбо" гораздо больше на ставках в спорте чем тут 😂😂😂 И советую им хорошо подумать над тем, что они пытаются выполнить невыполнимые задачи.
Знаете что сестра ответила? Ответила: ты такие слова боссу не говори. Он ругался с последним человеком, кто начал убеждать его что это невозможно. Прямо взбесился 😂
Он верит в идею, все этим горят. А еще он нашел очень умных ребят, которые обещают все сделать.
Спрашиваю кто в этом отряде самоубийц эти умные ребята? Может, они хотя бы стояли рядом со станком, когда делали текущие модели? Или это непосредственные разработчики того, что уже есть на рынке? А вдруг (наверняка же я что-то не понимаю и деньги просто так вваливать в ничто никто не будет)?
Ответ: Вася работавший в Европе в условном Скайпе, Джон из майкрософт, занимался развитием какого-то направления (например IE), Ричард - разработчик Zoom.
Как бы даже если бы они в одно лицо каждый сделали Скайп, IE и Zoom, по моему скромному опыту, во-первых это никак не связано с той сферой в которую их зовут, во-вторых что-то я не понимаю что вообще происходит 😂 (как они вообще согласились на этот проект?!).
Эти ребята, кстати, языковую модель так и не сделали, но ЗП, конечно, получали.
Гуляю сегодня с работы и в голову пришло понимание. Раньше как-то не задумывался над этим. А вот шел и думал как же так, как их все кидают и почему их кидают. Судьба, рок, карма, что у них не так? Родовое проклятье может 😂
А ведь все очень четко идет, так как должно быть. Как оно вообще может иначе работать? Они находят невменяемых исполнителей и ставят им невыполнимые задачи. С честными и вменяемыми они ругаются 😂 Все просто, что в итоге они хотят получить? 😂 Возможно им стоило бы дать совет научиться рефлексировать над своими действиями, но кто я такой чтобы раздавать людям советы. Жизнь сама их научит.
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.
На прошлой неделе доработал отображение неотправленных сообщений. Ранее неотправленные сообщения отображались с восклицательным знаком в кружке:
Но этот вариант мне не понравился по ряду причин:
1) иконка рисуется отдельно от сообщения
2) подозрительно напоминает другие мессенджеры 😂
Да, и баги нашел в системе отображения таймстемпов:





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



Финальный вариант:
Цвета и иконки скорее всего будут доработаны позже, но сама идея останется такой: справа часть сообщения залита красным и по центру находится иконка восклицательного знака.
Обмен сообщениями реализовал, но о нем напишу чуть позже в следующем посте. Сделаю видео, где показано как работает отправка и доставка сообщений.
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.
Наконец настроил обновление статусов сообщений для получателя. Пока работал над статусами, понял, что по неопытности много чего не учел и пошел писать код нахрапом. То есть пока неоптимально некоторые моменты реализую. Потом, надеюсь, осознаю до конца все моменты и оптимизирую код.
Что забросил? Например Map (O1) заменил на списки и поиск элемента делаю через indexOf (O(n)). В геймдеве я бы очень быстро посадил производительность на 0, но а тут вроде как терпимо для самой сырой версии. Даже вроде и с O(n^2) работает 😂
Баги
Куда без них? Единственное утешает, что не только у меня. Открыл на днях Youtube на яблоке и вижу:
Уже не удивляет когда у мегакорпораций интерфейс временами работает криво. Расслабились наверно 😂
Написал код отображения таймстемпа в сообщениях и думал что больше никогда к нему не вернусь 😂 Слишком уж мудреная там логика получилась. Ага, на этой неделе занимался правками багов в таймстемпе. То дата не там встанет, то статус куда-то улетает 😂 Исправил. Красными стрелками показал баг таймстемпа, а зелеными исправления:
А вот тут видно обновленные статусы сообщений:
VisualCode, Flutter, СУБД, crone, всякие NATS и серверная часть - что-то эти ребята достаточно сильно грузят мне комп. Потому второго клиента запускаю в консоли и имитирую общение через нее:
Буду продолжать работу над обменом сообщениями, командами (удалить, редактировать и проч) и интерфейсом приложения. Да, не особо быстро движется дело, но что сделаешь, как есть. Фигак-фигак и в продакшен за 1 месяц не получается 😂, есть в жизни много других очень важных задач 😕
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.
Как-то мне попадался пост где человек рассуждает о впечатлениях о книге/фильме (не помню уже) "Тарас Бульба". Человек сравнивал свое впечатление от прочтенного/увиденного в 15 и 45 лет. Было интересно почитать, спасибо.
Недавно пересматривал фильм "Форест Гамп":
Раньше я его много анализировал, декомпозировал, рассуждал о мотивах, формировании личности главных героев, в общем копался в мелочах и немог охватить о чем это вообще история и что конкретно хотят тут показать 😂. Почему-то в голове была идея и истории про "Американскую мечту". Ну знаете, наверно, это про то как человек из "никто" становится "кем-то" или даже "всем".
Сейчас как-то получилось так, что в голове все сложилось. Наверно отошел на расстояние. Большое же видится издалека 😂 Так вот, вообще всю суть этого фильма можно передать так:
История о том, как полный дурак прожил жизнь как здоровый человек, а физически здоровая девушка прожила жизнь как полная дура.
Мне кажется это идеально описывает суть.
В этом случае все встает на свои места: в фильме идут две линии в которых показывается две судьбы, принимаемые каждым человеком решения, последствия принятых решений. Даже больше, если копаться в мелочах, то можно заметить что с самого начала фильма судьбы персонажей были буквально предопределены:
- главный герой поступал всегда по совести и правильно. У него заранее была предопределена неосознаваемая долгострочная стратегия на всю жизнь. Потому, что он всегда поступал "правильно", иначе он не мог.
- а у девушки с самого начала семья - это отец, который относился к ней очень холодно, бил, пил и так далее. Отсюда предопределение ее судьбы:
Если почитаете психологические книжки и даже "современных психологов" (ну кроме ультрасовременных пожалуй 😂), то все подтвердят, что это обьясняет ее дальнейшее поведение в фильме (все эти пьянки, гулянки, наркотики, беспорядочные половые связи и прочую грязь) и ее отношение к главному герою.
Снова пошел ковырять мелочи... 😂 Пожалуй остановимся на этом. А вы что думаете? Наверняка есть еще какое-то более точное видение.
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.
Помню, в Анапе был подключен к МТС и у них статический адрес стоил 150 руб в месяц. Но это было года 3 назад, сейчас не знаю сколько стоит. Но помню было в разы дешевле, чем в Москве.
Пишу сервис для общения и некоторые люди мне обьясняли, что в наши дни каждому доступно поднять у себя свой сервис для общения. Ага, доступно...
На днях посмотрел сколько стоит услуга статического адреса у моего провайдера (Мск). Давно не заглядывал в раздел и что-то они стоимостью совсем не обрадовали:
Я, конечно, не специалист ценообразования услуги статического IP, не понимаю с какого потолка они берут эти суммы. Но что-то кажется, что с потолка и очень дорого берут абсолютно НИ-ЗА-ЧТО. А у вашего провайдера сколько стоит эта услуга?
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.
Был у меня сервер на Golang и простенький клиент для тестирования:
Отправа/прием собщений, команд, доставка событий работают. В общем-то плюс-минус все хорошо, но тестовый консольный клиент - это не то, что я хотел бы использовать в повседневной жизни на телефоне. Да и вы наверно тоже 😂
И вот в последнее время работал над отправкой сообщений. Наметил структуру/логику и реализовал отправку сообщений. В ответ на сообщение сервер кидает уведомление о доставке. Это нужно чтобы клиент понял, что нужно остановиться и не отсылать больше сообщения.
Доставкой сообщений на клиенте занимается мой небольшой доставщик. Кидаешь ему сообщение и он пытается его отправить. Сервер в ответ может отправить много чего, но в данный момент мне важно обработать статусы сообщения. А статусов столько (возможно что-то упустил и добавлю, но склоняюсь что этих хватит):
- в процессе отправки ⏳ (анимированные часики)
- ошибка отправки ❗
- доставлено на сервер ☑️
- доставлено до получателя ☑️☑️
- получатель прочел ✅✅
Визуальную часть реализовал ранее, так что сейчас просто использую ее. А вот про ошибки забыл. Ранее руки не дотягивались, не заострял внимание на ошибках и в ответ просто отправлял строку с ошибкой. Недавно столкнулся с тем, что строка - это лучше чем вообще ничего, но строку неудобно обрабатывать. Так что ввел структуру ошибки и отправляю ошибку в таком виде:
Но это еще не все. Не особо писал тесты и в какой-то момент временно сломал серверный код из-за изменения типов данных в серверной базе данных. Дела... 😂
Сейчас у меня сообщения отправляются, ответ сервер используется для обновления состояния сообщения. Кстати, вот скрин сообщений и их состояний:
А тут видно, что неотправленные сообщения помечаются восклицательным знаком, который расположен слева от сообщения и по центру:
Черновики
Но это еще не все. У нас же есть черновики и как хорошо что с самого начала начал над ними работать. Дело вот в чем. Пользователь может отправить сообщение новому собеседнику или даже будучи не в сети. В нормальном режиме отправка сообщения происходит по ID чата. Персональный чат это или групповой - неважно. Отправляешь сообщение по ID и сервер уже сам разберется нужно его отправить одному собеседнику или рассылать группе.
И вот тут есть небольшая проблема. Если пользователь отправляет сообщение новому пользователю, то происходит следующее: серверу сообщается информация о том какому именно собеседнику (receiverID) нужно доставить сообщение. В результате сервер создает персональный чат (если он не был создан) и отправляет ID чата. После этого отправитель уже шлет сообщение не по receiverID, а по chatID.
Проблема в чем? В том, что chatID не известен до отправки сообщения. После получения ответа от сервера, отправителю нужно найти отправленное сообщение, создать для него чат и закрепить отправленное сообщение за чатом.
На словах, вроде, все понятно. У меня сейчас этот момент реализован совсем плохо. Если не исправить, то будет еще хуже и в итоге сам себе создам ад при жизни.
В общем, исправлю, не любитель заниматься полнейшей ерундой 😂 На данный момент этим и занимаюсь.
После добавлю код для обновления статуса сообщения:
- доставлено до получателя ☑️☑️
- получатель прочел ✅✅
На данный момент работает отображение статуса отправки (⏳) и доставки до сервера (☑️) .
Далее планирую заняться получением и визуализацией принятых сообщений. У полученных сообщений нет статусов, с ними немного проще: нужно просто отобразить их и у меня вроде все для этого уже готово (кроме приема, сохранения в БД и обновления частей интерфейса).
Есть одна давняя и неприятная новость: уведомления о доставке не будут работать без сервисов Apple и Google. Так что чтобы мобильное приложение присылало уведомления, нужно будет плОтить (для Apple около 10к руб в год, для GooglePlay вроде $25 за регистрацию аккаунта, а дальше еще не смотрел).
Голосовые/видео звонки - до них пока не добрался 😅
Сейчас план-минимум - это сделать сервис обмена сообщениями и файлами.
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.
Так получилось, один мой давний знакомый сейчас работает в той самой компани, которая создает как раз те самые нейросети. Какие сети и что создает говорить не буду, да и он очень не рад будет моему освещению его деятельности. Но некоторыми моментами все же поделюсь.
А, ну да, еще есть такой парень из Воронежа по имени Влад. У него был свой публичный канал на Youtube (про сетевые сервисы SQL, БД и прочее) и он вроде в OpenAI в команде безопасников сейчас (собственно потому и обучающие видео наверно не так часто выходят в последнее время). Так что наши ребята там тоже работают, его все знают, можете следить за его успехами кому интересно :)
У меня набрался опыт работы с несколькими сетями:
1) бесплатный DeepSeek
2) бесплатный Claude
3) платный Claude на максималках
4) ну и условно назовем его "Кракен" - почти самая последняя модель нейросетки
DeepSeek
Началось с того, что примерно месяц назад решил попросить DeepSeek помочь мне написать часть интерфейса для сервиса общения, который делаю. Общение с ним вызывало оптимизм и временами раздражение. Оптимизм - сетка глупая и не справляется с моими задачами. Раздражение от того, что она теряется в "трех соснах":
Хотя для многих других задач она очень даже неплоха. Например перевести с русского на английский, китайские, объяснить что-то.
Claude бесплатный (Sonnet 5 Max)
Попробовал бесплатную версию. Зарегистрировал аккаунт "не из РФ" а из Нидерландов и погнал смотреть что она выдаст. Бесплатный Claude недалеко ушел от DeepSeek. Да, может он в 2-3 раза умнее или лучше, но по моим субъективным ощущениям тот же "тугодум" что и DeepSeek. Результатов прорывных для меня не дал, хотя в трех соснах в отличи от DeepSeek он уже не путается.
Claude с подпиской за 20 000 руб в год (точно не помню какая там была модель, но брали лучшую для решения задач по программированию)
Что могу сказать, удивил. Проблемы, которы не могли решить первые две сетки, эта сеть решила. Да, думала минут 20, но результат она дала. Странное ощущение. С одной стороны приятно, с другой не очень рад его успехам. По сути сеть взяла и написала код, который я не мог разобраться как сделать в Dart в течение недели :/
"Кракен" (это я его так назвал, на самом деле мне не сказали его название)
Есть у меня старые приятели. Один очень старый, прям совсем "борода как стар" и он инженер-разработчик, как раз работает с нейросетями. Ну есть и другой вузовский товарищ, он в MIT трудится и тоже что-то с сетками и роботами связано (но с ним пока не связывался).
Так вот, созвонился с первым, попросил по знакомству показать что они сделали и вот вам ииииинсайдерская информация. На текущий момент (на самом деле уже месяц прошел с момента общения) есть супер-пупер-мега крутая нейросеть которая може ну вообще все. Ладно, это мое субъективное мнение, но откуда оно взялось?
Во время звонка буквально с товарищем накидали промт аля "сделай нам сервис чтобы был круче чем А и Б, интерфейс возьми из С и D и E, сделай интерфейс эффективным и эргономичным. Сервер напиши на Golang, клиента на Dart под телефоны и веб." А, ну да, еще не забыли упомянуть "пиши чистый и красивый код". В общем промт уровня "хочу-хочу-хочу вон как у них и в конце добавочка 'сделай быстрее' "
Кракен спустя те же 30 минут кидает нам пачками файлы исходников. И код читаем и сервис над которым команды месяцами работают выдал не просто в виде файлов а архивом.
Посмотрел код, понял что он вообще-то запускается и работает. Это с одной стороны. С другой стороны это такое разочарование. Ты сидишь, разбираешься месяцами, годами, десятилетиями, а тут машина за микросекунду все разработала и построила и не то что как ты, а лучше. Про быстрее молчу, это очевидно. Не сказать что "впал в депрессию" от увиденного, но разочарование случилось большое.
Заключение
С одной стороны. Что думаю по поводу ИИ, который пишет быстро код? Наверно тут больше разочарования. Программисты, которые получают 100500 миллионов в секунду сразу не будут нужны. Если и не сразу, то во всяком случае это случится очень быстро.
Я рассуждаю с точки зрения программистов, но есть же куча других профессий, которые тоже будут заменены и мне известно несколько проектов, над которыми уже работают в РФ и которые должны "оптимизировать рабочий процесс".
Представьте что каждый в стране стал лучшим специалистом любого профиля. Произойдет полное обесценивание специалистов.
С другой стороны это оружие. Да, это не автомат, не граната, не что-то убивающее. Это не вирус, не яд, не что-то, что мы привыкли считать оружием как оружие. Это другое оружие. Что будет, если в стране внезапно 70% населения останется без работы? Переворот, революции и тп. Ничего хорошего. И это может произойти без единого выстрела, без ядерного взрыва. Вот так вот, ничего не предвещает беды, все стали не нужны только потому, что фирма опубликовала в общий доступ инструмент, который решает все ваши проблемы, проблемы работодателей. Раньше людей заменяли станки, а теперь ИИ. Непонятно насколько масштабным будет его влияние 😕
По сути это оружие, которое нельзя запретить. Такие вот мысли.
--
По вечерам разрабатываю сервис для общения. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.
Делаю блок питания для DeWalt. О том для чего это и зачем писал ранее тут: Делаю компактный блок питания для DeWalt
На фото рабочий прототип. Индикатор светится - это означает, что устройство работает. БП в нем собран на основе китайского БП. Монтаж получился очень плотным. Тут первый блок питания, который по идее не стоит демонстрировать так как это экспериментальный вариант. Фото сделано сбоку и нежелательные моменты затерты:
Для производста решил взять этот блоки питания: ссылка на Озон
Компоненты (резисторы для делителя напряжения) хотел взять отечественные. Нужно же пытаться поддержать отечественного производителя. Но что-то в итоге мне не удалось найти магазина, где можно приобрести наши отечественные радиоэлементы. Пошел на Авито, там запасы времен СССР и каждый резистор стоит по 10 руб 😂. Буду признателен за ссылку на магазин или ресурс, где можно купить отечественные радиоэлементы. Ремонтеры, сами где радиоэлементы берете?
С блоком все хорошо, при 20В он выдает более 10А, что для шлифмашинки более чем достаточно. Если ее зажимать, то ток не превышает 9А.
Заказываем партию пока из 3-х штук для знакомства и знакомимся. Почему-то в сети нет информации как регулировать напряжение этого блока питания. Сейчас исправим этот момент.
За регулировку напряжения на бсех БП отвечает вот эта микросхема:
Это 431 микросхема или ее аналог (указал стрелкой), но не суть. Важно, что Ref-ножка подключена к делителю и она регилирует какое напряжение будет на выходе. А вот и делитель:
Подпаиваемся к контактам и подбираем сопротивление:
То есть, если подобрать сопротивление делителя, то можно уменьшить напряжение на выходе. Подбираем сопротивление одного из плеча и оно получается равным 4.89 кОм. Вместо верхних резисторов нужно впаять это сопротивление и должно все заработать и на других блоках. Это в теории.
На практике у другого блока схема другая:
И у третьего блока схема совсем другая 😂😂😂 (фото затерялось). Вы там издеваетесь что ли? И что, теперь под каждый блок заказывать свое SMD-сопротивление? 😂
Так что как бы показал что именно регулирует выходное напряжение в этом блоке и как это сделать. А вот что конкретно туда впаять - нужно подбирать. Почему-то одни и те же блоки питания разные.
Ответы на вопросы
Нашлись люди, которые прямо в личку написали:
"Ну и зачем ты это делаешь?"
"И кому это нужно?"
"Есть же китайские всякие переходники, почему их не использовать?"
Отвечаю:
Как минимум это нужно мне: хобби, соморазвитие, эксперименты. Как максимум на текущий момент мне заказали более 30 блоков! Более 30 блоков! В итоге решил закупить в Китае комплектующие оптом на 100 единиц (небольшие блок и под Flex) так как заказы идут, а я на текущий момент почти произвел всего лишь 10 таких небольших блоков.
Есть же китайские источники питания... Да есть конечно, но почему бы мне не продать, если берут?
Что с сервисом для общения?
Пока подвисла работа, но скоро возобновлю.
--
Разрабатываю сервис для общения. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.