Senior Software Vlogger – Telegram
Senior Software Vlogger
19.5K subscribers
494 photos
29 videos
2 files
986 links
Программирование и IT

Все ссылки и реклама https://news.1rj.ru/str/seniorsoftwarevlogger/3

Для РКН: 5035224480
Download Telegram
Меня спросили про образование

Я регулярно прохожу собеседования, чтобы держать себя в форме. Вот и сейчас: попалась интересная вакансия в довольно известной компании. Первый этап собеседования предугадать я никак не мог.

Заранее скажу, что пишу не с целью посмеяться. Как раз наоборот. Я думаю, что они нашли четкий критерий фильтровать людей, чья культура не совпадает с нужной. Человек, который отправил мне задание, работает в компании 12 лет. Что может указывать на то, что способ работает. Они молодцы, просто я удивлен подходом.

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

Первая глава про образование
* Опишите свои успехи в высшей математике, физике и компьютерных науках? Какие из них вам нравились больше всего, какие вы бы отнесли к своим сильным сторонам? Какой у вас был средний бал по этим предметам?
* Какие лидерские роли вы исполняли в университете?
* Каким вы были студентом? Какие у вас были интересы и хобби за пределами необходимых предметов? Как вы думаете, каким вас запомнили ваши одногрупники?
* Какую специальность в университете вы выбрали и почему?
* Какое ваше достижение в университете вы считаете выдающимся?

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

Дают 2 недели.

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

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

Семья 🫶 | YouTube | Twitter
🌚59👍50🔥14🤣9👎5
Forwarded from Nikolas Luchanos
ладно, хуй с вами. изолью душу посильно.

преподшу в вузе по матану я был готов задушить собственными руками, потому что она 12 раз меня отправляла на пересдачу рубежного контроля по неопределенным интегралам - мне не хватало до зачета иногда 1-2 баллов. а зачет у неё был 80 из 100 возможных.

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

я считаю, что моё главное достижение в том, что я не дал этим людям в ебасосину в своё время, благодаря чему не сел в тюрьму и не стал петухом, храня себя для вашей компании. если вам недостаточно этого, чтобы позвать меня на собеседование, то я не знаю, какие ещё успехи вам нужны от человека.
🤣255👍66🔥26🤡20💊1
https://news.1rj.ru/str/balabol_it в своем канале и в чатике у Димы 🤗

Подписывайтесь, если питончик интересен. Рекомендую!
🤣20👍5👎2🔥1🌚1
Мы с вами уже собирали интересные айти телеграм каналы. Я потом даже табличку в ноушене сделал.

Теперь ноушен не нужен, телега научилась обмениваться подборками каналов. Кликаете на ссылку, сохраняете папку, после чего она становится вашей — можно оставить только интересные для себя каналы.

👉 Вот папка с ITYouTubers: https://news.1rj.ru/str/addlist/3C6r62d43SZmYWJi по этой папке работает агрегатор годноты @ityoutubers_com

Разница в том, что агрегатор выбирает только текстовые посты, а ютуберы еще и кружочки пишут, опросы и вообще милахи. Посмотрите папочку, я сам всех читаю.
🔥21👍6🤡1
Вчера прогал на пару с ботами

На днях агрегатор @ityoutubers_com пробил 1000 подписчиков! Чтобы отметить эту цифру я решил выкатить новую фичу: дайджест видео.

Можно было бы просто вываливать список, или даже пробовать подтянуть расшифровки, но видео — это визуал. Поэтому я решил сделать слайдшоу из обложек, а ссылки на сами видео — в описание.

В прошлом я уже имел дело с обработкой и перекодировкой видео, поэтому я знал, что путь мой лежит через ffmpeg — это мощная библиотека по работе с медиа. Умеет, наверно, всё, но за это приходится платить сложностью АПИ.

Раньше бы я полез в документацию. В этот раз начал с запроса к чату:

Please write code to create a video slideshow from a set of images with fade transition between the images and a number overlay over each image. Please use nodejs and ffmpeg.

Бот выдал код, но код не работал. Все компоненты были на месте, но в каждом из них была небольшая ошибка. Я пробовал кормить ошибки обратно чату, он даже что-то исправлял. Но никак не получалось исправить саму композицию картинок в видео.

Тогда я изолировал проблему и решил сперва разобраться с композицией:

there’s an issue with this ffmpeg complex noscript, could you please help me fixing it

[0:v]scale=w=1280:h=720:force_original_aspect…

Э
то тоже не дало результатов, я никак не мог подобрать запрос, чтобы чат выдал нужное. Поэтому я полез в документацию 🤗 Из документации я понял, что чат добавил лишних веток в ffmpeg скрипт. Я исправил скрипт, потом исправил код в программе, которая его генерирует и, к концу часа программирования, у меня была готова рабочая версия.

Я потратил еще немного времени, чтобы допилить визуал и пошел спать:

Thank you, I’ll go sleep. We’ve done a lot of good work today!

ChatGPT: You’re welcome! I’m glad I could help. If you have any more questions or need assistance in the future, feel free to ask. Have a good night and sleep well!

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

Результат работы вы сегодня увидите в агрегаторе @ityoutubers_com 🌚

PS. Спасибо всем, кто посмотрел и подписался на другие каналы в папке. У нас в чате ютуберов вчера был маленький праздник. Кто-то добил 1К, кто-то вырос с 200 до 600. Все очень ценят новую аудиторию и немного переживают, что теперь надо писать интересные посты 🥹

Семья 🫶 | YouTube | Twitter
🔥52👍20🤡1
Одних программистов заменим на AI, других — обратно в офис загоним :)

CEO Open AI говорит, что удаленка была неудачным экспериментом и эксперимент закончился. Особенно для стартапов.

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

Но остальных то нас оставьте в покое, дайте уже до пенсии на удаленке досидеть ёмоё. Чё за качели то начались? Снова всех в стойло загнать хотят.

https://www.msn.com/en-us/money/companies/openai-ceo-sam-altman-says-remote-work-was-a-big-mistake-for-tech/ar-AA1aUoYz

Семья 🫶 | YouTube | Twitter
👍94🤡32🤣13💊5🔥3🌚3
Решил я свою бухгалтерию автоматизировать ибо кажый раз выбирать счета из почты надоело. Первым делом полез в чят, пока он писал мне код по запросу:

Let’s write a noscript for Gmail using nodejs. The noscript will monitor inbox and trigger action based on specified rules. The rules system should allow matching emails by sender and subject.

Я вспомнил, что были же альтернативы IFTTT для самохостинга. Очевидно, что отдавать все апи ключи ото всех своих сервисов какому-то сервису — неразумно, поэтому сам IFTTT и ему подобные идут лесом.

Погуглил (надо уже придумать глагол для GPT, может пожепетил или пожопил?) гугл выдал статью с 11 альтернативами. Первой альтернативой шел старый унылый Huginn, но хуже дыры в безопасности может быть только херовый дизайн. Скроллим дальше и находим n8n!

Ай, красота! Они его как сервис гоняют, но для себя одного можно поднять одной командой npx и вместо базы по-умолчанию SQLite. То что нужно.

Потом до часа ночи пробовал подключить service account для google api, плюнул и за 5 минут настроил их же OAuth2.0.

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

НЕ РАБОТАЕТ

Оказалось, что источники для одного и того же Gmail выдают разный json 🤡 причем разница в регистре имен полей! Один источник выдает все строчными, второй делает первую букву заглавной. Очевидно, что это 2 разных жсона! Боже, ну насколько сложным может быть этот ваш софтваре?

В комплекте наверняка есть возможность трансформации. После работы посмотрю. Но вот такие моменыт — это причина почему живые люди не могут научиться программировать. Просто не выдерживают фрустрации на ровном месте. Только такие отбитые сухари как мы с вами и пробиваются.

PS. Чят завис так и недописав код.

https://n8n.io/

#nocode

Семья 🫶 | YouTube | Twitter
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥81👍28🌚9💊4🤡1
Ну что, босота. Первый но-коде с целыми 3-мя блоками коде 🤡
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣103🤡31👍14💊5🔥4
Forwarded from Team Lead Talks Подкаст (Дима Рожков)
This media is not supported in your browser
VIEW IN TELEGRAM
18. Чего боятся и как факапят менеджеры

Плох менеджер, который не факапил. Еще хуже тот, который не боится облажаться. В этом выпуске мы собрали и проработали возможные страхи и провалы менеджеров.

📹 https://youtu.be/GeK8fO8DsU4
🎵 https://podcasters.spotify.com/pod/show/teamleadtalks/episodes/18-e24079h
🅱️ https://boosty.to/teamleadtalks/posts/ae45912e-9bf2-41eb-962a-964a88e61a7f

@teamleadtalks_com
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥8
Как в моем UI приложении память гигабайтами текла

Лет 5 назад дело было, можно и рассказать, тем более, что весь код в опенсорсе. В те годы я работал техлидом фронтенда в компании Mesosphere. Пилил DC/OS UI. В сердце DC/OS стоял Mesos — система управления ресурсами кластера машин. Это конкурент кубернетиса, который над кубернетисом смеялся, а потом кубернетис его убил.

Все ресурсы кластера нам нужно было показывать на UI и долгое время нам хватало поллинга. Кажется, раз в 10 секунд мы дергали API, Mesos останавливал мир чтобы собрать JSON внутреннего состояния и отправлял его нам. Очевидно, что останавливать мир кластера, чтобы отрисовать UI как-то неоптимально. К слову, на больших кластерах UI просто не работал. Mesos не успевал собрать состояние до следующего вызова. Даже если увеличить время запроса. К счастью, кроме синхронного API, у Мезоса был еще поток.

Этот поток был реализован по протоколу RecordIO. По сути это не поток, а вечное соединение. Вы начинаете скачивать файл, первой пачкой прилетает текущее состояние, а потом файл не кончается, Мезос продолжает дописывать сообщения, которые нужно парсить.

У такого подхода есть свои плюсы. Это обычное соединение и оно проходит через любой злой прокси, где вебсокеты не пройдут. Поэтому я быстро разобрался с документацией протокола и написал модуль @dcos/recordio. Все отлично работало, но в длительных тестах я заметил, что у браузера дичайше течет память.

Сперва я думал, что память текла, потому что браузер не очищал буфер. Да, и почему он должен был его очищать? Файл (поток) мы же еще не скачали. Техлид команды Мезос долго не мог понять, почему я просто не могу отбросить то, что уже зачитал. Монстр Си++ не знал, что у браузера нет сырых сокетов. Так бывает, это не его среда. Почему на самом деле текла память мы узнаем дальше. Договорились, что запланируем вебсокеты, но проблема оставалась.

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

record = rest.substring(recordStartPosition, recordEndPosition);

На этом месте растоманы и сикели заорут в голос. Мне и моему менеджеру пришлось сходить в исходники JavaScript движка V8, чтобы разобраться, что substring возвращает слайс большой строки, а не копирует маленький кусочек. Буквально указатели на начало и конец слайса из большой строки. Мы прокидывали весь поток через RxJs, но по пайплайну в итоге шли не маленькие блоки, а весь буфер скопированный по числу сообщений. В итоге после пары часов работы весь буфер начинал копироваться с каждым хартбитом от Мезоса. Память текла гигабайтами.

Я написал второй пакет @dcos/copychars который должен был форсом копировать только нужный маленький кусок строки. Для этого надо было прибавить к слайсу пробел и потом этот пробел отрезать 🤡 V8 понимал, когда ты пытаешься подклеить пустую строку и не копировал исходник. Вот поэтому.

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

Семья 🫶 | YouTube | Twitter
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥91👍25💊6🌚2🤡1
А вы говорите алгоритм

Только что в закрытом чатике ютуберов произошёл конфуз. Я возразил одному из авторов @extremecode, что он спрятал второго и не показывает. На что получил замечание, что видосики авторы делают строго по очереди.

Но я был уверен, что смотрю все видосики канала.

Пошел проверять, и что вы думаете? Ютуб мне подкидывает строго через одно видео и я постоянно попадаю только на одного из авторов (того душного). Как такое может быть? Алго учитывает голос или стиль?

Интересно, что это именно один и тот же канал. Чистота эксперимента прямо на высоте.
🔥88🤣46🤡28👍9💊9👎3
This media is not supported in your browser
VIEW IN TELEGRAM
Двери нашей семьи всегда открыты!

1️⃣ На первом уровне я включаю возможность постить (гачи)гифки на этом канале.
2️⃣ На втором уровне — архив закрытых стримов
3️⃣ На третьем — стримы в прямом эфире и теплый чатик

👉 Youtube Membership
👉 Boosty

Ты не отворачиваешься от семьи, даже если они отвернулись.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡53🤣36🌚4👍3🔥3
Либерализация чата!

1. Теперь есть allow list с людьми, кто может ссылки на телеги публиковать. Одно время в телеге был спам порно каналов пришлось добавить. 😏

2. Разрешение публиковать все типы контента для семьи. Если кто-то другой попробудет запостить картинку, то бот ее удалит и ограничит отправление картинок на будущее 🥸

Не исключаю, что 2 я зафакапил и все смогут временнно публиковать гачи гифки, но это я уже завтра поправлю.

UPD. Igor спасибо за тест!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🤡122
Михаил спрашивает

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

В общем вопрос — как поддерживать интерес к работе? (если задачки кажутся тупыми/рутинными, о которых нечего сказать на следующем и интервью: Crud-ы в основном и др. банальности). Ps: для себя пока нашёл решение — слушать подксты твои и других фоном во время рутиной работы (появляется огонёк, от того что что-то новенькое в мозг таки поступает). Я люблю учиться и развиваться так-то…

Радость можно получать не только от новизны. Радость можно так же получать и от стабильности. Тот факт, что ты сделал знакомый круд и все тесты сразу прошли — в этом есть свой кайф. Это как ходить в одну и ту же кафешку и заказывать один и тот же Фо Бо каждый обед. А потом перестать к ним ходить, потому что они перестали Фо делать. (Реально, какая южно азиатская кафешка может перестать делать Фо?!)

Но я отвлёкся.

В своей книге «Поток» Михай Чиксентмихай пишет, что состояние потока, а с ним и радость можно получать от любой деятельности. Михай приводит в пример токаря, который соревновался сам с собой на скорость. Как быстро он может выточить типовую деталь. Он специально вырабатывал идеальную последовательность действий, чтобы побить свой собственный рекорд. Школа Системного Мышления продолжая эту мысль учит, что поток это не магия вдохновения. В поток можно научиться входить. Нужно уметь удерживать внимание на деятельности и постоянно улучшать то, что ты делаешь. Конечно, при этом желательно, чтобы задачи тоже постепенно усложнялись.

Расскажу историю своего друга Саши (@hackflow): однажды в спринт ему прилетела задача сделать загрузку файла для Python Django. Казалось бы очень стандартная задача. Саша решил сделать ее для себя интересной. Выявил полезные абстракции и все чистенько с тестами запрограммировал. Возможно переинженерил, но получил удовольствие и закрыл задачу. Времени особо больше тоже не потратил.

Конечно можно скипануть поиск радости в стабильном и найти работу в R&D, где постоянно нужно будет делать что-то новое. Сделать это не просто, но такие работы есть.

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

В комментарии пасхалка от Copilot. Даже две.

Спасибо, что присылаете #вопросы

ОБНОВА: В твитторе подсказывают, что это может быть ADHD, но я стараюсь избегать диагнозов.

Семья 🫶 | YouTube | Twitter
👍59🌚1🤣1
Статистика по-немецки

Куда бы вы хотели пойти работать? Спросили у немцев 🥹

Не нужны нам ваши заморские корпорации (ну почти). У нас свои автоконерны простаивают. Штабильношть.

PS. На 9 месте Министерство Иностранных Дел. Шах и мат айтишка.
🌚27🤣17🤡7👍2💊2🔥1
Таки я бота запорол и он удаляет пост из чата, поэтому комментировать типа нельзя. Я думал это только с пересылкой рекламы так получилось, а оказывается нет. Со всеми постами. Вечером починю. Го комментировать: https://news.1rj.ru/str/+VKGSgXPS_IqgFcJP
🤡29🤣4
А вы думали, что я комменты под рекламой специально отключил, да? 😏

Бот видит пост-картинку и удаляет. Потому что, внимание, мои аккаунты не в списке доступа!

Смейтесь смейтесь над стареньким 👵
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡80🤣23💊9🌚2
Сакральное программирование

Я решил писать код, как кодописатель. Звучит странно, но выслушайте. Встречаю мнение, что программирование, де, какое-то священное таинство. Программист даже гачи гифку не имеет право запостить.

По факту это совсем не так. Программист — это просто навык. И он никак не коррелирует с какими-то другими особенностями человека. Нет какой-то обязательной необходимой культуры. Т.е. конечно есть стиль кода, документации и тд. Но я не об этом.

Я вот раньше запаривался, даже настраивал свою платформу для раскатывания своих проектов. Гитхаб экшоны настраивал. Думал все правильно надо делать. Чтобы у репки обязательно readme был. По факту это вообще не нужно. Большинство личных (а то и продакшон) проектов может легко работать с лаптопа. Просто на screen вешаешь их и все.

Но вы можете не знать, что такое screen! Это такая программа для *nix, которая по сути мультиплексер терминала. Зашел ты, например, по ssh на сервер, запустил долгое дело, а сеть лагнула. Терминал отвалился и дело пропало. Но это ты. Я когда на сервер захожу, то первым делом запускаю screen, оно создает виртуальный терминал, который не умрет даже если я выключу питание у своего компа. Запускаю на скрине дело, отсоединяюсь от скрина ctrl+a d и выхожу с сервера. А оно продолжает работать! Потом можно подсоединиться обратно, написать screen -ls получить список всех сессий и подключиться к нужной через screen -r.

Так же и на лаптопе. Запустил телеграм бота на скрине и он молотит. Подключился, логи глянул, отключился. Зачем деплоить? Зачем гитхаб экшоны? Ты инженер или где? Время то не бесконечное.

Короче, с тех пор, как я такой подход стал применять, у меня сразу куча проблем кодом решаться стало. Я просто пишу код, запускаю и забываю о нем. Безо всяких придыханий. Даже руки перед этим не мою.

Семья 🫶 | YouTube | Twitter
🔥106🤡26👍14💊11🤣4🌚1
Вот так и со статической типизацией. Компилятор не тупой, он сам выведет типы, дружище. Не надо на каждый пук расчехлять тайпскрипт или го. Просто пишешь код. Он работает. Машина сама нужные типы вывела, прожевала и выкинула. Тебя реально парит, что у твоего кода, который тебе нужно запустить 2 раза не прописаны типы?

Вот потому я и не люблю эти ваши го. Описать структуры! Описать все, что я хочу положить в хеш через енум! Лолшто? Мне больше делать то не фиг. Вот джаваскрипт все сам понимает и просто делает как надо. Не спрашивает, что я хочу положить в мап. Просто кладет. Джаваскрипт — это язык братишка.

Да, лажает иногда из-за этого. Ну так ты же инженер. Ты разве будешь своего братишку интерпрайз духотой нагружать? Нет. Вот и джаваскрипт не нагружай. Для этого есть го.

Семья 🫶 | YouTube | Twitter
🤣78🤡41👍17🔥9👎1🌚1💊1
Ехал object через Object, видит Object undefined. Undefined is not a function NaNNaNNaNNaNNaNNaNNaNNaNNaN.
🤣240🔥16💊12🌚8🤡7👍1
Соер, похоже, подписчиков измеряет в Мебибайтах. Как на флешке пишут мильён байт, а на самом деле там три мегабайта.

PS. Давайте добьем дедуле 10к, а то разволнуется.

https://news.1rj.ru/str/softwareengineervlog/1660
🤣37🤡26👍6