SOL Talks
62 subscribers
38 photos
5 videos
2 files
97 links
Этот канал умер. Мой новый: @cpplastic
Download Telegram
SOL Talks
Все, кто хоть раз использовал электронное устройство, знают такое словосочетание как «сообщение об ошибке» (error message). Даже мой МК-61 умел выводить слово ЕГГОГ семисегментными индикаторами. Изначально это был просто способ диагностики, показывающий что…
Господи, как же заебало! Мудацкая машина указывает мне, чё делать. Бля, ну если я набрал этот сраный choco без параметров, то наверное ж это потому, что я хер помню, какие там команды, потому что пользуюсь этим раз в никогда? Зачем мне сообщение, смысл которого сводится к тому, чтобы набрать другую команду, которая покажет мне сообщение со списком остальных команд? Возьми да покажи мне хелп сразу, йопта.

Вместо того чтобы на собесах спрашивать девелоперов про красно-чёрные деревья, я бы про UX лучше вопросы задавал, чтоб потом не писали такой хуйни.
SOL Talks
Оказывается, самостоятельно издать книгу не так уж и сложно. Помню, решил я написать книгу про QML где-то в 2010–2011 годах и для этого конечно же сначала изучил LaTeX. И забил 🙂 С тех пор ни разу им не воспользовался. Можно сейчас попробовать ещё разок…
Ещё одна статья про самостоятельное написание технической книги. Чувак говорит о четырёх важных для успеха затеи шагах: решить, о чём писать-то, понять/определить свою целевую аудиторию, написать оглавление, которое послужит своего рода планом, а после не стесняться закидывать издательства предложениями и не опускать руки, получив отказ. Думаю, где-то между последними двумя нужно написать ещё что-то помимо оглавления, а то я, помню, именно на нём и закончил 😅
Наверняка многие ещё застали времена dial-up интернета, и звуки подключающегося модема у таких людей часто вызывают тёплые чувства. Идее модулировать данные в виде звуковой волны — триста лет в обед. Но сегодня я узнал, что раньше прям по радио таким способом софт распространяли 🙂 Кого-то это, небось, не удивит, но лично я когда компьютер впервые увидел, уже пятидюймовые дискеты были.
По нынешним временам это, конечно, уже имеет мало смысла, так как звук — не самый быстрый и надёжный канал для передачи данных. Но какой-то чувак сделал аппку для обмена сообщениями с помощью звука. Базируется на его же либе. Занятная хрень.
Подцепил в чате годный видос о том, как монополисты выкручивают яйца и зарабатывают на плохом UX. Не вопреки плохому UX, а именно с его помощью. Познавательно 🙂
Там вроде кто-то просил комменты включить. Ну ок, я включил, чо. Посмотрим, что из этого выйдет.
Я в целом не против всяких срачиков, споров и холиворов, если подвернётся повод, но правило одно: не быть токсиком и не хуесосить других 😇
Кстати, о холиворах. Откопал тут древнюю статью на тему того, что любители пробелов в отступах в среднем получают больше, чем любители табов. По-моему, это наглядная демонстрация разницы между зависимостью и корреляцией. А вы что, перенастроили редакторы? )
Забавная статья о том, как в Британии 20 лет выписывали штрафы, сажали в тюрьмы и доводили до суицида работников почты, потому что из-за ошибки в софте случались крупные недостачи.

Это в целом отлично описывает современный мир ПО в целом и UX в частности. Причём тут UX? Да при том, что во многих неоднозначных ситуациях люди склонны в первую винить себя, а не компьютер. Типа, «компьютер — это машина, подчиняющаяся чётким правилами; наверное, это я сделал что-то не то». Конечно, чем больше с компьютерами «общаешься», тем больше понимаешь, что это не так. Но! …Но манагеры часто не вникают в технические детали. Им комп показал недостачу 100к — значит, ты их спиздил! 🙂
Практически каждый божий день я сталкиваюсь на работе с мнением некоторых программистов, будто их единственная задача — писать идеальный код, несмотря на то что это невозможно в общем случае.

Проявлений подобного мнения масса, явных и неявных. Вот, что встречал я:
• «Придумал в процессе сделать прикольную штуку, но она заняла больше времени. Думал, что успею»
• «Решил заоптимайзить этот кусок» (даже без профилирования)
• «Давайте „улучшим здесь API” и скажем остальным, чтоб адаптировали свой код»
• «Я не буду писать автотесты»
• «Заполнять репорт — не моя обязанность»
• «Я не обязан логать время. Это можно автоматизировать». — «Ок, автоматизируй». — «Нет времени. И это не моя задача».
• «Зачем писать документацию, если я могу потратить это время на имплементацию новой фичи?»
• «Я выкатил коммит на ревью, но не знаю, зашёл ли он в бранчу».
• «Нет смысла это имплементить, ведь это временное решение».
• «Покажу код, когда будет готово».
• «Можно я пропущу ретроспективу? На мне баг висит».
• (на регулярном демо) «Ой, а у меня проект не сбилженный. Может QA пусть покажет?»
• «На меня других тасок больше никто не ассайнил».
• «Я не знаю, как посмотреть в джире, что я сделал за спринт».
• «У имея нет ссылки на борду».
• «А я думал, что ассеты должны дизайнеры потом сами залить».
• (Кастомер снова запросил срочную онсайт-поддержку) «Какая разница, когда я приезжаю на работу, если мои задачи сделаны?»
• и т.д. и т.п.

Как обычно, ситуация многослойная и комплексная. Но основная проблема: большинство абсолютно не понимают, откуда берутся деньги на их «недостаточно высокие» зарплаты. Чуваки, ваша цель — решать поставленные (а не придуманные вами же от скуки) задачи, деливерить продукт, решающий проблемы пользователей, и выполнять все смежные активности, необходимые, чтобы это произошло в обозначенные сроки. О понимании, откуда эти сроки берутся, я даже не прошу уже.
SOL Talks
Я вроде кое-что в графическом дизайне понимаю; больше на уровне интуиции, конечно, но и теоретическая база кое-какая есть. Ну, и чувство прекрасного в определённой степени имеется — люблю, когда красиво (субъективщина, очевидно)! Но типографика… У-у-у, типøграфика…
А помните, я писал, что по-моему типографика — это хуев снобизм? Сча объясню, что я имел в виду.

Взять вот другие составляющие дизайна… Цвета, например. Есть теория цвета, есть всяческие исследования восприятия, есть культурные особенности и т.д., на которые можно опираться, когда что-то дизайнишь. Или форма и расположение: есть основы композиции, различные устоявшиеся лэйауты, законы UX, которые опять же на психологических исследованиях базируются.

И есть шрифты. Но нет ровным счётом ни одной объективной метрики, которая бы сказала, что какой-то из шести шрифтов (пять на картинке ниже + собсно текущий Calibri) чем-то круче или более подходящий. Да и травлю Comic Sans я никогда не понимал.

Чистяк вкусовщина кароч. А вам какой из новых шрифтов для офиса больше нравится?
Forwarded from UX Live 🔥
Microsoft впервые с 2007 года сменит дефолтный ублюдочный шрифт Calibri в Офисе на 1 из 5 предложенных вариантов: Tenorite, Bierstadt, Skeena, Seaford, и Grandview. Шрифты уже сейчас можно попробовать в каком-то cloud fonts в офисе.
После года тестов один из них поставят по-умолчанию, что безусловно хороший знак. Ведь люди не заморачиваются выбором шрифтов в ворде, и просто набирают тем что дают. А это уже напрямую может влиять на целые поколения и их вкусы.

Подробнее: https://www.microsoft.com/en-us/microsoft-365/blog/2021/04/28/beyond-calibri-finding-microsofts-next-default-font/
Я кстати не в восторге от новых шрифтов, но чем Calibri точно лучше. Отдельно хочется сказать — как же плохи картинки презентации шрифтов по ссылке в новости. Прям пример как никогда и нигде нельзя презентовать шрифты. MS явно стоит нанять кого-то кто умеет с помпой делать презы.

Ну и все равно непонятно — зачем платить за офис 3,3к рублей в год, когда рядом лежит бесплатный Гуглдокс. Разве что ради 1тб облака вшитого в винду.
Код коричневый, повторяю, код коричневый!
Тут чел проанализировал благосклонность людей к языкам программирования и выдвинул гипотезу, что… людям больше нравятся новые и меньше старые 🙂 А если точнее, то меньше нравятся те, с которыми они уже успели говна поесть в легаси-коде. Оттуда и популярность всяких растов и прочих котлинов — на них не так много кода пока что.

У меня вот какое-то подобное ощущение всегда было. Оттого и не тороплюсь на Rust ливать — слишком много эффортов для сомнительного лично для меня бенефита. Всё равно рано или поздно разочаруюсь и в нём.
Ну и многие поносят C++, особенно те, кто на нём никогда не писал. Я тоже его ненавижу. Но стал ли я бы начинать новый проект писать на С++? Конечно стал бы! Мне хватает опыта, чтобы не делать на нём сомнительные вещи и не выёбываться мутными техниками, а использовать некоторый сабсет языка, в котором я чувствую себя комфортно.

Кстати, статейка-то в некотором плане коррелирует с фразой Страуструпа о том, что «есть те языки, которые все ругают, и есть те, которыми никто не пользуется».
Узнал тут про цистерцианские цифры. Сначала был впечатлён тем, что люди придумали, как всего одним символом выразить чисто от 1 до 9999. Мне как «западному» человеку интересна в первую очередь попытка использовать двумерное пространство для записи (вместо одномерного «слева направо»).
Потом, конечно, попустило впечатление — очень уж нравятся текущие цифры.
Держите генератор рейв-музла. Какой-то типок из Берлина сделал, откуда ж ещё?) Результат практически на уровне с композициями на SEMF 😅
У меня прям дежавю. Помню подобные драмы на работе. «Надо, чтоб всё по процессикам» 🙂
Отличный видос о том, как многие технологические компании утратили способность к инновациям и почему так произошло (и, вероятно, продолжит происходить).
hart-smith-on-outsourcing.pdf
252.6 KB
И документ, о котором чувак упоминал в докладе. Я его ещё не дочитал, но начало в принципе интригует.
В разговорах о языках программирования люди часто говорят, мол, вот этот язык лучше, чем тот. А что значит лучше-то? У меня, конечно, есть мнение на этот счёт.

Субъективные метрики сразу отметём, так как с ними каши не сваришь. Регулярно слышу, мол, «C++ пижже, чем Python», или «Python пижже, чем JavaScript». На вопрос, а чем же лучше, можно услышать кучу всевозможных доводов, которые сводятся к вкусовщине: кому-то фигурных скобок не хватает, кому-то статической типизации, кому-то ещё чего. Важно ли всё это? Отнюдь. Если ты шаришь, то подобные нюансы вообще не являются блокером для написания норм кода, а если не шаришь, то о чём разговор вообще? Пойди да выучи сначала!

Из объективных метрик часто замеряют перформанс, например. В каких-то бенчмарках вон Python (PyPy) даже когда-то сишечку обошел на работе со строками — они гордились, помню. Абсолютно бессмысленная затея, конечно, потому что области применения у языков часто даже не пересекаются. Никто всерьёз не станет писать дрова на жабоскрипте или сайтец на плюсах.

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

Слишком крутая кривая по итогу создаёт элитарный клуб по типу Mensa. Люди там часто перестают решать насущные проблемы, а вместо этого упарываются «паззлами», создают задачи ради задач друг для друга, меряются длиной познаний и устраивают голландское программирование. В эту группу пойдут, например, Haskell, Agda, Coq, эзотерика всякая и т.д. Не, в целом-то Haskell годный язык, если подходить к нему очень прагматично, но вот комьюнити со всякими kind-полиморфизмами в своё время повернуло не туда будто.

С++ в каком-то плане тоже ступил на эту дорожку. Начинал ли я его учить когда-то давно из рациональных соображений? Вовсе нет! Для меня это было в духе «challenge accepted». Сча отпустило, конечно, а люди в его комьюнити тем временем уже десять лет упарываются вычислениями на этапе компиляции и даже стандарт под это дело подгоняют, вместо того чтобы наконец добавить работу с файловой системой (хотя спустя 35 лет всё-таки смогли! 🥳).

Языки с очень пологой кривой вхождения создают обратную ситуацию: программистами резко становятся все, кому не лень, без какого-либо (профильного?) образования даже. Так было с Visual Basic когда-то, так сейчас происходит с JS. Нет, я, конечно, не пытаюсь сча свой диплом оправдать. Даже наоборот: я в среднем рад, что программирование становится доступнее. Да и профильное образование нынче можно самостоятельно получить, не вставая из-за компа. Но люди же даже не пытаются, а выбранный язык программирования никак не поощряет и за «ошибки» не наказывает! Зачем думать о той же производительности, если и так всё работает? В этом, может, не было бы проблемы, если бы можно было чётче разделить системное программирование с прикладным. Однако масса людей, вчера создающая свои первые веб-странички, сегодня шейпит наше настоящее и будущее, в котором несколько виртуальных машин одна над другой в одном приложении уже никого не пугает.

Сам процесс популяризации программирования естественен, и ничего плохого в нём нет: у молодого поколения есть свежие креативные идеи. Вот если б ещё хотя бы наработки прошлых поколений учитывались, то и мемасик «миллениалы переизобрели» не появился бы. Поменялось ли качественно в том же веб-программировании что-то за последние годы? Кажется, будто, да, а если судить по результатам, то по сути как-то и не особо. Как было всё медленно и неудобно, так и осталось.

Короче, если с точки зрения доступности изучения про языки говорить, то и C, и C++, и всеми любимый ныне Rust, и суперпопулярный JavaScript — не очень так-то. А Python — норм, потому что среднячок 🙂

Но это всё инженерное нытьё, конечно, ни к чему не ведущее. Рыночек-то уже порешал.
SOL Talks
Кстати, о холиворах. Откопал тут древнюю статью на тему того, что любители пробелов в отступах в среднем получают больше, чем любители табов. По-моему, это наглядная демонстрация разницы между зависимостью и корреляцией. А вы что, перенастроили редакторы?…
This media is not supported in your browser
VIEW IN TELEGRAM
Снова о табах и пробелах в коде. Одним из доводов в пользу табов является возможность настраивать ширину отступа по своим предпочтениям. Однако, чтобы это работало хорошо, нужно чётко понимать разницу между отступами и выравниванием. К тому же, шрифт должен быть моноширинный. К последнему, конечно, все программисты привыкли и, возможно, даже не думали, что может быть иначе, ведь тогда выравнивание поплывёт.

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

Короче, техническая сторона проблемы решена, конечно. Ещё 15 лет назад причём (как минимум). Elastic Tabstops называется. А вот с культурной точки зрения воз и ныне там же, где был более полувека назад.