TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #200 · 3.02

Я вам буквально несколько дней назад писал о росте зарплаты в IT и экспериментах компаний с другими способами привлечь сотрудников, среди которых введение четырёхдневной рабочей недели. А вот сегодня пришла новость, что Совкомбанк начал такой эксперимент. Правда, пока только для турецкого офиса. Видимо, туркам в своей солнечной стране на море с вечным летом маловато счастья и удовольствия от жизни, не то, что в России. Так что им нужнее. Но если до этого банка дошёл тренд, может и до более крупных игроков в России дойдёт. Хотя персонально я считаю, что более длинный ежегодный отпуск важнее, чем более длинный блок выходных на неделе. #dev#life

Hashtags

Резултати

Намерени 2,190 подобни публикации

Общо глобално търсене

Тут уже несколько дней народ играется с генерацией музыки по текстовому описанию. Идея такая же, как с картинками: ты пишешь фразу, тебе нейросетка по ней создаёт трек. На деле реализовано чуть более топорно: текстовый препроцессор разбирает фразу и ищет контекстную близость до слов из специального списка тегов. Ну, например, он считает слово "weed" (трава, конопля) близким к жанру "reggie", вот и подставляет. Эти теги передаются в облачный API сервиса Mubert (да, никакого опенсорса на этот раз), и оно выдаёт трек. Я попробовал тоже. По примерам из статей я уже было подумал, что окончательно решена проблема "не подобрать трек для нового видео". Но увы. Результат на деле (а не в рекламе) такой же не впечатляющий, как и с картинками. Эта штука сносно генерирует всякие эмбиенты и другие спокойные треки, но на более сложных жанрах сразу загибается и очень сильно недокручивает и темп, и агрессию и разнообразие музыкальных фраз. Я после часа попыток не смог сделать ничего для быстрого интенсивного полёта дрона, только для плавного и медленного. Ну и очень часто неправильно улавливает контекст, даже даже открыто писать, что примерно ты от неё хочешь (вот как с треком Помпеи — вообще мимо, слишком спокойная и не грустная мелодия). Первые два трека сгенерировал @wooferclaw. Он не хейтер ML, в отличие от меня, поэтому у него больше терпения и, вероятно, он смог дольше перебирать варианты. Но всё равно на мой взгляд какой-то намёк на правильную идею есть, а развития совсем нет. Музыканты, можете выдохнуть. #dev

Hashtags

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

Hashtags

Свершилось. Сегодня Экосистема городских сервисов совместно с VK Mini Apps подвели итоги конкурса, в котором я участвовал, и писал вам об этом. Мой музейный кликер оценили не только вы в комментариях, но и члены жюри: я занял первое место во втором этапе (по правилам можно занять призовое место только в одном, даже если подавался в два). Очень рад :) Люблю наш город, люблю конкурсы по программированию, ну и, разумеется, люблю выигрывать, чего греха таить :) Работы интересные, список всех победителей можно посмотреть вот тут. До шорт-листа дошли всего 42 проекта, так что на самом деле при внимательном и аккуратном отношении шансы попасть в список из 20 призёров были хорошие. Участвуйте в конкурсах тоже. Это полезно для прокачки скилла, даже если вы не получите приз. Но если получите — ещё и приятно :) P.S. Постоял рядом с CEO VK, думал попросить включить мне новый дизайн, но постеснялся. #dev

Hashtags

Как вы уже знаете, я участвую в конкурсе "Код Петербурга", где нужно сделать какие-то программные продукты, используя API различных городских сервисов. KudaGo взяли у некоторых разработчиков интервью, попросив ответить на распространённые вопросы типа "Нужен ли айтишнику технический склад ума?" и "Правда ли, что айтишники — закрытые интроверты?". Я тоже поотвечал, и даже, пожалуй, слишком многословно на фоне других отвечающих. Вот, собственно, сама статья: https://kudago.com/all/news/top-glupyih-vopros-dlya/ #dev

Hashtags

Пришло уведомление от Whoosh: "Годовая подписка за 990р". Захожу в приложение, а там её нет. Стандартные недельная и месячная. Пишу в саппорт: так и так, прорекламировали — предоставляйте. Посоветовали обновить приложение — и правда, подписка появилась. Если бы я не поленился в саппорт написать, у них могло бы быть на одного платного клиента меньше. Это хорошая задачка на архитектуру и проектирование приложений: такие элементы нужно отрисовывать динамически по данным из БД. Создаётся абстрактный компонент, у которого есть свойства типа title, subtitle, caption, рисуются стили. При необходимости данные меняются на сервере, и все пользователи получают новый список. А тут, вероятно, захардкожено в клиенте. Нехорошо. #dev

Hashtags

Мой новый любимый тип задач на собеседованиях: даём кандидату кусок кода и просим провести ревью. Во-первых, это из тех задач, которые нельзя строго либо решить, либо не решить. Разные кандидаты находят разное количество ошибок, оценка получается более гибкой. Во-вторых, проверяется сразу несколько компетенций: и работа с базами данных, и многопоточность, и оптимизация, и кодстайл и куча всего ещё. Увидит ли кандидат ошибку в SQL? Сделает ли необязательное, но ценное замечание по именованию переменных? А может даже даст комментарий на тему архитектуры? Ещё и софтскиллы сразу проверяются: каким способом человек сообщает о чужих ошибках. Но нашу задачку я вам не покажу. Вдруг будете у нас собеседование проходить, хехе ) Ещё из недавнего: соискатель указал в резюме английский B2 и особо подчеркнул, что очень силён в алгоритмах. Я скинул ему скриншот ниже и попросил объяснить задание и поразмышлять над решением. К сожалению, и задание и решение в итоге объяснял я. Кстати, кто занимается разработкой, можете под спойлерами предложить свои варианты. Вообще, проведение собеседований помогает хорошо бороться с синдромом самозванца. У меня прям сильный был, пока я на постоянную работу не пошёл. Сейчас тоже есть (думаю, все разработчики этим страдают, кроме самых плохих: у них эффект Даннинга-Крюгера), но меньше. #dev

Hashtags

Я порешал немного задачи на leetcode и остался не слишком доволен сервисом. Leetcode — это онлайн-сайт с задачами по программированию. Даётся описание (какие данные приходят на вход, и что нужно получить). Можно отправить код на любом актуальном языке программирования, и ваше решение будет оценено по двум показателям: скорость и память. Что не понравилось в сервисе: 1. Встроенный редактор кода поленились делать нормальным, это по сути блокнот без каких-либо хинтов и проверок. Проще сразу писать в IDE, а потом копировать. Но это мелочь, куда серьёзнее второй пункт. 2. Система оценки, о которой я упомянул выше, крайне неточная. Разброс по времени бывает в 1.5-2 раза у одного и того же кода. И, наоборот, почти не показывает важную разницу между разными решениями. По памяти то же самое: цифры плюс минус одинаковые, как бы вы ни решали задачу. Это выражается в том, что легко словить результат типа "Ваше решение лучше, чем 33.33% остальных", причем, много раз подряд. Это значит, что в точности треть решений попадает в какой-то один кластер оценки (либо что решений отправлено очень мало, но сайт популярный, так что не знаю даже). При этом подобная оценка — единственный показатель успешности вашего решения, поэтому она важна, но при таком разбросе теряет смысл. Хотя сама идея, например, ежедневной новой задачи мне нравится — позволяет разминать мозги и держать себя в тонусе в некотором смысле. Впрочем, тут тоже есть нюанс: эффективное решение задач редко пересекается с правильным и реалистичным решением, которое требовалось бы от программиста в любом практическом сценарии. Допустим, вам нужно наполнить ведро водой. В обычной жизни вы отнесёте его в ванну, откроете кран и наполните. А вот подход на Leetcode заставляет использовать извращения типа "вытащить из холодильника бутылку воды и разрезать её над ведром". И вот в какой-то момент вы понимаете, что быстрее всего выбросить ведро в окно, потому что под окном глубокая лужа, оно там утонет и технически станет наполненным водой мгновенно. О реальной жизненной применимости такого решения, думаю, говорить не стоит. Но иногда буду решать. Сегодняшняя задача уровня Hard, такие дают за собеседованиях на middle и senior: поиск максимальной суммы прямоугольника внутри матрицы. #dev

Hashtags

Один из легальных способов для программистов бороться с жадностью корпораций — писать open source аналоги проприетарного софта. Да, к сожалению, мы всё ещё вынуждены покупать (или незаконно качать) Photoshop, After Effects, AutoCAD и даже Microsoft Office, до которых свободные аналоги пока не дотягивают. Но тот же Blender очень сильно подвинул баланс сил на рынке 3D-моделирования. Да, возможно те, кто когда-то учился на 3D Max, Cinema 4D или Maya, скорее всего, всё ещё на них остались, но вот новое поколение 3D-художников очень активно учится на Blender и делает в нём шедевральные вещи, абсолютно ничем не уступающие коммерческим гигантам. В близкой мне области тоже есть свежий пример: для экшен-камер GoPro долгое время единственным хорошим решением был платный и дорогой стабилизатор под названием ReelSteady. За софтину просят что-то около $200 единоразово, но только она могла дать стабилизацию на основе гироскопа, которая на три головы превосходила любые алгоритмы на основе анализа картинки. Однако, несколько лет назад вышел кривой и неудобный open source проект, а буквально в этом году, если я не ошибаюсь, другой разработчик допилил его до прямого и удобного. Называется GyroFlow: кроссплатформенный софт с открытым кодом, который тоже умеет стабилизировать картинку на основе гиро-данных, причём, с кучи разных камер, включая все современные модели GoPro. Он абсолютно бесплатный, выдаёт результат ничуть не хуже, чем ReelSteady, да ещё и работает быстрее и содержит больше настроек. Просто flawless victory, как по мне. Надеюсь, такого будет появляться всё больше. В конце-концов, комьюнити уже прогибает корпорации на выпуск вещей вроде VS Code. #dev

Hashtags

Написал большущую статью о том, как проходил AtomSkills. Это был очень интересный и необычный опыт, даже с учётом моих предыдущих поездок на хакатоны. Если вам интересна разработка и соревнования по программированию, велкам :) #dev https://vk.com/@denisnp-kak-my-vyigrali-sorevnovanie-dlya-stroitelei-i-svarschikov?v=4

Hashtags

Я участвую в конкурсе разработчиков «Код Петербурга», проводимом совместно VK и городом. По условиям нужно сделать или VK-приложение или чат-бота для VK/Маруси с какой-то важной для жителя или гостя города функцией, и с использованием одного из предоставленных внешних API. Я попробовал воплотить свои давние мысли по семантическому поиску по текстам, в чем мне помог @wooferclaw. Что-то подобное мы пытались соорудить на хакатоне в Салехарде, но сейчас я пошёл дальше. Бот для Маруси, который ищет мероприятия в Петербурге с сайта KudaGo. При этом к боту подключён морфологический словарь и тезаурус, который умеет определять домены и ассоциативные связи между словами. Работает вроде неплохо. Во-первых, довольно точно ищет по прямым связям. Например, хорошо понимает, что слова «научный» и «наука» одинаковые, хотя в словаре словоформ они разные. Во-вторых, умеет находить связи по области: допустим, если попросить что-то про пришельцев, предлагает экспозицию о внеземных цивилизациях, хотя ни в описании, ни в ключевых словах этой экспозиции нет слова «пришелец» однокоренных с ним. Но этот поиск приводит и к забавным последствиям, которые лично я не считаю недостатком, а скорее щепоткой соли в работе алгоритма. Так, при запросе о пришельцах может выдать выставку о коммунальных квартирах (что действительно близко по смыслу, но человеку, который ищет пришельцев, скорее всего нужно не это). А ещё на слово «крокодилы» предлагает экскурсию по рекам и каналам, мне очень нравится :) Потестить можно, открыв Марусю (в приложении ВК или в отдельном) и сказав «Запусти навык Куда Пойти в Петербурге». А результаты конкурса будут в октябре. Там ещё второй этап, на него тоже что-нибудь подам. #dev

Hashtags

Хочу немного похвалить Copilot — у него обнаружилась удивительно неплохая способность писать комментарии к коду! На этом скриншоте я написал только первые полтора слова у каждого комментария, остальное дополнила нейросеть, и в одном месте я сделал после этого небольшую правку. Во-первых, это действительно подразгружает, потому что ошибки в комментариях не так страшны, можно доверить такое дело генератору. Во-вторых, есть интересное неочевидное свойство: нейросеть может попытаться объяснить вам чужой код таким способом. Вы как бы спрашиваете компьютер о том, что написал другой человек на языке компьютера. Это довольно прикольно, и даже может быть как-то использовано в целях обучения, как по мне. #dev

Hashtags

Попробовал Github Copilot. Это проект, в рамках которого Гитхаб обучил нейросеть на миллионах строк программного кода, загруженного людьми, и теперь она вроде как способна предлагать автоматическое дополнение к тому, что вы пишете. В теории, если вы напишете название функции, например public int Fibonacci(int n), то она сразу предложит вам автоматически подставить всё остальное. Конкретно с этим примером система действительно справляется, но в целом впечатления у меня от неё смешанные, и на мой взгляд она пока что не стоит тех $10 в месяц, которые за неё просят после тестового двухмесячного периода. Я уже писал ранее о своём отношении к нейросетям. В задачах дополнения данных они работают средненько: значимый процент решений будет с ошибками. Вот и здесь — сначала я подумал, что Copilot сможет за меня копипастить популярные однотипные куски кода из интернета. Например, я не помню алгоритм Вагнера-Фишера, постоянно его копирую из своих других проектов, часть из которых выложена на Github и наверняка была передана в обучение Copilot. Я предложил нейросетям мне этот алгоритм написать, они написали что-то отдалённо похожее. Внешне выглядело убедительно и даже компилировалось, но работало неправильно, и при ближайшем рассмотрении оказалось, что там просто случайно надёрганные строчки из настоящего алгоритма. Некоторые проверки по 2 раза, а часть нужной логики упущено совсем. Об оформлении кода вообще говорить не стоит: пока всё, что мне выдавалось, оформлено плохо, и на ревью я бы написал разработчику несколько замечаний. Однако, в других местах работает, как задумано. Если у вас есть дуальные функции, оно умеет предлагать дописать остаток (пример на скриншоте ниже). Но из того, что я попробовал, только процентов 20 случаев реально были полезны. Остальные 80% или вообще неверный код, или правильный, но такой неаккуратный, что лучше самому написать. Есть ещё проблема: массовый копипаст довольно опасен, потому что легко пропустить какую-то мелочь. В идеале нужно весь вставленный код проверять построчно, но по когнитивной нагрузке это близко к тому, чтобы создать его самостоятельно. И человеческое внимание совершенно точно будет расслабляться и размываться при работе с такими средствами автодополнения, а, значит, неизбежны ошибки. На месте чувствительной к багам энтерпрайз-разработки я бы вообще запрещал бы своим сотрудникам применять Copilot. С другой стороны, возможно, подобная утилита хорошо зайдёт для прототипирования, на хакатонах, на стримах с демонстрацией разработки чего-нибудь. У меня будет возможность проверить на соревновании через месяц, но в работе скорее всего отключу. #dev

Hashtags

12•••2829303132•••100•••182183