Sam Shaplygin. IT is live…
40 subscribers
127 photos
13 videos
52 links
Неосознанно эвакуировался в 22м. Пишу, что из этого вышло. Как обустроиться в новых условиях и не растерять себя: личный опыт, бытовые открытия, интересные места, мемчики и нотка рабочих моментов.
Download Telegram
Портирование клиента для YTsaurus на Rust 🦀

Во время бесконечного лежания в кровати с температурой у меня появилось острое желание поделать что-нибудь на Rust. Желательно даже с пользой для себя и какого-нибудь дела.

Вспомнил про YTsaurus. Это очень быстрая open-source MapReduce-система, написанная на C++, с которой мне периодически приходится работать. Её можно развернуть на своём железе или использовать в облаке.

Но есть нюанс. Ровно как в том анекдоте 😅

Для Rust там практически нет экосистемы. Из-за этого нам в команде для одной конкретной задачи пришлось тащить плюсы. Решение теперь нужно поддерживать и развивать, а получать магистерскую степень по C++ ради этого я пока не готов. Не говоря уже о других особенностях языка и его экосистемы.

Решено! Надо пробовать Rust.

А раз сейчас эпоха агентов и вот-вот программисты станут не нужны, решил заодно проверить, насколько далеко с их помощью вообще можно зайти 😅

Задача оказалась интересной. YTsaurus использует собственные протоколы и форматы данных, а MapReduce-джобы общаются через обычные файловые дескрипторы.

Мне очень повезло, что в open source уже нашлась почти готовая реализация YSON — формата данных YT. Оставалось её проанализировать, поискать баги, пропатчить и переиспользовать. Первую итерацию этой работы практически целиком скормил агентам.

Со стороны YT тоже всё оказалось довольно удобно: есть локальный кластер, который поднимается в Docker. Отличная возможность гонять тесты хотя бы на чём-то максимально приближенном к реальности.

Конечно, первый запуск на настоящем боевом кластере всё равно нашёл проблемы, которые благополучно пропустили до этого. Фаззинг, бенчи и e2e-тесты тоже помогли выловить ещё пачку интересных мест.

В итоге недельной квоты мне хватило буквально впритык, чтобы портировать воркеры, часть HTTP-клиента и бинарный протокол.

Считаю, эксперимент удался. Теперь библиотеку с джобами уже можно пробовать тащить в прод.

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

Заодно попробовал в работе и Claude, и Codex. По моему опыту, Codex оказался заметно менее самостоятельным: приходилось гораздо подробнее объяснять, что именно нужно сделать и какой результат я от него ожидаю. С Claude в этом плане взаимодействовать было проще.

А ещё неожиданно новая реализация смогла выиграть у существующей на C++ за счёт другого подхода к работе с памятью. Этого я вообще не планировал, но получилось приятно.

Что дальше пока не придумал.

Тактика простая: если на библиотеку будет спрос — буду развивать. Если нет, пусть пока живёт в текущем состоянии.

Какой здесь вывод? Да никакого.

Мне было прикольно, я получил свою порцию дофаминчика, попробовал новую штуку и заодно получил рабочий результат.

А этим текстом официально подвёл итог недельной работы в отпуске 😅🫣

Исходники лежат тут

#2026_год #petproject #rust
🔥6⚡2❤1
Товарищи, товарищи. Не могу больше молчать!!

У меня НАХОЙ сгорел пердак.

Я просто хочу КУПИТЬ телефон. Новый телефон. Не самый последний, не самый топовый. Просто, блять, купить.

Но во всей Сербии просто нет того, чего я хочу.

Я буквально прихожу с деньгами и говорю: «Вот деньги. Дайте телефон». Но нет. Есть только последние айфоны, которые, судя по всему, царапаются об воздух.

Мде…

Вот так и живём.

#2026_год #жопагорит #такиживем #хиханьки_да_хаханьки
😁7
Благодаря подготовке Даши в этом году мы наконец-то выбрались посмотреть на очень красивое явление — метеорный поток Персеиды.

Я нарандомил по карте место с минимальной засветкой, мы сели в машину и уехали чуть дальше Златибора. Когда приехали, оказалось, что мы там далеко не одни. И это почему-то особенно порадовало: куча совершенно незнакомых людей случайно собралась ночью в одной точке, чтобы просто смотреть на звёзды.

Давно я не видел такого звёздного неба. Где-то полчаса мы, как солевые жители, стояли, задрав головы, и пытались поймать взглядом падающие звёзды. На память осталось немного фоточек

Для тех кто хочет посмотреть на звёзды, наверное, вы уже все знаете и так без меня. Мой базовый набором:
• приложение Stellarium помогает ориентации по звездному небу
• lightpollutionmap.info карты, где можно узнать уровень с засвета неба от ночного света городов
• стульчик самая важная часть экипировки. Иначе через полчаса шея скажет вам спасибо, но совсем не в хорошем смысле

#2026_год #поток_персеиды
❤‍🔥5🤩3👌1
Небольшая история про 200 евро, риелторов и договор аренды

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

А потом пришёл договор. В нём оказался пункт, с которым мы принципиально не согласились. Попытались его изменить, договориться с хозяином не получилось, поэтому договор мы в итоге не подписали.

Попросили вернуть 200 евро.

Ответ был примерно такой: вы отказались от квартиры, поэтому задаток остаётся хозяину. Он ведь для этого и нужен компенсировать потерянное время и то, что другим арендаторам уже отказали. Тут пришлось немного разобраться, чем всё-таки отличается:

«мы отказались от квартиры» от «мы не согласились заключать договор на предложенных условиях».

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

Но через несколько дней все деньги вернулись на счёт. Наверное, главный вывод для меня здесь простой: наличие риелтора не означает, что можно перестать читать договор и контролировать, за что именно ты отдаёшь деньги. Даже если ты как раз и нанял риелтора, чтобы самому всем этим не заниматься.

#2026_год #поискхаты #такиживем #истории
2😱5❤2👍2🔥2
День знаний прошёл, третье сентября отпето, календарь перевёрнут. Ученики разошлись по школам и универам, взрослые миллениалы могут выдохнуть. Ещё пара недель, море очистится, и самое время брать отпуск на пляж. Всех с новым учебным годом 😅🌚

это мне подкинули 😂

#2026_год #хиханьки_да_хаханьки
😁6
Если ваша вечеринка не похожа на это, даже не пытайтесь меня приглашать


#2026_год #хиханьки_да_хаханьки #балканы
😁6❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Тот самый долгожданный пасош. Ура!

Идешь такой за хлебом, опа, передумал идти. Дайка я получу паспорт 😂😂 Двери прям самостояльно начали открываться, хотя они не автоматческие. Хе-хе. Слоп слоп достаточно качественный вышел 😅 Эх, а зубы получились прям идеальные

Один из друзей рассказал, что на Яндекс Маркете есть промокоды для подписки gemini за 250 рублей. Рекомендую, по крайней мере попробовать

ПЫ Надеюсь, бан я таки не получу за абуз региональных цен

#2026_год #хиханьки_да_хаханьки #балканы
😁6🔥2❤1
Для изучения сербского я слушаю небольшие видео, чтобы как-то ползти в сторону языка. Видео сделаны с помощью ИИшки, и я решил попробовать себя в этом.

Одной ночью у меня возникла идея: а почему бы не попробовать сделать то же самое, но с другим языком? Спасибо коллеге, который рассказал про свой интерес к арабскому языку. Посмотрел на число носителей и на то, что интерес к языку растёт.

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

Пока всё монтировал и перегонял, уже успел наслушаться пары часов арабского 🙂

Это первый пилотный выпуск мини-сериала. Приятного просмотра ❤️

▶️ Первый выпуск Arabic for Life

ЗЫ лайк, подписка, репост. багрепорты в комментариях к видео привествуются :)

#2026_год #petproject #youtube
🔥4❤3
Какое у вас любимое кардио? 😅

ЗЫ лучше без звука смотреть, а то минус уши

#2026_год #кружочки #хиханьки_да_хаханьки
❤3
Forwarded from Sam Shaplygin
This media is not supported in your browser
VIEW IN TELEGRAM
😁5
Продолжение истории про YTsaurus на Rust

Недавно опубликовал внутри компании анонс с результатами: что получилось, как строил работу с агентами, где они вытянули, а где пришлось руками. На всю компанию. Было страшно. Под потными ладошками кнопка «отправить» что-то не нажималась с первого раза. Но оно само случилось.

Реакция оказалась интересной. Несколько человек высказались прямо. Причём не про результат, к нему претензий не было. А про то, что львиную долю работы сделал ИИ.

И это было ценнее любого «круто, молодец». Когда человек не пролистывает, а останавливается и говорит, что ему не нравится и почему, значит, ему не всё равно.

Итог: до продакшена пока не дошло. Заинтересовать команду использовать это на реальных задачах не получилось. Но это только пока. Буду держать в курсе.

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

Пробовать оказалось проще, чем решиться. В следующий раз ладошки будут посуше.

#2026_год #petproject #rust
❤6🔥5
На неделе сходил на Go & Rust meetup в Белграде.

Давно хотел посмотреть, что происходит с локальным Go/Rust-комьюнити, а в итоге еще и занял второе место в квизе по Go 🥈

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

В общем, вечер прошел не зря. Надо чаще выбираться на такие штуки.

#meetup #2026_год
❤6👍1🔥1
Немного мемов про текущую действительность и небольшие трудности путешествий проживая в центре Европы

#2026_год #мемы #хиханьки_да_хаханьки
😁4
Давайте расскажу немного по обычную жизнь. Начнем с счета за электричество. Это лето теплее чем обычно. Кондиционер не выключался ни днем, ни ночью. По графикам все видно. Пришлось заплатить за холодный возду. Вышло порядка 65 евро.

Это конечно не Кипр, но тоже больно

#взрослая_жизнь #2026_год
❤3🔥1😱1
В Сербии горячая пора подготовки к парламентским выборам. Очень горячая пора. Видно на сколько напряжение в обществе после студенческих протестов. Буквально пару дней назад повесили баннер за агитацию студенческого списка и сегодня я заметил обновление на баннере. Кажется, без перевода можно понять о чем речь :)

#2026_год #выборы #сербия
❤2🔥1
Зашел покушать взять, а там фильм показывают на проекторе

#2026_год #вкуснопокушать
❤4💅1
Forwarded from Sam Shaplygin
This media is not supported in your browser
VIEW IN TELEGRAM