TGINSIGHT CHAT
Такты, стеки, два колеса
@clockstackwheels
ТехнологииО технологиях, научной фантастике, программировании и схемах. Навигация по каналу: https://t.me/clockstackwheels/3 Чат канала: https://t.me/joinchat/VNhNF1NF70dkFgUX
Последни публикации
Таг: #dev · 127 публикации
Публикувано 3.02
Я вам буквально несколько дней назад писал о росте зарплаты в IT и экспериментах компаний с другими способами привлечь сотрудников, среди которых введение четырёхдневной рабочей недели. А вот сегодня пришла новость, что Совкомбанк начал такой эксперимент. Правда, пока только для турецкого офиса. Видимо, туркам в своей солнечной стране на море с вечным летом маловато счастья и удовольствия от жизни, не то, что в России. Так что им нужнее. Но если до этого банка дошёл тренд, может и до более крупных игроков в России дойдёт. Хотя персонально я считаю, что более длинный ежегодный отпуск важнее, чем более длинный блок выходных на неделе. #dev#life
Публикувано 31.01
Мой ноутбук обновился до Windows 11, и позавчера на нём стали происходить странности: некоторые программы отказывались выполнять некоторые свои функции. После тщательного исследования симптоматика прояснилась, но не стала более понятной: программы от Microsoft не могли получить доступ в сеть. Именно Microsoft и именно в сетевой части. Outlook, Visual Studio, .NET — всё это вело себя так, будто интернет отсутствует. У программ от других производителей подобное не проявлялось, и у операционной системы в целом тоже. Долгие часы гугления, переписывания реестра, изменения сетевых настроек, переустановки софта и драйверов ни к чему не привели. Я забил и откатился обратно на Windows 10 — всё заработало. А днём позже я прочитал в Твиттере у одного человека описание в точности такой же проблемы, и он докопался до правды — русский софт для электронных подписей КриптоПРО что-то менял в TCP-стеке, на что именно программы от MS реагировали отказом, но только в силу особенностей Windows 11. Так вот. У меня лицензионный Windows и все лицензионные программы от Microsoft. Но нет никакого шанса, что вся эта честная лицензионность и идущая в комплекте поддержка хоть что-то смогла бы сделать за разумные сроки с моей проблемой. Реально, ведь там везде интеграционный ад. С одной стороны, это чудовищно распространенный кейс: можно за 5 минут на любом телефоне и любом компьютере (под управлением любой ОС) найти какую-нибудь фигню, которая проявляет проблемы интеграции одного с другим. Этих проблем каждый человек встречал в своей жизни десятки, даже если всё всегда легально покупал (а порой — особенно если легально покупал). С другой стороны — производитель мог действительно за все циклы проверок ни разу не наткнуться на этот случай. И даже не представлять, что какая-то проблема может существовать. Пользователи обречены на вечные страдания. #dev
Hashtags
Публикувано 29.01
Классная статья The baseline for web development in 2022 о состоянии фронтенд веб-разработки на текущий момент. Меня очень порадовало, что подтвердились некоторые мои личные наблюдения, которые входили в противоречие с мнением многих других разработчиков. Вот, например: 1. React по всем показателям хуже чем Vue и Svelte. Он медленнее, потребляет больше памяти, а сайты с ним больше весят. Субъективно он ещё и менее удобный (писал об этом). Так что для новых проектов брать React стоит только из-за отсутствия разработчиков под Vue. 2. Люди не умеют в CSS и делают на JavaScript многие вещи, которые можно было бы сделать без него. 3. Давно уже пора использовать Flexbox и не выпендриваться с олдскульной вёрсткой и костылями для выравнивания. 4. Осенью прошлого года Google официально закончили поддержку Internet Explorer. Давно пора, ха-ха. С уходом IE самым худшим браузером стал Apple Safari — он проваливает почти в 5 раз больше тестов на поддержку разных веб-стандартов, чем Chrome. Я по личному опыту знаю, что если что-то работает во всех нормальных браузерах, оно может не заработать в Safari без адских костылей. Либо не заработать вообще никаким образом. У пользователей iPhone выбора нет (местные браузеры а-ля Chrome это на самом деле перекрашенный Safari, потому что Apple запрещает делать свои). Но если вы на Маке пользуетесь Safari — перестаньте, пожалуйста, это делать. А вообще ещё раз повод задуматься о политике Apple и настоящем их отношении к пользователям. Но некоторые вещи меня искренне удивили: 1. Сайтов на jQuery всё ещё в несколько раз больше, чем сайтов на реактивных фреймворках, вместе взятых. Интернет это на самом деле такая древняя помойка, у который лишь небольшая вершинка торчит из болота лени и консерватизма. 2. Треть всех сайтов в интернете используют WordPress. Треть. То есть каждый третий сайт это говноконструктор на технологиях 20-летней давности. 3. Из всех пользователей интернета у 87% есть доступ к 4G. Я думал гораздо меньше. Да, тут наверное считали даже тех, кто раз в жизни смог зайти через 4G, и всё-таки — можно уже не особо сжимать графику и видео. #dev#web
Публикувано 25.01
В прошлом году я немного поизучал движок для создания игр Godot — это опенсорсный аналог Unity, который мне посоветовали. И он мне очень понравился, гораздо больше, чем Unity. Он логичный, простой, при этом позволяет делать очень много и гибко. Его создают гики для гиков, а не маркетологи для студий. По сравнению с Unity он объективно выигрывает в легковесности сборок и субъективно выигрывает в понятности и удобстве проектирования. Ну и, конечно, он бесплатный. Однако, видно, что движок достаточно новый — документация не всегда полна, в самой системе встречаются баги. Впрочем, если вы не боитесь трудностей, или если у вас богатый опыт разработки, для игр настоятельно рекомендую. На днях вышла новая мажорная альфа-версия с кучей интересного. Поскольку я иногда делаю всякое под платформы с голосовым управлением, то здесь я купил ассеты и попробовал собрать демку — 2D-игру с боем танков в жанре "Артиллерия", по сути это современная копия TankWars аж 1990-го года. Для двух игроков на одном телевизоре или одном СберПортале: ходы по очереди, нужно подстраивать угол и силу выстрела с учётом ветра и позиции противника, чтобы попадать. В таких механиках как раз голосовой ввод оправдан и даже вполне удобен (если смотрели мою лекцию о способах ввода, то поймёте). Если у вас нет редких устройств от Сбера, то попробовать игру вы не сможете, но можете посмотреть на видео. Там старый вариант, а на скринах уже более новый, с переделанным HUD. В этом году хочу ещё какую-нибудь игру сделать. #dev#games
Публикувано 22.01
В последние годы зарплаты в айти в России растут ещё быстрее, чем обычно. Я читал интересную гипотезу, почему это происходит. До пандемии на крупные корпорации работали тысячи индусов и китайцев, но делали это из подготовленных для работы бизнес-центров. Наступил ковид, и все сели по домам. Жильё среднестатистического индуса это совсем не то же самое, что жильё среднестатистического русского с топовым компом и гигабитным интернетом. В странах третьего мира проникновение таких вещей в дома очень скудное. А дешёвую (относительно местных цен) рабочую силу где-то брать надо. Куда пришли хантить? Правильно, в Россию и СНГ. И предлагать доллары. Без релокации, конечно же, ковид ведь. Говорят, даже перестали требовать какой-то вменяемый уровень английского (а это один из главных тормозящих факторов при утечке российских IT-мозгов). Такие предложения подняли и локальный уровень зарплат: зачем идти в местную контору на 300к, если можно пойти в зарубежную на $5000? Бизнесы стиснули зубы, но зарплаты стали повышать. В какой-то момент и этого стало мало. Ну не сойдётся математика, если российская компания будет платить разработчикам по 500к. Так что, стали появляться слухи о том, что работодатели соглашаются на четырёхдневку. Конечно, прогрессивному миру уже становится понятно, что 40-часовая рабочая неделя это фейк, и никто эти 40 часов с полной отдачей не работает. Но до России такие тренды обычно доходят или спустя десятилетия или никогда. С одной стороны, я не хочу, чтобы больше людей приходило в айти. Чем их меньше, тем я более ценен. С другой стороны, если все придут в айти, то это вызовет три полезных эффекта: - Программисты свои зарплаты тратят на покупку вещей и услуг, в том числе внутри страны, это вливание в экономику. - Отток специалистов из других областей вызовет рост их ценности и зарплат. - В айти активно продвигается культура уважения к сотрудникам, work/life balance, предоставление каких-то других преимуществ помимо денег. Пусть больше людей рассказывают своим друзьям о том, как они работают без начальника-самодура, посылающего за сигаретами, как им дают отгулы за переработки, как их мнение выслушивают, и как следят за психологическим состоянием подчинённых. Если люди начнут считать уважение к себе стандартом де-факто, это может подвинуть точку пересечения интересов работодателя и соискателя в пользу последнего. Но в этом посте я не буду рекомендовать вам перейти в айти, если вы ещё не. На самом деле система сама себя стабилизирует. Абсолютно все хорошие разработчики, которые мне известны — это люди, изначально получающие удовольствие от решения определённых задач. Я бы сказал, что если вы уже не разработчик, то это судьба, за очень редкими исключениями. В основном те из моих знакомых, кто брался за это во взрослом возрасте, быстро бросали из-за отсутствия интереса. А чтобы так концентрироваться на предмете, как того требует программирование — нужно быть в этом предмете очень заинтересованным. Ещё сейчас идёт рост nocode/lowcode продуктов, но я к нему отношусь скептически. Напишу об этом как-нибудь в другой раз. #dev#life
Публикувано 18.01
Если вам лень было смотреть длинный стрим Сбера в прошлый раз, то вот они тут выложили презентации отдельно. Моя презентация о том, как выбрать способ ввода в приложении. Конкретно здесь сравнивается голосовой ввод и ввод нажатиями, но есть ощущение, что шкала, которую я предлагаю, подходит и к другим вещам (например мышь vs консольный ввод с клавиатуры). Нажатие мышью на кнопку на экране в среднем быстрее, чем набор слова (особенно если учитывать время, необходимое для того, чтобы это слово вспомнить). Ещё мышь гораздо больше страхует от ошибок. Но если у вас тысяча возможных команд, вы тысячу кнопок на экран не выведите, зато набирать эти команды можно без проблем. #dev https://www.youtube.com/watch?v=sSg3m6G8hJ0
Hashtags
Публикувано 16.01
Неделю назад в мире опенсорс разработки произошло интересное событие. Опенсорс — это когда разработчик пишет программу (как правило, эта программа нужна для работы других программ) и выкладывает её в общий доступ на полностью свободных началах. В большинстве случаев после этого кто угодно может делать с этой программой абсолютно что угодно: копировать, изменять, продавать решения на её основе за деньги и так далее. Иногда то, что пишут такие разработчики-волонтёры, оказывается невероятно удобно и полезно. Настолько, что гигантские корпорации используют это у себя. А кроме них — ещё десятки тысяч проектов по всему миру. Такое использование называется «зависимость», и оно создаёт связь между автором опенсорс-проекта и тем, кто взял его труд. Связь обычно такая: в моей программе где-то указано, что вот этот вот код взят по такому-то адресу у опенсорс разработчика Васи. Моя программа иногда может на этот адрес заглядывать и смотреть, а не внёс ли Вася чего нового. Вдруг он улучшил работу и исправил ошибки — тогда я скачаю новую версию его программы и установлю её у себя. Формально для такого обновления должны существовать ограничения. По факту человеческая лень и негласный этикет среди разработчиков приводят к тому, что обновления ставят не глядя. Считается, что Вася будет выкладывать только улучшенную и проверенную новую версию своей программы, ведь за ним наблюдает миллион других разработчиков. Пацаны во дворе не поймут, если Вася сделает что-то неаккуратно. Один из разработчиков по имени Marak Squires написал некоторое время назад две очень полезные программные библиотеки. Как раз такие, которые скачали десятки тысяч людей, в том числе в крупных корпорациях, и использовали у себя. В прошлом году этот разработчик написал что-то вроде: «Эй, корпорации, вы берёте мой труд бесплатно. Конечно, я его раздал бесплатно, но вы чёртовы капиталистические гиганты, и у вас миллиарды баксов, а я вам сэкономил миллионы баксов на разработке. Я жду от вас чек на почту в благодарность». Конечно, всем было пофигу. А неделю назад этот разработчик внёс в свои библиотеки деструктивное обновление, которое сделало программы, установившие его, неработоспособными, и вывело на экран «LIBERTY LIBERTY LIBERTY». Это обновление положило кучу проектов, в том числе у гигантов-корпораций. Поднялась буря. Одна часть интернета заявила, что разработчик никому ничего не должен, поэтому волен делать со своим кодом всё, что хочет. Вторая часть претендовала на то, что совершённый им поступок это вандализм и осознанный вред другим разработчикам. Дров в огонь подкинуло то, что GitHub, на котором размещался код этого разработчика, заблокировал его аккаунт. А система хранения пакетов NPM откатила изменения до предыдущих версий. Хотя формально никаких законов он не нарушал: компании брали его код по собственной воле, а он ничего никому не гарантировал. ___________________________ Я не готов назвать здесь однозначно правую сторону. Пока выглядит, как «Все мудаки». Но на мой взгляд это показательный пример вот чего: никакие формальные правила никогда не покроют всё многообразие человеческих взаимоотношений, и поэтому личностный аспект тоже важен. Даже если нет закона или правила, по которому вы что-то должны, есть смысл стараться действовать созидательно и стремиться, хотя бы частично, к всеобщему благу, а не только к личному. Особенно в ситуации, когда у тебя в руках сосредоточена та или иная власть. Корпорации действительно могли бы найти способ отблагодарить разработчика (и вообще — всех разработчиков, чей код они бесплатно берут в таких масштабах). Просто из чувства благодарности, а не потому, что должны. Разработчик мог бы просто закрыть проект и не стараться нанести урон. Просто из чувства неприятия всего деструктивного. Это, конечно, идеализированный мир розовых пони, но сила и власть это как раз способность двигать границы реальности. #dev
Hashtags
Публикувано 4.01
Инструмент, которым мы делаем работу, очень важен. Да, хороший мастер плохим инструментом сделает лучше, чем плохой — хорошим. Но если речь об эмоциях и удовольствии от работы, здесь удобный и приятный в использовании инструмент значит очень многое. Я ненавидел сверлить стены, пока не купил аккумуляторный перфоратор. Обычным проводным это было мучение: каждый раз искать или розетку рядом или доставать и разматывать удлинитель. А ещё следить за тем, где там провод, и чтобы он не запутался в ногах, тем более когда ты на лестнице. Теперь же я только и ищу, чего б такого просверлить. Аккумуляторный перфоратор — 12/10, стоит каждого рубля. Подобного много. Собирать мебель приятнее шуруповертом с нужной битой, нежели шестигранником, который кладут в комплект. Делать прямые распилы приятнее циркуляркой, а не лобзиком. Класть плитку приятнее с лазерным уровнем и системой выравнивания. И так далее. В программировании аналогично. Я очень высоко ценю удобство языка, на котором пишу. Возьмём к примеру сверлильный станок: он тяжелее, сложнее и занимает больше места, чем дрель. А ещё не везде его можно применить. Но там, где можно, станок позволяет вам выдерживать угол. По сути вся его роль в том, чтобы взять на себя вес дрели и помешать вам сделать ошибку. Мешать делать ошибки — важное свойство инструмента. Именно поэтому я предпочитаю языки с типами. Да, хороший мастер и обычной дрелью просверлит не хуже. Но, напомню, речь идёт об удовольствии, об эмоциях, а не только о результате. Система, которая не даёт сделать ошибку, не только более надёжна сама по себе, но и много приятнее в плане эмоций. Когда ты сложил весь пазл, и последний кусочек идеально вошёл в своё место — это чувство удовлетворения сравнимо с тем, как ты вставляешь новую строчку в программу, и она без ошибок подходит по типам, а из списка подсказок IDE можно брать самые верхние пункты. #life#dev
Публикувано 11.12
На днях скатался в Сбер и прочитал там доклад о выборе способа ввода в приложении. Весь митап может быть вам интересен, если вы разрабатываете или планируете разрабатывать под платформу умных ассистентов Сбера. Но свой доклад я постарался сделать чуть более универсальным: придумал некоторый формальный принцип для выбора способа ввода, привёл примеры с разных платформ. У Сбера пока весьма молодая площадка, однако вкладываются в неё значительно. Я уже ранее писал, что высоко оценил как техническую наполненность, так и работу с сообществом. Запись митапа тоже произвела впечатление: большая студия с кучей оборудования, леса под свет, телесуфлёры, режиссер и звукооператор, гримёрка. Почувствовал себя будто на телевидении. Ссылка с таймкодом на начало моего выступления: https://youtu.be/FbdHktzx3bU?t=3983 #dev
Hashtags
Публикувано 1.12
Первый день зимы, самое время показать миру проект, над которым я работал в прошлом месяце: процедурная генерация бумажных снежинок. Написал на Хабр большую статью по теме, поделился результатами. Там же есть демка, которая позволяет в том числе распечатать себе PDF для вырезания. #dev https://habr.com/ru/post/592659/
Hashtags
Публикувано 24.09
Год назад 24 сентября 2020 Сбер презентовал свой ребрендинг и платформу с умными ассистентами. Я и тогда высказался об этом довольно позитивно, а теперь я уже некоторое время вовлечён в разработку под неё, и она даже стала источником крупнейшего в моей жизни единовременного денежного выигрыша. Вообще, я не скрываю своего скептицизма по отношению к строительству экосистем и так называемых супераппов. У нас всех уже есть суперапп -- операционная система на смартфоне или компьютере. Совершенно непонятно, почему пользователь должен запускать что-то внутри другого приложения, если может просто иметь себе отдельно такое приложение в телефоне. Пока что в общемировой практике сработал только WeChat в Китае, но там это произошло, судя по всему, из-за своеобразного местного законодательства с его запретами. В России ближе всего к супераппам подошёл ВК, и здесь у них есть два сильнейших преимущества: - соцсеть изначально многоцелевая (в отличие, например, от поисковика или банковского клиента), поэтому пользователи привыкли заниматься здесь разными вещами - социальный граф, отлично способствующий вирусному распространению И даже с такими вводными у ВК пока не вышло убедить массовую аудиторию в необходимости пользоваться встроенными аппами для разных целей. Пользователи есть или у продуктов, созданных как раз вокруг социального графа и других средств социальной сети (опросники и тесты для друзей, статистика страницы итд), или у продуктов, поддерживаемых внешним бизнесом, в том числе самим ВК (такси, алиэкспресс, пиццерия). Нет даже близко речи о том, чтобы вы внутри ВКонтакте запускали, например, фоторедактор или менеджер задач. Даже моё приложение Promenade, которое вы массово репостили и очень хвалили, имеет около нуля активных юзеров. Среди моих друзей и знакомых никто систематически не пользуется ни одним миниаппом, а модерация самого ВК советовала мне превратить одно из приложений в игру, потому что игры популярнее и востребованнее. Так что, возвращаясь к Сберу, ещё более дико выглядит мысль о том, что человек будет запускать приложение внутри банковского клиента, если это приложение не связано с финансами. А у Сбера ещё и сами приложения довольно специфические — поверх любого отрисовывается голосовой ассистент, который должен быть в каком-то виде поддержан, даже там, где в принципе голосовой ввод не предполагается. И у приложений нет доступа к аппаратуре телефона, например, к камере (хотя со временем это добавят). Так что сейчас в сберовском "Салюте" перекати поле в плане количества юзеров. Но этот вопрос должны решать маркетологи и прочие рекламщики. Если предположить, что устойчивая модель супераппа в принципе возможна в России, то у них наверняка есть план. Я не понимаю, какой, и как возможно убедить людей, но не тратят же они в самом деле миллиардные бюджеты на попытку вслепую и из-за моды? :) Зато я разбираюсь в технической составляющей, и немного -- в продуктовой. И могу сказать, что с этой позиции у площадки Сбера всё прям очень хорошо. Я в восторге от многих вещей, как технических, так и продуктовых. На платформе приятно разрабатывать, её правильно и своевременно обновляют, и, конечно же, очень классно взаимодействовать с сообществом, о котором я уже отзывался в статье. На вопросы отвечают быстро, баги реально берут в работу и исправляют за адекватное время. Для меня за прошедший год Сбер открылся с новой стороны. Посмотрим, что будет ещё через год. #dev
Hashtags
Публикувано 21.08
Чудесная реклама. Я всегда говорил, что ML-щики не программисты. #dev
Hashtags