TGViewer
Channel Public Channel
Ваня инженер 🇸🇪

Ваня инженер 🇸🇪

@vanya_engineer

Заметки про IT, развитие и жизнь из Швеции.
Дзен канала: без нравоучений, только моё мнение и опыт.
За оскорбления в комментариях предупреждение, затем бан.

Написать мне t.me/skatromb
Subscribers
693
Photos
134
Videos
29
Links
120
Recent Posts 16 shown
Post #429 367
Признаю, без Клода я бы не осмелился на такое. Обычно, когда залетаешь с ноги в подобные проекты, уходит тонна времени на то, чтобы понять, как оно вообще устроено. Всякий раз это заканчивалось тем, что я зарывался в детали, так и не поняв основной картины, и терпение кончалось быстрее, чем я успевал написать хоть строчку кода.

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

Rust clippy, кстати, позитивное исключение в этом смысле: у него замечательная и понятная документация для контрибьюторов и прекрасный набор тулзов-команд для создания новых линт-правил. Достаточно набрать в командной строке команду, как все нужные файлы создаются сами, а тебе остаётся лишь написать логику самой проверки. So far, это был самый дружелюбный с точки зрения освоения проект, в который я попытался законтрибьютить — и поэтому и смог.

Если у вас тоже возникло желание законтрибьютить в опенсорс, но не знаете, с чего начать, зайдите на goodfirstissue.dev и посмотрите список проектов, которые ищут контрибьюторов.
goodfirstissue.dev Rust | Good First Issue Curated list of issues in Rust from popular open-source projects that you can easily fix.
  • 🔥 19
  • 👍 4
  • ❤ 1
Post #427 359
Ваня опенсорсер

На прошлой неделе у меня случился первый мерж в серьёзный проект: rust clippy!

Те, кто читают меня давно, знают, как я люблю линтеры, а в расте clippy это единственный православный и всеобъемлющий линтер, так что для меня было честью приобщиться к этому делу. Кроме того, всегда хотелось разобраться, как оно устроено внутри, как парсится синтаксис языка, подсвечиваются ошибки, выдаётся текст и подсказки для авто-применения. Не скажу, что разобрался досконально, но общая картина в голове появилась.
  • 🔥 13
  • 🎉 4
Post #426 584
Не игнорировать линты… а добавлять!

Когда я пишу код на некоторых фреймворках под линтерами, периодически приходится вставлять всякие
# lint: ignore.
То функция получилась с десятью параметрами, то возвращаемый тип настолько динамический, что LSP не способна понять, что там будет в рантайме питона.

Сегодня я писал на расте и впервые использовал обратную технику: линт по дефолту выключен, но вот в конкретном случае я очень хочу, чтобы проверка здесь была! Пишу декодер разных типов, и мне очень надо, чтобы все ветки match-expression были прописаны явно, безо всяких default branch:
_ => {...}.

Оказывается, в clippy (растовский линтер) есть на это правило, но по дефолту оно выключено. Ставим его на конкретную строчку или на весь файл
#[deny(clippy::wildcard_enum_match_arm)]
и подсказываем будущему Клоду себе, что это место в коде требует вдумчивого решения, а не безрассудного дефолта.
  • 👍 15
Post #425 747
Мы поехали на наш избирательный участок. Так же, как и в России, голосование проводится в больницах, школах, в нашем случае — в гимнастическом зале при школе. На улице выстроилась очередь на 20 человек, которую регулировали люди с ленточками через плечо с надписью «Спроси меня» (Fråga mig). Минут через 10 мы были внутри и с волнением пошли к отделению, где шло голосование нашего округа.

Вначале тебе выдают три конверта (по одному для каждого уровня голосования), но поскольку мы не граждане и сразу об этом сказали, мы вернули один из них. Затем идёшь к палаточке за ширмой, где аккуратно разложены по цветам (по уровню голосования: белый — коммуна, синий — регион и жёлтый — парламент) и подписанные логотипами партий бумажки-бюллетени. Это отличается от России, где выдаётся один бюллетень со всеми партями, где ты ставишь галку.

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

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

Более того, поскольку премьер-министра выбирают только поле образования правящей коалиции, интрига сохраняется и после выборов.
  • ❤ 33
  • 🤣 4
  • 😁 1
Post #424 593
День выборов

Сегодня в Швеции единый и последний день, когда можно проголосовать. Единый он, потому что голосуют одновременно на трёх уровнях власти: в парламент, регион и коммуну (читай городской округ). Последний он, потому что досрочное голосование началось ещё 26 августа, — 13 же сентября это заключительный день.
  • ❤ 3
Post #423 591
У нашего города прекрасный мерч
  • 😁 30
  • 🔥 16
  • ❤‍🔥 3
Post #422 861
Панк для души

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

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

Это такой «альбом-рана», рана, которая болит уже пятый год. Альбом, который не делает легче, а наоборот, разворачивает лицом к боли, которую обычно избегаешь. Он не оставляет с болью наедине, а сочувствует и по-дружески говорит: «Да, чувак, это, пиздец. Но ты не один, и я тебя понимаю».

Мои любимые:

Какая-то другая песня — песня-боль, которая лучше меня рассказывает, о чём этот альбом, и очень созвучна тому, что чувствую я сам. «Сорри, почти всё здесь будет на одну тему».
Спотик / Я.Музыка

Стая — песня-сочувствие, послание отчаявшемуся ребёнку, на которого могут в любой момент натравить силу, которая запросто его сломает. «Ты проходишь через страшное дерьмо, словно нужно выжить в ёбнутом кино».
Спотик / Я.Музыка

Мутные типки — песня-ужас, которая неотступно обволакивает тьмой секунду за секундой, как взгляд Энтони Хопкинса в «Молчании ягнят». «Ты перепутал всё, сынок. Давай вообразим, что дно — на самом деле потолок. И мы с тобой пробьём его!»
Спотик / Я.Музыка

Куда это годится — песня-недоумение, послание миру, знающее, что его пропустят мимо ушей, но несмотря на это звучащее — скорее, чтобы услышали свои, нежели в надежде кого-то убедить. «У нас вал проблем, и все они важнее терок, кто кого там трахнул в ваших тринадцатых веках!».
Спотик / Я.Музыка

Строчка про надувной банан — топ, я ржал в голос)

Помимо этого — песня-тепло, чистая, хрупкая и красивая. Не стану цитировать строчки из песни, потому что без музыки они рассыпаются, как тонкий хрусталь.
Спотик / Я.Музыка

Если вам понравилось и захотелось ещё, послушайте:
• Контроль (Спотик / Я.Музыка)
• Поговори со мной (Спотик / Я.Музыка)
• Нелепость (Спотик / Я.Музыка)
• Последняя вечеринка (Спотик / Я.Музыка)
band.link Тени Свободы - Особый путь | BandLink Listen, download or stream Особый путь now!
  • ❤ 10
  • 👏 7
  • 👍 1
Post #421 894
Чем грузить?

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

Живём мы в 2026 году, LLM-ки все переписывают на раст, клод находит мифического масштаба цепочки уязвимостей в софте, а дата инженеры тем временем что? Продолжают грузить таблички в Data WareHouse раз в день шелл скриптами.

И когда у меня встал вопрос, чем же грузить таблички в DWH у нас в Hemnet, я призадумался:

• Spark — хорош, но админить его и искать, какие там джарники и куда ему надо подсунуть, чтобы заработал коннектор, — бесит
• dlt — вроде как новая хипстерская штука, обещающая превосходный DX, на поверку оказалась дырявым корытом, которое пока не залатаешь, не поплывёт
• Fivetran — ничего сказать не могу, не пробовал, но как минимум это менеджед сервис без опенсорсной альтернативы
• Airbyte — деплоить целую кучу сервисов просто чтобы гонять батч джобы, это, конечно, выдающийся пример оверинжиниринга (а потом дебажить, когда один из них отвалился, ага)
• Pandas/Polars — да выдаст господь пару терабайт оперативки людям, которые пользуют Pandas для перегрузки данных. Впрочем, API у него удобный, этого не отнимешь. Polars в плане памяти получше, но это все равно не ETL тул.

А чем пользуетесь вы для загрузки, и удобно ли вам? Может, мои представления устарели, и появилось новое, стало лучше старое?
  • ❤ 10
  • 🔥 1
Post #417 1.48K
Сегодня у нас было +24 градуса, солнце, и первый день работы байк-парка в этом сезоне. Усталый, довольный, провожу ревизию ссадин.

Бонусная игра: угадай, где я на общем фото. Победителю будет ничего
  • 🔥 24
  • ❤ 12
Post #416 2.12K
Вчера AWS уронили нам БД на 10 минут, и наш инженер пошел поболтать с их LLM-кой. В процессе беседы выяснилось, что в их Serverless Postgresql есть некорректно выставленный параметр, на что наш инженер спросил, «а какого хера?». Вот что ответила амазоновская LLM, а после посоветовала подумать о миграции на Azure или GCP.

AWS in a nutshell
  • 😁 38
  • 🤣 15
Post #415 1.71K
Гражданство для ребёнка с ПМЖ за 3-4 года

Несколько дней назад мы совершенно случайно узнали, что для детей понаехов, проживших в Швеции 3 года и имеющих ПМЖ, доступна услуга «гражданство через уведомление». Заходите на сайт миграционки, заполняете анкету на получение гражданства ребёнком, подтверждаете через BankID обеими родителями/опекунами и ждёте решения. Решение сейчас занимает около месяца. И да, никаких звездочек, мелких шрифтов или прочего — реально всё так просто. Даже карточка ПМЖ не требуется, если вы не успели её получить — достаточно только решения миграционки по ПМЖ. Правда, без нюансов не обошлось.

Во-первых, ПМЖ, обычно случается всё-таки после 4 лет. В обычной схеме с переездом в Швецию по рабочему ВНЖ, вы сначала получаете первый ВНЖ на 2 года, затем продлеваете ещё на 2, и только потом подаётесь на ПМЖ.

Во-вторых, и это значительно более серьёзная проблема, эту лавочку планируют прикрыть новым пакетом законов об ужесточении миграционной политики (тот самый, где увеличивают срок проживания в Швеции до подачи на гражданство для понаехов-работников с 5 до 8 лет). С вероятностью в 99% эта возможность исчезнет с 6 июня 2026 года, когда пакет будет введён в силу. Что будет с заявками, поданными до 6 июня, но по которым решение не будет принято до этого срока, я не знаю.

В-третьих, если ребёнку 12 и более лет, он должен выразить своё согласие на приобретение шведского гражданства. Можно ли это сделать электронно, или ребёнок должен явиться в офис миграционки, я не знаю.
www.migrationsverket.se Ansök om svenskt medborgarskap för ditt barn – Migrationsverket Du vill ansöka om medborgarskap för ditt barn under 18 år.
  • 🔥 7
  • ❤ 4
  • 👌 1
Post #414 1.31K
  • 🎉 65
  • 🔥 20
  • 👏 11
Post #411 1.3K
К предыдущему посту: оказывается, Гошка может больше, если вместо "encoding/json" из стандартной библиотеки задействовать кастомный github.com/goccy/go-json, который является дроп-ин заменой. Потестил с ним, throughput вырос на 80% (!): Гошка смогла прожевать 335к ивентов в секунду. Всё ещё на 45% медленнее, чем блейзин фаст, но уже не "более, чем в два раза".

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

Спасибо @porfirion за то, что поделился этим знанием 🙌
  • 🔥 16
  • 🤝 2
Post #410 1.28K
Я вам почитать принёс

Работал я свою дата инженерную работу в Хемнете, и тут завертелось — было решено нашими силами написать на Го проксю для стриминга ивентов (WTF?!). Учитывая, что никто в команде Го не знал и проксей не писал, это было не просто смело. Однако ж, agentic programming нам в помощь, и спустя месяцы мы разрелизились.

По ходу работы над этим проектом я не раз приунывал, и чтобы развеять тоску, переписал с помощью того же Клода проксю на блейзин фаст языке — заодно поднабраться опыта написания продашкн проектов на Расте. Затем родилась идея написать мои впечатления в статье и выложить в блог на работе. Вот вам версия на русском в телеграфе, а вот скучный оригинал без мемов по подписке для копроративного бложика
Telegraph Rust vs. Go backends Какого чёрта я пишу про Go и Rust, учитывая, что никакого продакшн опыта с ними у меня нет? Дата инженер, всю жизнь писавший на SQL и Python рассказывает про то, как весело писать бэкенды на Гошечке? Всё верно, мы тут на работе немножко поехали кукухой и…
  • 🔥 33
  • ⚡ 11
  • 😁 4
  • 👍 2
  • ❤ 1
  • 💋 1
Post #409 2.38K
The State of Python 2025

Те самые ребята из JetBrains, что по моему мнению делают лучшие в мире платные IDE, периодически выпускают интересные отчёты по прикладным областям разработки, языкам программирования и DevEx. Я люблю их, потому что они совмещают хороший сторителлинг с аналитикой, построенной на приличной выборке данных.

Помимо рассказа о трендах в вебе, DS, и использовании agentic LLM, в статье есть колонка с Actionable Ideas. Она приятно погладила мой чсв, так как я смог закрасить зелёненьким 5/6 пунктов: я понемногу осваиваю uv (а на горизонте ещё и ty!), юзаю последние версии питона, вовсю балуюсь agentic LLM, хорошо знаю Rust, стараюсь писать понятный и простой код.

Единственный незакрытый пункт — освоиться с Python 3.14, в котором отпустят Global Interpreter Lock, что потенциально может привести к race condition. Впрочем, в статье накинута пара ссылок, чего почитать по теме.
  • 🔥 14
  • 👍 4
  • 🏆 2
  • ❤ 1
  • 😁 1
Older posts →

About this channel

How can I read @vanya_engineer without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Ваня инженер 🇸🇪: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Ваня инженер 🇸🇪 have?
Ваня инженер 🇸🇪 (@vanya_engineer) has 693 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Ваня инженер 🇸🇪 know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →