LLeo
2026/01/05 - Прошу технических советов
2026/01/04 - Буратино-2026
2026/01/03 - Новогодний опрос
2026/01/01 - С новым годом!
2025/12/24 - Qdrant и lleo.me
Сайт lleo.me стал настолько летописью моей жизни и работы, что сам я постоянно ищу на нем разную забытую информацию. В каком году я впервые ездил в Минск? Нужно ли обжаривать лук с морковкой для моего рецепта рассольника? Где фотка Васи Обломова в Чертаново? Помню, когда-то мне советовали в комментах библиотеки синтеза речи, какие? И каждый раз я лезу искать.
А история системы поиска на lleo.me классическая. Сперва это был тупой поиск подстроки по всей базе заметок и комментариев. С годами база разрослась, ожидание результатов могло занимать целую минуту, иногда вешая сайт. И если ты ставил ключевое слово не в том падеже, поиск ничего не находил. Год назад я привинтил для экспериментов рядом с MySQL базу Postgres и включил там опции полнотекстового поиска. Стало быстро, но хреново. Поэтому лично для себя в админке я оставил опцию прежнего поиска подстроки. И на время прервал эксперименты. Но эпоха нейросетей подарила нам технологии смыслового поиска — когда нейросеть понимает смысл заметки и индексирует какими-то своими цифрами в форме вектора в своем 1000-мерном пространстве. А потом такой же смысловой вектор делается для каждого поискового запроса и база ищет близкие результаты. Проще говоря, на запрос «рассказ, где учитель вырастил слоненка» система должна выдать первым результатом поэму «Про тигренка», хотя совпадений слов нет вообще. Самый модный сегодня для этой цели инструмент — база Qdrant, и я собираюсь ею воспользоваться сперва по рабочим задачам, а затем для своего сайта и конечно для Биноника. Вспомнить стих Иртеньева, Быкова или Седова, не помня точных фраз, — та ещё задача.
Поэтому хочу посоветоваться с вами — кто в теме и имеет опыт.
1) Какие модели советуете именно для русского языка?
2) Какие есть нюансы подготовки букв? Надо ли заменять кавычки на единообразные, удалять знаки препинания или спецсимволы, приводить к нижнему регистру?
3) Какие нюансы представления разных элементов заметки? Нужно ли как-то отдельно размечать заголовок, тело, тэги, дату? Как это лучше делать? В виде промпта «заголовок: ..., эпиграф: ... текст: ...»? А виде JSON? Никак не размечать, валить в кучу? Или там есть специальные опции в API?
4) Что делать с лонгридами, которые не лезут в окно? Следует ли повесть разбивать на куски, и какой длины? Хранить эти куски отдельными векторами, адресуя каждый к своей части текста, типа смысл главы/абзаца? Следует ли отдельно делать для каждой главы смысловую выжимку с целью в конце создать один общий смысловой вектор всей повести?
5) Какие ещё есть нюансы и рекомендации?
Речь именно про тексты на русском языке и опыт создания автономной системы поиска. Понятно, что Гугль и прочие внешние индексаторы открытого контента удобны пользователю, но не решают моих личных и учебно-рабочих задач и не помогают изучить новые технологии. 2025/12/22 - Немножко про работу и бассейны







Фреймворк CFAQ
Я принялся за дело и доработал свой фреймфорк CFAQ для ESP32 (с ESP8266 он тоже должен продолжать работать, но не тестировал пока). Первое, что оказалось: в ESP32 очень и очень плохо с вебсокетами. Либо какие-то совсем громоздкие библиотеки, либо не работают. Более того: судя по всему, на ESP32 вообще нет годного вебсокет-клиента, который способен бегать по wss на сервера за CloudFlare — там какие-то нововведения протоколов, которые сбивают с толку старые библиотеки ESP. Поэтому вебсокет-клиент пришлось писать заново почти с нуля на основе простенькой Socketyee. С wss возиться вообще не стал, решив, что на ESP вся эта беготня с сертификатами «всегда боль», как выражается наш ЧатГПТ. Вместо этого я беру обычный нешифрованный канал ws — прослушивайте. Зато сам трафик шифрую и подписываю современной криптографией 25519 на эллиптических кривых, которая, мягко скажем, посильнее всех этих протоколов https/wss. Результат вышел чудесный — теперь чипы постоянно в сети, и в любой момент авторизованный хозяин с центрального сервера может зайти и выполнить любые действия. В том числе — накидать скрипт прямо на чипе, какие датчики опрашивать, и рисовать любые графики онлайн. Забавная задница приключилась, когда у меня кончилась память: скетч стал занимать 99.6% и не запускаться. Допрограммировался, называется. И понятно, почему такое: всего 4Мб памяти, а я еще хочу обновление прошивки OTA и внутреннюю флешку, да еще натащил во фреймворк вообще всё, что было можно (там же у меня текстовый язык команд, он должен уметь всё), да еще для электроники бассейна подцепил мощный дисплей с развесистой графической библиотекой. Проблему решил временно, откатив саму систему esp32 на чуть более раннюю версию, она не такая громоздкая. Но конечно надо прекратить покупать ESP32 c 4Мб, а брать 8 или 16.
Язык: C++
GitHub: https://github.com/lleokaganov/cfaq
Центральный сервер
Соответственно системе нужен центральный сервер. В нем нужны минимальные протоколы, прием телеметрии от устройств в базу данных, API, разделение доступов и какая-то авторизация по емайлу. Пришлось наконец освоить сервис отправки емайла через smtp2go, а то некоторые криптодрузья мне говорили, будто нет способа отсылать письма от имени своего сайта — мол, либо платить миллион денег Гуглю и богомерзкому Яндексу, либо стыд и грех со сраной поделкой ProtonMail. А оказалось, какой-нибудь smtp2go решает проблему быстро и бесплатно, рекомендую. Сам ws-протокол для данных придумывался довольно мучительно, хотя в итоге оказался прост: ws ходит бинарными посылками, где первые 4 байта — номер адресата, а дальше — шифрованный и подписанный payload. Получая такую посылку (если она не для номера 0 — сервер), сервер тупо пересылает ее адресату, подменяя первые 4 байта номером отправителя. А дальше пусть разбираются получатели, все равно у сервера нету их приватных ключей и заглянуть внутрь трафика он не может. В итоге получилась система, через которую могут обмениваться шифрованным трафиком любые пользователи за двумя NAT — люди, устройства, роботы. Ну и к этому пришлось накидать по-быстрому какое-то подобие фреймфорка, без особого дизайна.
Язык: Rust (ну JS для фреймфорка)
GitHub: https://github.com/lleokaganov/aguardia_server
Криптобиблиотеки
Поскольку самая капризная у нас ESP, долбить крипточасть начал на ней — использовал криптобиблиотеку monocypher. Ок. На сервере после небольших танцев с бубнами поднялась совместимая библиотека Dalek. А вот с фронтендом что-то сразу не вышло. В принципе в своих былых проектах я использовал noble типа как на демке. Но это уже отдельная какая-то вещь в себе и показалась не слишком совместимой с нынешними задачами, поэтому чтобы не париться, я собрал тот же Dalek в виде WASM для браузера. Получилось компактно, удобно, а главное — полностью совместимо с сервером и ESP.
Язык: Rust — WASM
GitHub: https://github.com/lleokaganov/wasm-25519
Мост wsuart
Ну и поигравшись вдоволь с получившейся системой, я задумался: как ее еще можно применить? И последние пару дней занялся побочной демкой — сделал утилитку, которая через вебсокеты и два NAT пробрасывает порт одной машины на другую. Запущенный клиент берет скажем /dev/ttyUSB0, а такой же софт на другой машине, запущенный в режиме slave, создает какой-нибудь /dev/pts/3, который можно точно так же читать-писать. Ну или можно с веб-страницы сервера к своему устройству подключиться и там читать-писать консоль. Вообще мне консоль сама по себе была не нужна. Я планировал из чистого интереса делать всякие звуковые webrtc-девайсики на микролинкусах (например, дистанционно звонить по симкарте), но им-то нужен какой-то канал сигналинга для установки соединения, а чего его искать, если у меня уже всё написано? Так что для начала появилась вот эта утилитка для проброса портов. Ну а в будущем я еще конечно на той же системе шифрованный мессенжер сделаю наподобии того, что делал на позапрошлой работе на DOT-блокчейне, который мессенджеру на фиг не нужен.
Язык: Rust
GitHub: https://github.com/lleokaganov/wsuart
В общем, вот такими был занят нынче скучными технологиями, копаться в которых было так интересно, что даже в дневник месяц не писал почти. 2025/12/20 - Признание
2025/12/18 - Паша Прохоров
Паша был Большим человеком во всех смыслах. Высокого роста, могучей массы, большой мастер на все руки, владелец огромного бизнеса — завода по производству электроники, а может даже сети заводов. Был он человеком большого практического ума, вел бизнес вдумчиво и профессионально, без эмоций. Бизнес построил сам, своим трудом — открыл когда-то с другом крошечную мастерскую по производству электрических жалюзи и вырастил ее до роботизированного завода Nero, производящего электросчетчики и бытовую электронику на всю Беларусь и зарубежье. Но во всем, что не касалось бизнеса, Паша был человеком огромной, просто гигантской души — невероятно азартный, веселый, творческий, увлекающийся всем на свете. Если пел песни — то до утра, если пил — то до донышка, если ел — то стол горой, если садился на мотоцикл — становился активнейшим байкером Минска, если влюблялся — то по уши, если шел в революцию — шел до конца, даже посидел месяц в тюрьме. Мы жили в палатках на фестивале, лазили по заброшкам, учили английский, курили траву, запускали дроны, катались на самокатах, чинили какое-то электронное старьё, красили волосы в разные цвета, — и ему было всё, абсолютно всё интересно, словно он не 50-летний директор огромной фирмы, выделивший выходной между совещаниями, поездками на выставку для подписания договоров, презентацией новой модели умного дома и споров с поставщиками комплектующих. Его эмоции и искренность поражали всех — казалось, он был огромным ребенком, которого радовало и увлекало всё на свете. И конечно он был прекрасным другом — добрым гостеприимным, отзывчивым, искренним. Невероятный шок, не могу поверить в это пока. Паша, спасибо тебе, что был. Яркой бесконечности.





















2025/12/16 - Мои поздравления всем 04.018
Российские бюрократы ввели «стандарт писателя» (если ссылка не открывается, я сохранил это чудо). С одной стороны, документ в своей области где-то там нужный. Говорю, как человек, безуспешно пытавшийся при открытии ИП найти себя в списках кодов профессий между эстрадными балалаечниками, дрессировщиками цирковых слоников и типографскими наборщиками. И не находил ничего более подходящего, чем «деятельность актеров, режиссеров, композиторов и скульпторов». Коей и занимался долгие годы. Хотя всем было посрать, плачу я свои скорбные налоги как творческая балерина или как водолаз по установке речных буёв. Тем более, что чиновные недураки за это время дважды успели поднять бабла по смене тех кодов в реестрах, а в моих бумагах код оставался как в 2009, что могло тоже вносить путаницу при оформлении договоров, если бы, напоминаю, всем не было так посрать. Так что нынешние изменения кодов не первые и наверняка не последние. Но документ конечно пиздец, какой смешной. Хотя бы потому, что стать писателем оказалось можно, имея «подуровень квалификации 6» — то есть на троечку, их 10. И еще почему-то обязательно «высшее образование», привет лицеисту Пушкину. Но раз уж такое случилось, спешу поздравить коллег по новому стандарту.
Уважаемые 2641! И все прочие, кто увлекается 04.018 с подуровнем 6! С 10.11.2025 мы зарегистрированы как 1721 за номером 633 как 84575 от 12.12.2025, что бы это ни значило! Так что с 1.09.2025 и вплоть до самого 1.09.2032 сможем вносить вклад в сокровищницу отечественной 04 и получать денежки за свою 90.03! Надеюсь, с введением профессионального стандарта у нас в стране станет больше стандартных писателей! А все нестандартные разбегутся! Успехов нам в нашем нелегком A/01.6, модном A/02.6, а если совсем нечем заняться, то грешным делом A/03.6! 2025/12/06 - Чиним очки

Они конечно есть. И тут еще не все на фотке уместились, некоторые в количестве нескольких пар еще едут с Алиэкспресса, купленные за сто рублей в минуты меланхолии и близорукости. Проблема в том, что они все приезжают с Алиэкспресса маленькие. Хотя на фотках там огромные. Итак, справа — всякие образцы и дешевка на запчасти. Слева — действующие очки с нужными стеклами разной степени поломанности и починенности. Самые верхние — привезенные когда-то Чуком из Китая, они давно сломались, я их неудачно клеил цианакрилатом и термоклеем (об этом ниже). Ниже маленькие, но любимые, те, что сломались две недели назад в области замка дужки, сегодня я их починил. Еще ниже — самые любимые и самые большие, они были сломаны уже давно, но я тоже их недавно починил ультрафиолетовым клеем. Единственный их минус — они чуть приплюснутые, это парадокс, что у оптиков нет нормального циркуля. Ну и четвертые очки справа сверху металлические — это старинная модель WM2 (вермахт), оригинальную ее тоже не найти, поэтому она собрана самостоятельно из современной дешевой, но подходящей круглой оправы и отдельно заказанных копеечных гибких дужек. WM2 стильная, но мне больше нравятся пластиковые очки: в металлических зимой прохладнее, а дужки вермахта делают очки никогда не падающими с лица, даже если долго вглядываться в бездну или в унитаз. Но такие дужки немного жмут уши, надо привыкать. Так что лучше пластик. Но он иногда ломается... Итак, правило первое: если у вас сломалась оправа и вам надо ее починить самому, хотя бы временно, никогда не используйте суперклей цианакрилат. И термоклей тоже не советую. Иначе будет вот так:
Использовать следует ультрафиолетовый клей для стекла. Его можно купить на Алиэкспрессе или спросить у сына, у него откуда-то есть. Клей аккуратно наносится по частям и отверждается — так, чтобы залился внутрь и желательно еще стекло тоже приклеил. Само стекло надо аккуратно заклеить со всех сторон скотчем или малярным скотчем на время операций. Отверждать клей жесткой бактерицидной лампой нельзя — он станет только хуже, лучше использовать декоративный ультрафиолет. Если все сделать правильно, оправа склеится почти идеально. Почти — потому что все-таки если приглядываться, будет видно, что она треснута в двух местах и ремонтировалась, а это так себе для имиджа. Но если очки любимые и ходить в них дома перед проектором или в местную Пятерочку, не на вручение Нобелевской премии, то норм. Правило второе: если сломались пластиковые замки у дужек, закажите себе за 100 рублей с Алиэкспресса такие фишки:
Они идеально и за минуту вплавляются паяльником в оправу очков или в дужку, ими можно починить всё, что сломалось. Причем так, что никто не заметит, словно так и было.
Ну а так конечно годная идея очки себе распечатать на 3D-принтере. Но к ней предстоит еще подготовиться, потом еще стекла заказать. Но зато я знаю одно: печатать замки дужек на 3D-принтере не следует, их надо вплавлять вот эти металлические, это быстро, технологично и стильно.
2025/12/04 - Погиб Еж
1 декабря погиб в автокатастрофе на автобане друг Ёж — Alexander Ray. Ежа в Германии знали наверно все — он был известным тусовщиком, играл в ЧГК, интересовался всем. Сам он был математиком из Питера, последние лет тридцать жил в Германии. Работал Ёж в основном с IT-проектами (у меня в коде движка до сих пор встречаются остатки «jog» — он мне когда-то написал swf для хранения кукис), но интересовался всем, сочинял даже какие-то «сказки недопеска». путешествовал всюду, ездил даже в Тибет — прошел круг вокруг горы Кайлаш, но поскольку год был каким-то юбилейным для буддизма, рассказывал, что круг считается за 8, «осталось пройти еще всего 100" — говорил Еж. Это был невероятно добрый и прекрасный человек. Не могу поверить, что его больше нет. Удачного перерождения, Ёж.










2025/11/29 - Разработана с духовными управлениями
Возникает много вопросов. Можно ли оформить такую карту неверному? Что сказал про это сам Тиньков? Какие карта даёт бонусы? Чем отличается от обычной в материальном плане, не в духовном? Какие ограничения по покупкам от духовных управлений? Можно ли такую же, только для буддистов, или там будет всегда пустота? 2025/11/25 - Вадим Тупчий

Так горела девятиэтажка в Киеве на Русановке сегодня в ночь на 25 ноября. Новостные ленты пишут, что в центр девятиэтажки ударил дрон российского производства «Герань», бывший иранский «Шахед», погибло 2 мирные жителя. Я не буду делать утверждений, целился ли дрон именно в эту девятиэтажку или летел в другое место и сбился с курса из-за работы ПВО, пытавшегося защитить родной город. Не удивлюсь даже, если найдутся люди, которые станут утверждать, будто девятиэтажка загорелась сама или от украинского снаряда, а Россия вообще ни при чем — человеческая психика очень пластична. Но всё это не имеет ровным счетом никакого значения. Я лишь расскажу вам, как выглядела девятиэтажка изнутри. Ведь я бывал в той выгоревшей квартире. Там последние 25 лет жил мой друг — актер, музыкант, бард, но больше всего он был известен как мастер-декоратор. Его звали Вадим Тупчий. Он погиб этой ночью, когда боевой дрон влетел к нему в окно.
Квартира Вадима была одновременно его мастерской. Здесь он работал. Вадим был знаменитейший мастер реквизита. К нему шли все — киношники, телевизионщики, театральные режиссеры, рекламщики, инсталляторы, клоуны, шоумены. Везде, где нужен был диковинный реквизит, куклы, макеты, маски — везде нужен был Вадим. А самой широкой публике он был известен по знаменитому телешоу «Шоу долгоносиков».
Но талант Вадима работал не только в сфере театра и развлечений. Например, именно он когда-то делал по заказу атомщиков точнейший макет Чернобыльской станции после взрыва — для обучения и тренировки ликвидаторов. Макет был раздвижной, и в нем не было места фантазии — каждый обломок доски, каждый обрывок трубы были документально воссозданы Вадимом по снимкам, чертежам и беседам с атомщиками, включая академика Чечерова, с которым он был хорошо знаком. Работа над макетом — это была колоссальная техническая работа.
Макет был раскладной — он распахивался, давая возможность изучать состояние бешено фонящей станции и снаружи, и изнутри. Долгие годы потом макет стоял в пресс-центре Чернобыльской станции как бесценный экспонат. Рассказывают, что после захвата станции российскими войсками и последующего их отхода макет куда-то «исчез». Но чаще Вадим работал именно с художественными декорациями. Отдельной его страстью было изготовление масок — масок в его квартире было огромное количество, и самых фантастических.
А в тех местах квартиры, где не было масок, встречались просто забавные инсталляции.
И конечно повсюду хранилось множество самых причудливых проектов на самых разных стадиях — те, что в работе прямо сейчас или уже готовые для передачи заказчику, а также недоделанные, заброшенные, отложенные на время или не пригодившиеся. Единственное, чего практически не было, — электрических, двигающихся экспонатов. И честно говоря, начиная разрабатывать свой фреймворк на ESP, я всерьез рассчитывал когда-нибудь оказаться чем-то полезным и Вадиму в плане управления макетами, мы говорили с ним про это, он интересовался, и я одно время даже планировал прислать ему в Киев действующие прототипы для его поделок... Но теперь уже этому случиться не дано.
Разглядывая фотки, можно подумать, будто в квартире царил беспорядок. Но если приглядеться, ровно наоборот. Все инструменты, все материалы, вся утварь были расположены в идеальном порядке, всё имело своё место, свой гвоздик и полочку — каждый инструмент всегда был там, где нужно, под рукой хозяина.
Еще у него дома было много гитар — он и играл сам, и чинил их, и просто любил.
А еще Вадим был не только талантливейший человек и непревзойденный мастер, но еще гостеприимный хозяин и прекрасный рассказчик. Вот здесь, на этой кухне мы пили чай, здесь он рассказывал про свою работу для Чернобыля, для театров и кино, рассказывал смешные истории.
А еще в его квартире было множество материалов. Пустые флаконы, крышечки, жестянки, тюбики от кетчупа — всё, что обычные люди выкидывают, Вадим мыл и аккуратно хранил на соответствующих полочках: всё ждало своего часа и шло в работу, как только очередная поделка требовала нужного куска пластика.
Ну и конечно в доме были краски, растворители, пульверизаторы. Самые разные, для самых разных задач. Это был целый покрасочный цех, целая красочная фабрика, потому что какой же реквизит без краски?
В общем, это была идеальная квартира для удара дрона, здесь все было готово для максимального пламени: картон, бумага, старинные гитары, фанерки, деревяшки, маски, краски, папье-маше, растворители и пластик. Хотя вряд ли она горела сильно ярче, чем соседние. Вы довольны? Людоеды, развязавшие войну в XXI веке, которая в итоге убила в мирной девятиэтажке пожилого мастера кукол и театральных масок? Ссылки: https://www.instagram.com/reel/DRd1NIsiE73/ https://lleo.me/dnevnik/2016/04/26 https://admin.newsru.site/rest/25nov2025/tupchiy_ar.html https://www.facebook.com/tymur.bobrovskyy/posts/pfbid0fr2AWeNViGmZj5kGbsPidUjxwCmhJW95KnQxLdVj7Qu7f1hhNvGUgu8bmKdhzdKbl Вадим, вечная тебе память. Мы так мало общались в последние годы, но мне так хотелось когда-нибудь снова побывать в твоей волшебной квартире, попить с тобой чаю и поболтать о чем угодно. Ты был небывалый, прекрасный человек, я никогда тебя не забуду. Не могу поверить, что весь этот ужас происходит на самом деле. Прости меня, если сможешь.
2025/11/16 - Продолжаем кулинарную страничку
Ну ещё ежовиков немножко было, сейчас они почти не червивые. Пожарили в сметане. Не бойтесь ходить за грибами в середине ноября, никого не слушайте, грибы есть для всех, кто внимателен и настойчив! 2025/11/15 - На подсолнечном Маслоу
2025/11/07 - 7 ноября должно быть что-то революционное
Продолжайте в комментах! 

Я ведь тоже член Союза писателей России.