У вас закончился пробный период!
Для полного доступа к функционалу, пожалуйста, оплатите премиум подписку
NI
Стой под стрелой
https://t.me/nikitonsky_pub
Возраст канала
Создан
Язык
Русский
4.78%
Вовлеченность по реакциям средняя за неделю
27.32%
Вовлеченность по просмотрам средняя за неделю

Ведет @nikitonsky. Рекламы нет

Сообщения Статистика
Репосты и цитирования
Сети публикаций
Сателлиты
Контакты
История
Топ категорий
Здесь будут отображены главные категории публикаций.
Топ упоминаний
Здесь будут отображены наиболее частые упоминания людей, организаций и мест.
Найден 71 результат
NI
Стой под стрелой
10 741 подписчик
283
52
4.7 k
Видел недавно мем про умный холодильник, который отправляет смс если оставил дверь открытой. Подпись была: «Если ты такой умный, закрой дверь сам».

Мне кажется это много где в софте встречается: вместо того, чтобы сделать, чтобы вещь просто работала всегда, разработчики ставят себе задачу выдрессировать пользователя. «Не закрывайте окно». «Не перезагружайте страницу». «Обновите программу». «Сохраните, прежде чем выйти». «Файл с таким именем уже существует». «Не могу запустить, пока вы не установите зависимости». «Please commit your changes or stash them before you switch branches».

И на каждое неправильное действие отругать, а не обработать.

А надо помогать. «Если ты такой умный, сохрани сам».
24.04.2025, 13:42
t.me/nikitonsky_pub/857
NI
Стой под стрелой
10 741 подписчик
314
64
5.0 k
Когда я учился на Факультете информационных технологий (начало нулевых), нам, кроме базы, иногда подсовывали актуалочку. Одной из таких актулочек был курс по SEO, или Search engine optimization. Я тогда был молодой и наивный, поэтому пошел туда с открытым сердцем: раз сделали целый курс, наверное это что-то важное.

Оказалось, нет. Целый семестр нам объясняли гипотезы и поверья, которые народ выстроил вокруг алгоритма Гугла (Гугл тогда еще был хороший). Ну, там, сколько должно быть заголовков h1 на странице, умеет ли он интерпретировать джаваскрипт, стоп-слова и так далеле. Ничего из этого не работало точно, большинство строилось на слухах и домыслах, и именно так нам и передавалось. «Попробуйте», «говорят», «я слышал», «считается», «может быть», «лучше не надо».

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

Короче, я сидел на семинарах по SEO и думал «Не. Не может быть. No way. Это не может быть настоящей дисциплиной. Это инфоцыганство какое-то». История нас рассудила: так и оказалось в итоге. Я раскрутил несколько популярных проектов, и для этого не потребовалось ничего, кроме хорошего контента. Система оказалась оптимизирована под нормальных людей, а не SEO-шников.

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

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

Но что меня пугает, так это что признаки _вокруг_ ИИ ровно такие же: вся эта культура промтов (слышал, если сказать, что оставишь боту чаевые, он будет охотнее писать код!), недетерменизм (компьютер теперь делает то, что ему хочется, а не то, что ты ему сказал), меняющийся каждую неделю ландшафт, инфоцыгане те же, которые уже открыли сильный ИИ, написав правильный промт и пообещав боту восемь мисок супа. Миллионы проектов, которые делают супер-тонкую обертку вокруг ЧатГПТ и в остальном на сто процентов полагаются на него и зависят от его АПИ.

Короче, хз, что про это думать, может, шелуха облетит, все как-то успокоится и заживем нормально. Но пока весь этот ИИ-хайп жутко противный, конечно. Верните мне мои детерменированные компьютеры!
23.04.2025, 13:17
t.me/nikitonsky_pub/856
NI
Стой под стрелой
10 741 подписчик
134
10
4.4 k
Программисты, конечно, хотели бы никогда не делать дизайн интерфейсов, но иногда приходится. Простое правило, чтобы сделать ваши программистские интерфейсы чуточку лучше: не выравнивайте ничего по правому краю.

Да, кажется «модно» и «нестандартно». Кто-то может даже подумать, что удобно (например, если у вас две колонки и если в левой выровнять подписи по правому краю, то они окажутся «ближе» к своим значениям правой).

Но нет. Не надо.

(Можно выравнивать цифры по правому краю, если у вас таблица, потому что цифры пишутся справа налево, во всем остальном — просто забудьте про такую опцию, или по левому краю, или по центру).

Понятно, что за 4000 символов, да еще и без картинок, я вас дизайну не научу, но от этой вот очевидной ошибки, может, уберегу.
21.04.2025, 17:05
t.me/nikitonsky_pub/855
NI
Стой под стрелой
10 741 подписчик
145
19
4.9 k
Немножко пугает, насколько легко было переделать пасту про node.js из 2012-го под сегодняшний день. Насколько мало пришлось поменять. Технологии меняются, цикл хайпа остается абсолютно одинаковым (кстати, помните, была такая крипта?)

Ну и чтобы с пустыми руками вас не оставлять, такое наблюдение: у нас тут в Берлине был когда-то концертный зал Mercedes Benz Arena; какое-то время назад его переименовали в Uber Arena (Uber как бренд, не просто слово). То есть у тех, кто производит машины, стало меньше денег, чем у тех, кто перепродает их пользователям. Есть в этом какая-то ирония.
20.04.2025, 17:51
t.me/nikitonsky_pub/854
NI
Стой под стрелой
10 741 подписчик
490
70
4.7 k
Наверняка, многим серьезным программистом преходилось испытать неприязнь, когда они узнавали, что чтобы выложить веб-сайт надо еще изучать джаваскрипт. Все соглашаются (и в интернете я тоже читал) что это очень, очень плохой язык. Это на самом деле глупость и когда я прочитал я долго не мог поверить ходил спрашивал и оказалось не зря. Тепер ьвеб-сайты можно писать на самом популярном в мире языке расте. Это революционный переворот и он происходит прямо на наших глазах. Я был шокирован, как там все организовано, но похоже они все вопросы продумали с самого начала и договорились что это будет очень востребованный проект.Более того, умные перцы из мозиллы которые по утрам продают ваши персональные данные уже работают над тем, чтобы раст работал быстрее С++, потому что он комплируется сразу в результат, минуя стадию вычисления! Вы наверняка заметили это по тому, что файрфокс открывается за 5 секунд, а не 20 как это было в до-интернетную эпоху. Что это если не порыв я не знаю. То есть, если вы напишете свой сайт на rust, он автоматически будет бытсрым и будет масштабироватсья (обрабатывать столько клиентов, сколько пришло, это настоящая проблема в джаваскрипте была и некто не знал как с ней быть). Например, данные между разными запросами беруться взаймы, в том же джаваскрипте это в принципе не возмонжно и засчет этого у раста такая гиганская производительность. Там даже продумано если вы будете работать с другом или кто-то допустим, то я зык специально за счет очень удобной типизации можно писать так что вы всегда будете знать что сломал ваш друг. Это очень удобно потому что позволяет меняь програму в одном месте и вообще не парится о том же друге что там у него програма все равно не скомпилируется.Только представьте! Любой кусок кода можно насать один раз. Также они добавили возможность создавать асинхронные функции и это очень круто, но я пока не понял как ее потом вызвать. Но самое главное, что над растом сейчас работает туча народу просто, они переписывают все что было до них написано на раст и у них получается лучше потому что они сразу заточились на производительность и чтобы было лучше а так же просто использовать. Например нужно сходить в базу данных создал проект на гитхабе сразу набежали форкнули завтра только пуллреквесты принять и можно заливать в продакшн на свой ноутбук. Сообщество очень дружелюбное, если кому-то удается сделать что-то работающее на расте его обязательно хвалят и подбадревают потому что это правда успех. Я пока не понял как допустим считать файл но говорят эт из-за безопасности,там все очень надежно, ведь если к тебе вдруг идет миллион клиентов и вы облажаетесь в 10% случаев ты облажаешься перед 100 000 человек. Поэтому например если где-то произошла ошибка лучше сразу аккуратненько написать ааа паника все сгорело и завершиться чем пазориться перед остальными, тем более если перезапустить сервер то там и память лишняя освободится и бегать начнет пошустрее, да и перезапускается он очнь бытсро. Иногда бывает быстрее перезапустить сервер чем дождаться проверки типов. Ктому же rustc так оптимизирован что никогда не займет больше одного ядра а это значит что базу данных например можно поставить на тот же ноут на другое ядро для экономии ресурсов и надежности (иметь что-то на той же машине всегда надежнее, много ли что, все у кого есть дома интернет вы это итак знаете) и все будет быстро бегать и даже можно во что-нибудь пошпилить или дальше rust book почитать но тогда надо побольше ядер купить. Но в серверы как раз много ядер и ставят и как видите rust прекрасно справляется с этой задачей. Правда что бы писать на расте нужно купить макбук потому что все примеры в интернете написаны на мак буке но я думаю если выделаете высокопроизводительный веб-сервис, вам всеравно прийдется пройти раунд финансирования у родителей чтобы потом его запускать. Вообщем я в восторге хотя немного напрягает что гдето должны быть проблемы но я пока не понял не столкнулся ая уже очнь долго с ним разбираюсь и пока не понял.
19.04.2025, 17:31
t.me/nikitonsky_pub/853
NI
Стой под стрелой
10 741 подписчик
1
Наверняка, многим серьезным веб-программистом преходилось испытать неприязнь, когда они узнавали, что чтобы выложить веб-сайт надо еще изучать джаваскрипт. Все соглашаются (и в интернете я тоже читал) что это очень, очень плохой язык. Это на самом деле глупость и когда я прочитал я долго не мог поверить ходил спрашивал и оказалось не зря. Тепер ьвеб-сайты можно писать на самом популярном в мире языке расте. Это революционный переворот и он происходит прямо на наших глазах. Что это значит для нас, ребята? Что мы уже знаем, как писать сйты по сути. Я был шокирован, как там все организовано, но похоже они все вопросы продумали с самого начала и договорились что это будет очень востребованный проект.Более того, умные перцы из мозиллы которые по утрам продают ваши персональные данные уже работают над тем, чтобы раст работал быстрее С++, потому что он комплируется сразу в результат, минуя стадию вычисления! Вы наверняка заметили это по тому, что файрфокс открывается за 5 секунд, а не 20 как это было в до-интернетную эпоху, может хотя бы самые древние. Его кстати тоже делали в мозилле. Что это если не порыв я не знаю. То есть, если вы напишете свой сайт на rust, он автоматически будет бытсрым и будет масштабироватсья (обрабатывать столько клиентов, сколько пришло, это настоящая проблема в джаваскрипте была и некто не знал как с ней быть). Например, данные между разными запросами беруться взаймы и вообще можно использовать одни и те же типы для всех клиентов и экономить память. В том же джаваскрипте это в принципе не возмонжно и засчет этого у раста такая гиганская производительность. Там даже продумано если вы будете работать с другом или кто-то допустим, то я зык специально за счет очень удобной типизации можно писать так что вы всегда будете знать что сломал ваш друг. Это очень удобно потому что позволяет меняь програму в одном месте и вообще не парится о том же друге что там у него програма все равно не скомпилируется.Только представьте! Любой кусок кода можно насать один раз. Например, функцию, переворачивающущю строку, и вызывать ее из браузера или включать музыку с телефона. Особенно если заморочиться кроскомпиляцией. Также они добавили возможность создавать асинхронные функции и это очень круто, но я пока не понял как заставить ее вызвать. Но самое главное, что над растом сейчас работает туча народу просто, они переписывают все что было до них написано на раст и у них получается лучше потому что они сразу заточились на производительность и чтобы было лучше а так же просто использовать. Например нужно сходить в базу данных создал проект на гитхабе сразу набежали форкнули завтра только пуллреквесты принять и можно заливать в продакшн на свой ноутбук. Сообщество очень дружелюбное, если кому-то удается сделать что-то работающее на расте его обязательно хвалят и подбадревают потому что это правда успех. Я пока не понял как допустим считать файл но говорят эт из-за безопасности,там все очень надежно, ведь если к тебе вдруг идет миллион клиентов и вы облажаетесь в 10% случаев ты облажаешься перед 100 000 человек. Поэтому например если где-то произошла ошибка лучше сразу аккуратненько написать ааа паника все сгорело и завершиться чем пазориться перед остальными, тем более если перезапустить сервер то там и память лишняя освободится и бегать начнет пошустрее, да и перезапускается он очнь бытсро. Иногда бывает быстрее перезапустить сервер чем дождаться окончания проверки типов. Ктому же rustc так оптимизирован что никогда не займет больше одного ядра а это значит что базу данных например можно поставить на тот же ноут на другое ядро для экономии ресурсов и надежности (иметь что-то на той же машине всегда надежнее, много ли что, все у кого есть дома интернет вы это итак знаете) и все будет быстро бегать и даже можно во что-нибудь пошпилить или дальше rust book почитать но тогда надо побольше ядер купить. Но в серверы как раз много ядер и ставят и как видите rust прекрасно справляется с этой задачей. Правда что бы писать на расте нужно купить макбук потому что все примеры в интернете написаны на мак буке но я думаю если выделаете
19.04.2025, 17:28
t.me/nikitonsky_pub/851
NI
Стой под стрелой
10 741 подписчик
1
высокопроизводительный веб-сервис, вам всеравно прийдется пройти раунд финансирования у родителей чтобы потом его запускать. Вообщем я в восторге хотя немного напрягает что гдето должны быть проблемы но я пока не понял не столкнулся ая уже очнь долго с ним разбираюсь и пока не понял.
19.04.2025, 17:28
t.me/nikitonsky_pub/852
NI
Стой под стрелой
10 741 подписчик
187
24
4.7 k
Такая еще была история. Работал я в Ксореде (том самом), делали мы какое-то приложение. И вот начальник (Платов) пошел и где-то заказал для него иконку. У профессионального дизайнера, то бишь, а то и у целой фирмы. Ну те сделали, он им заплатил, принес в контору и показывает: смотрите, говорит, какая иконка. На всю компанию емейл разослал. Угадайте, какая была реакция?

Правильно, все дружно кинулись ее засирать. Не нравится, что-то не то, не шедевр, у Эпла лучше, цвета не в тему, тени неправильные, деталей много, в стиль не вписывается, кто на что горазд, короче. У кого на сколько эрудиции хватило.

А теперь внимание, вопрос: а зачем? Иконка сделана, деньги заплачены, функцию свою она более чем выполняет. В чем смысл засирания?

Не, я серьезно спрашиваю. Зачем? Зачем это все? Зачем эти выплески негатива? Чтобы что? Я знаю, у вас уже готов ответ, вам _кажется_, что вы знаете. Потому что все эти люди, которые строчили гневные емейлы, тоже были уверены, что знают, зачем это делают. Но у вас есть дистанция и, может быть, шанс понять. Прежде чем писать комментарий, подумайте: а правда ли он отвечает на вопрос? Или только кажется, что отвечает?

Так зачем засирать уже сделанную работу?
18.04.2025, 12:23
t.me/nikitonsky_pub/850
NI
Стой под стрелой
10 741 подписчик
242
39
4.8 k
Кое-что, что поразило меня до глубины души. Увидел на сайте N26 дейтпикер. Думаете — щас до ввода даты или каледаря докопаюсь? Не, проблемы начались еще раньше (хотя про календарики когда-нибудь тоже будет пост, они все ужасные, хотя казалось бы — два дропдауна и сетка на месяц, чего там мудрить?)

Короче, дейтпикер. Прямуогольник, разделенный на две части вертикальной чертой: слева сама дата, справа иконка календаря. Проблема? Разделитель торчит за пределы поля :)))))) Прям на несколько пикселей вверх и вниз торчит из прямоугольника.

Как так получилось — а фиг его знает. Знаете, я поковырялся в стилях, и если честно, даже не понял, как разделитель рисуется вообще.

Но проблема даже не в этом. Проблема вот в чем: представьте, вам нужно нарисовать прямоугольник, разделенный надвое. У всего фиксированные размеры. Это два вызова (drawRectangle, drawLine), да? Математика на уровне третьего класса (x = fullWidth - iconWidth).

Ну вот и как? Как можно запороть НАСТОЛЬКО простую задачу? Как можно а) сделать ее сложной и б) в этой сложности накосячить?

Я даже не представляю, с чем это можно сравнить. Человек завязывал шнурки и передавил себе палец. Вышел поссать в абсолютно пустое до горизонта поле и оскорбил чувства верующих. Собирал лего и повредил себе спину. Увидел три сосны, заблудился, нашел машину и сгорел. Это настолько тупо, что смешно.

Это к вопросу, почему я пошел делать свой UI фреймворк. Веб непригоден ни для чего вообще, простые (ПРОСТЫЕ!), тривиальные даже вещи делаются настолько сложно, что оправдывать это нет никакой возможности.

Поставить рядом два квадрата не должно, не должно, не должно, не должно быть проблемой. ПРЯМОУГОЛЬНИК. ВЕРТИКАЛЬНАЯ ЛИНИЯ. КВАДРАТ. CSS это сложно. Да идите вы нафиг со своим CSS. Буду проституткой.
17.04.2025, 12:35
t.me/nikitonsky_pub/849
NI
Стой под стрелой
10 741 подписчик
374
146
5.4 k
То есть мы пришли в программирование, потому что человеческое общение было сложным, неэффективным и непредсказуемым, а компьютеры — наоборот, следовали четкой формальной логике.

А теперь создатели ИИ такие: мы пофиксили! Теперь ваше программирование тоже сложное, неэффективное и непредсказуемое.

Ну и зачем?
16.04.2025, 10:04
t.me/nikitonsky_pub/848
NI
Стой под стрелой
10 741 подписчик
231
16
4.4 k
> What if our computers were inherently multi-player?

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

А, может, вам не хватает общения? Ну так посмотрите под стол — бог дал вам две ноги, вот их возьмите, подойдите к коллеге и пообщайтесь словами через языковой барьер. Зачем это обязательно тащить в компьютер?

А компьютером можно я буду пользоваться сам, как мне нравится? Можно у меня будут свои иконки, свои шорткаты, свои обои, свои приложения? А не те, которые одобрило общество.
15.04.2025, 10:02
t.me/nikitonsky_pub/847
NI
Стой под стрелой
10 741 подписчик
302
50
4.8 k
Давайте поговорим о триггерных фразах. Моя — это «так написано в требованиях/в ТЗ». Программисты часто используют ее как аргумент, как будто она что-то объясняет. Но что она объясняет? Ничего! Требования — это просто мнение другого человека. То, что он это мнение куда-то записал, не делает его автоматически более правильным, умным, продуманным, осмысленным.

В требованиях может быть написана полная чушь. Требования могут быть взяты с потолка. Требования могут противоречить друг другу, могут активно портить продукт. У нас надежность три девятки. А почему не четыре? Почему не две? Что изменится?

Непонятно, как этим можно что-то объяснять. Можете смело заменять «требования» на «сказал Вася». «Почему вы эту кнопку сюда поставили? Это же неудобно!» — «А, ну так сказал Вася» — «???»

Хватит дрочить на требования.
13.04.2025, 12:34
t.me/nikitonsky_pub/846
NI
Стой под стрелой
10 741 подписчик
343
41
4.1 k
Обожаю птичьи языки (нет).

Вот есть какая-то технология, у нее свой там язык какой-то, возможности, документация, примеры. Все уже придумано. И тут приходит какой-то умник, говорит: тот язык плох, давайтя лучше я другой придумаю. А в нем все по-другому, возможности не те, документация не подходит, и в итоге тебе надо два языка знать вместо одного. Зачем? В чем смысл?

Я уже писал про Тейлвинд. Да, писать стили в компонентах, а не в отдельном файле, удобнее. Но чем top-0 z-40 w-full flex-none лучше, чем top: 0; z-index: 40; width: 100%; flex: none;? Нахрена мне знать, что z это z-index, w это width, нахрена это помнить?

Или вот в Твиттере спросили про ОРМ. Пошел смотреть примеры, а там


.where(
and(
lenlt(posts.title, maxLen),
gt(posts.views, views),
)
)


Чем это лучше простого SQL? Что, жопа отвалится написать


WHERE length(posts.title) < ?
AND posts.views > ?


Кого мы тут развлекаем? Я сейчас пишу на так называемом HoneySQL, который не ORM даже, а просто обертка для генерации SQL 1-в-1.


:where [:or
[:= :attrs.app-id [:cast app-id :uuid]]
[:= :attrs.app-id [:cast system-catalog-app-id :uuid]]]



Но даже там я не понимаю смысла: я знаю, как сделать что-то в SQL, мне нужно с помощью такой-то матери перевести это в HoneySQL, чтобы потом этот HoneySQL сгенерил мне обратно обычный SQL. Зачем? В чем смысл?


WHERE attrs.app-id = ?::uuid
OR attrs.app-id = ?::uuid


А еще он иногда не поддерживает какие-то выражения, и его надо обновлять, чтобы он смог сгенерить какой-нибудь IS DISTINCT FROM, который и я знаю, и база знает, только он не знает. Зачем мне эта прослойка? Почему нельзя сразу писать словами, которые от меня ожидают? Хуже SQL-я только попытки улучшить SQL.


:select [[[:|| :idents.etype "." :idents.label]]]


Просто что это, зачем, почему, как это искать?

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





мне яро хочется физически проявить ненависть к социальной группе разработчики. Алло, у вас есть уже прекрасная машина Тьюринга, зачем вы строите поверх нее еще одну, убогую? Да, мне не нравится Джаваскрипт, но я лучше буду писать на нем, чем играть в ваш детский сад из тегов и атрибутов.

Отдельный приз зрительских симпатий получает JSX, который берет вещь, которая не является HTML-ем, и заставляет ее выглядеть как что-то, что тоже не является HTML-ем. Задумка, понятно, была что будет похоже, похоже не получилось, и в итоге у нас есть херня, которая транслирует черт знает что в черт знает что, без каких-либо попыток кому-то угодить. Иногда мне кажется, что единственная цель JSX — создавать рабочие места разработчикам сборщиков для JS.

Просто. Берете. Язык. И пишите на нем. Как есть. Ничего не выдумывая. И волосы у вас будут густые и шелковистые.
10.04.2025, 10:01
t.me/nikitonsky_pub/845
NI
Стой под стрелой
10 741 подписчик
220
8
4.8 k
Кстати, я сейчас пошел и поменял в посте MCP латиницей на МСР кириллицей, чтобы выставить вас всех дураками. Комменты так и не читал. Спокойной ночи!
10.04.2025, 00:47
t.me/nikitonsky_pub/844
NI
Стой под стрелой
10 741 подписчик
146
4
5.0 k
Че там, написали правильный ответ в комментах уже?
9.04.2025, 14:11
t.me/nikitonsky_pub/843
NI
Стой под стрелой
10 741 подписчик
165
30
5.2 k
Наверное, одна из наиболее быстро и против моей воли ворвавшихся в мою жизнь аббревиатур — МСР. Ощущение, что еще неделю назад никто эти буквы в этой комбинации не использовал, а сегодня уже из каждой дыры: «Куда добавлять МСР», «Как добавлять МСР», «Мы добавили МСР», «Нужен ли вам МСР», «МСР устраел, что придет ему на смену».

И самое главное, словно по сговору, никто никогда не расшифровывает, что это значит. Мне это в принципе подходит — я и комменты читать не буду, чтобы сохранить тайну. Вот, у айтишечки очередная истерия, подождем, пока пройдет. Не дергаться же на каждую аббревиатуру, они каждую неделю новые.
9.04.2025, 10:03
t.me/nikitonsky_pub/842
NI
Стой под стрелой
10 741 подписчик
251
43
5.0 k
Я давно фотаю всякие прикольные дорожные и околодорожные знаки, и вот наконец дошли руки оформить их в паблик. Но рассказать я хочу про автоматизацию.

Дело в том, что я не люблю сложные схемы и многоступенчатые процессы. Мой идеал блоггинга — Телеграм: зашел, написал, нажал энтер, готово. Вы меня поэтому именно в Телеграме сейчас и читаете — сложно более удобный интерфейс придумать.

Но для картинок я таки придумал кое-что получше.

В общем, проблема такая: у тебя то густо, то пусто. В один день может быть шесть постов, а может месяц не быть ни одного. Как выложить сотню фоток со скоростью раз в день, не задолбаться от рутины и не городить велосипедов?

В Грампи я эту проблему решаю тем, что... забываю. Если мне много всего сразу прислать, то я что-то опубликую, а про остальное на следующий день забуду. Надо бы придумать какую-то очередь публикации, но это же надо придумывать, программировать че-то, поддерживать.

И я сделал, как мне кажется, идеальную схему. Называется «папка». На рабочем столе лежит папка с фотками. Кидаешь туда фотку — через какое-то время она опубликуется.

В каком порядке? А в рандомном. Как отмечаются уже опубликованные? Просто удаляются из папки. Собрано из подручных инструментов, которые у меня уже были — сервер, питон скрипт (один файл, без зависимостей, и тот написал DeepSeek), крон, синхронизация через Syncthing (т.е. папка существует на всех компах, кидать можно с любого).

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

Короче, очень горжусь простотой системы. Вчера забил очередь на три месяца вперед и дико кайфанул, что ничего кроме локальных файлов трогать не надо. Сегодня вышел первый автоматический пост, подписывайтесь — Signs of Life в Bluesky (там же есть RSS для старичков).
8.04.2025, 10:34
t.me/nikitonsky_pub/841
NI
Стой под стрелой
10 741 подписчик
348
49
4.6 k
Ваня Гришаев (канал igrishaev) пишет:

> [...] расскажу, как управлять табами в любом браузере [...]. Записывайте: когда у вас много табов, зажмите клавиши Ctrl/Command + W. Все табы закроются. После этого откройте табы, что нужны для текущей задачи. Конец.

Ну в общем-то и все. Это и правда весь секрет. Пользуйтесь.
3.04.2025, 12:35
t.me/nikitonsky_pub/840
NI
Стой под стрелой
10 741 подписчик
175
46
4.8 k
Мне тут рассказали, что когда вам, да-да, вот лично вам, нужно принять какое-то решение — выбрать облачного провайдера, велосипед, ноутбук, в какую страну поехать, на ком жениться — вы не составляете таблицу со всеми вариантами, критериями и плюсами-минусами на пересечении. Я разочарован. Ваш аути-то точно составляет.
2.04.2025, 10:01
t.me/nikitonsky_pub/839
NI
Стой под стрелой
10 741 подписчик
231
18
5.0 k
Все хотят заголовка

Notion хочет, чтобы у заметок были заголовки. Obsidian хочет. Apple Notes хочет. iA Writer с Саблаймом не хотят, но называют файл по первой строчке.

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

Хочу приложение для неорганизованных. Без заголовков.
1.04.2025, 18:19
t.me/nikitonsky_pub/838
NI
Стой под стрелой
10 741 подписчик
362
72
5.1 k
Я когда-то писал про принцип, что можно верить только работающему коду, и при прочих равных лучше сделать так, чтобы максимум путей исполнения проходили через общий участок.

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

Ну вот, я наконец придумал название для этого принципа. Внимание:

Код должен работать через одно место.
31.03.2025, 11:04
t.me/nikitonsky_pub/837
NI
Стой под стрелой
10 741 подписчик
164
19
5.1 k
Интересно смотреть на компьютерные игры с точки зрения интерфейсов. С одной стороны игра — это просто еще одна компьютерная программа, а с другой — они варятся в своем пузыре и многие вещи делают по-своему.

Например, игры любят писать «не выключайте, пока игра сохраняется» и показывают иконку сохранения. Абсолютно идиотское предупреждение — она появляется, может, на секунду, что я, побегу шнур из розетки выдергивать именно в это время? Может быть, это идет от «пожалуйста, не выключайте компьютер, пока он выключается», но так даже компьютеры уже перестали писать. Да, в игре можно нажать «Сохранить» и тут же пойти выбрать «Выйти в Windows», но наверное для таких скорострелов игра сама может дождаться окончания сохранения?

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

Другая абсолютно вымораживающая меня традиция — на кнопке «Выйти» писать «весь несохраненный прогресс будет потерян». Да, оно _буквально_ верно, поэтому, наверное, мозги программистов-аутистов не видят в нем проблемы. Но блин, оно звучит ужасно. Оно звучит как «ВСЕ будет потеряно». Мне каждый раз приходится себя успокаивать, что они совсем не это имеют в виду.

Чуть лучше оно бы звучало «Последнее сохранение 1 минуту назад». Потому что обычно как? Сохранился, пошел выходить, а тебе «ВНИМАНИЕ! ДАННЫЕ БУДУТ УДАЛЕНЫ! МЫ НЕ НЕСЕМ НИКАКОЙ ОТВЕТСТВЕННОСТИ! ЗАПИШИТЕ ВСЕ ПАРОЛИ НА БУМАЖКУ НА ВСЯКИЙ СЛУЧАЙ». И ты такой: че за хня, я ж только что специально сохранился? (Или еще хуже — думал, что сохранился, а там на самом деле полчаса прогресса с предыдущей кат-сцены, и узнать это никак нельзя).

А еще лучше — ничего не писать и сохранять по-умолчанию. Но это нормальный юзабилист бы так рассуждал.

Кстати, юзабилист пригодился бы и программам — иногда закрываешь пустой файл, а они «Сохранить»? Хотел бы я посмотреть на программу, которая бы не спрашивала этого бреда хотя бы на пустых файлах. Очевидно же, когда файл пустой. (молча сохранять несохраненные файлы и спокойно заркываться/открываться с ними — это пока next level, хотя кое-кто умеет).
30.03.2025, 19:35
t.me/nikitonsky_pub/836
NI
Стой под стрелой
10 741 подписчик
409
74
4.6 k
Когда хожу в спортзал, хочется включить подкаст по-тупее. Организм качает кровь в мышцы, мозгу остается меньше, и айкью падает на 10-15 пунктов. Идеально заходит Завтракаст: бодро, весело, глупо, неважно.

И есть у них один товарищ, который постоянно пересказывает критику решений Евросоюза в сторону Эпла. Типа, душат, гады, бедную корпорацию. И оно звучит, эээ, странно. «Евросоюз потребовал от Эпла открыть Эйрдроп для Андроида» — «вот негодяи, вот тупые». Но, собственно, почему? Мы же, как пользователи, только выиграем? Как может кто-то в здравом уме требовать более закрытой экосистемы (ну кроме самого Эпла, конечно)? Это же чистые минусы! Или с магазинами сторонних приложений — ну это же кайф, если их откроют, какие минусы-то? При этом сам же этот чел в следующей новости рассказывает, как играет в игры с Нинтнендо Свич и Плейстейшн на эмуляторе и нигде у него не ёкает.

В девяностых, когда компьютеры только начинались, человечество делало протоколы. TCP, IMAP, IRC, XMPP, HTTP — вот тебе спека, мы все по ней работаем, можешь наше приложение взять, можешь стороннее, можешь сам написать. И писали! Ты мог читать почту и сидеть в чатах из сотен разных программ, были получше, были похуже, были очевидные лидеры, но в целом никто не диктовал тебе, что делать. Производителям же, чтобы конкурировать, приходилось реально стараться — побеждал лучший, а не тот, у кого сервер. Лучший для пользователя, а не для корпорации.

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

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

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

Если бы компьютер придумывали сейчас, у нас не было бы даже языков программирования (см. айфон/айпад, на которых нельзя программировать, такое просто не пускают в стор).

Ну вот. Я не жалуюсь, просто хочу, чтобы все четко все понимали — мы в довольно хреновой и неудобной для нас (пользователей) ситуации, и любой способ выхода из нее — благо. Даже если это государственное регулирование. МЫ ВСЕ ТОЛЬКО ВЫИГРАЕМ, если Евросоюз заставит Эпл открыть магазин приложений или протокол Эйрплей. Это буквально в наших, пользователя, интересах. МЫ НИЧЕГО НЕ ТЕРЯЕМ.

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

Да, мы пришли туда, куда пришли, исключительно рыночными методами. Я могу понять разочарование в идеалах, что рынок всегда находит наилучшее решение. Но что ж делать? Раз уж не нашел, давайте ему поможем. В крайнем случае, не забывайте, на чей вы стороне (своей), а корпорации как-нибудь и без нас выживут.
29.03.2025, 18:05
t.me/nikitonsky_pub/835
NI
Стой под стрелой
10 741 подписчик
359
143
5.3 k
Друг подогнал подписку на Курсор, посидели с ним и Сонетом 3.7-вотэва один вечерок и сделали мне приложение на Мак. Простое — переключалку микрофонов, и с нуля — но сделали. И оно, блин, работает! Даже в код не смотрели, просто говорили, если что-то не нравится, и жали Accept All Changes. Очень странный экспириенс — приложением с тех пор пользуюсь, а что там внутри — хрен знает, ни разу не видел. НО ОНО ДЕЛАЕТ ТО ЧТО МНЕ НУЖНО!

Так что я уверовал. Скептицизм рассеивается моментально, когда видишь своими глазами, как на чисто голосовом вводе у тебя за вечер вырастает рабочая программа.

А смешная байка вот какая: весь интерфейс это меню со списком микрофонов, и у выбранного пункта слева есть галочка. Я говорю — сделай, чтобы у остальных пунктов был отступ вровень. Он говорит: да, вот решение, укажите параметр ident. Я указываю. 1 — мало. 2 — много (почему это так — вопросы исключительно к Эплу). Говорю об этом Курсору. Он говорит: действительно, а попробуй пробелами отбить? Норм получится, зуб даю! Я попробовал, пять — мало, шесть — много. Говорю: не, братан, чет фигня все равно. Может так какую-то SVG-шку прозрачную вставить или еще что-то такое? Он говорит: да, не вопрос, можно и SVG-шку, даже лучше получится. Что дальше он сделал я не знаю, но встало все идеально.

Это я к чему? Не мог сразу нормально сделать, сученыш?
29.03.2025, 03:28
t.me/nikitonsky_pub/834
NI
Стой под стрелой
10 741 подписчик
274
56
4.6 k
Экстренный выпуск: вчера выложили видео, где чел открывает на Винде сначала скриншот окна RAD Debugger, а потом и сам RAD Debugger. И первое медленнее! Смех? Смех.

У меня же персональная беда: на маке окошки файндера открываются заметное время. Типа, нажимаешь Cmd+S, ничего не происходит. Ты еще раз, и еще, и еще. И потом хоба: окно выбора папки появилось. Оно все это время «готовилось».

К чему там готовиться, я никогда не пойму. В винде та же проблема — заходишь в папку, пусть даже пустую, и на 100% локальную, а она тебе прогресс бар на 10 секунд, прежде чем показать контенет. Как? А никто не знает. Один чувак даже продукт сделал на этом, File Pilot, чтобы показать, что «готовиться» там не к чему. Оказалось, правда не к чему. Читаешь содержимое папки и показываешь. Мнгновенно.

Все эти вещи должны занимать миллисекунды. Миллисекунды, Карл! Но это если не мудрить и решать задачу пользователя, а не бизнеса. Задача со звездочкой, ага.

Я все жду, когда придет та новая волна супер-быстрых и не перегруженных приложений, которая сметет текущих раздутых монополистов-«лидеров рынка». Потому что старые герои, которые это сделали — Эпл, Гугл, Хром, Гмейл, Фигма, ВСКод — они съели дракона и стали им. Мне нужны новые кумиры, чтобы смотреть в будущее с надеждой. Но пока молодежь все больше играет с Электроном и терминалом. Так мы будущее не построим, конечно.

Помните, пожалуйста, что компьютеры, они все еще быстрые, быстрее чем никогда. И пишите программы по возможности тоже быстро.
27.03.2025, 13:17
t.me/nikitonsky_pub/833
NI
Стой под стрелой
10 741 подписчик
175
48
4.8 k
Я тут на днях рисовал пирамиду Маслова для интерфейсов, примерно такую (читать снизу вверх, сверху жыр, снизу база):

5. красивый
4. понятный
3. удобный
2. решает задачу пользователя
1. решает задачу заказчика

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

Пять-семь лет назад для меня таким приложением была Фигма. Они пришли в давно устоявшуюся область и такие: давайте кнопки поставим понятно. И я такой: да, да, так понятнее! Или: давайте редактирование векторов сделаем удобнее. И я: да, я бы тоже так сделал! И все работало само и как нужно сразу, без модификаций. Полный матч.

Потом компания стала расти, и стали происходить странные вещи: направляющие, которые до этого были волшебными и как будто читали мои мысли, стали появляться не там и чаще мешаться. Выделение, которое раньше выделяло то, что я хотел, стало выделять не то, что я хотел. Сделали редизайн, где у контролов убрали края и сделали стелочки в дереве по ховеру. Добавили какой-то ФигДжем. Это уже были не мои ценности, а магия пропала. Фигма стала просто продуктом.

Годы шли. Фигма выкатила еще один редизайн, который не просто был вкусовщиной, он был объективно плох. Если раньше можно было списать на «людям нравится другое», то теперь это стало «люди не умеют работать». Кнопки стали меньше. Границы контролов вернули, но теперь они шумят. Убрали верхнюю панель, чтобы «освободить место», но при этом раздули правую так, что она перестала помещаться на экран ноутбука. Главные кнопки засунули в едва видное меню, а ерунду типа Comment и Dev Mode вытащили на самое видное. Левую панель реорганизовали так, что без слез не взглянешь. Даже иконки это теперь гребаный пазл: четыре квадрата вертикально, горизонтально, диагонально, диагонально с плюсиком, пунтктиром, соединенные в квадрат, шестиугольник с точкой, шестиугольник с палочкой, концентрические круги, капля чтобы поплакать. Даже классический замочек (lock aspect ratio) зачем-то заменили на прямоугольник со стрелочками. Плюс, везде появились вложенные прямоугольники.

Вывод из этого можно сделать только один — у Фигмы теперь другие ценности, и нам, кажется, не по пути. Обидно терять старого друга, который тебя понимал. Но такова жизнь — придется снова искать, где работают люди, которые любят интерфейсы.
26.03.2025, 19:20
t.me/nikitonsky_pub/832
NI
Стой под стрелой
10 741 подписчик
156
59
5.2 k
Допустим, какие-то китайцы заперли вас в комнате, в которой есть только один способ коммуникации с внешним миром — почтовая щель в стене. Профессор по фамилии Тьюринг пишет вам письма и просит доказать, что вы человек, а не робот. Как докажете?
25.03.2025, 16:37
t.me/nikitonsky_pub/831
NI
Стой под стрелой
10 741 подписчик
218
18
5.0 k
Пипец, самая needy программа — Signal.

Когда его открываешь, он либо просит провалидировать ПИН (убедиться, что не забыл), либо хочет обновиться (а обновляется он часто, раз в неделю типа), либо, если совсем уж поводов нет, просит донат на какую-то благотворительность. Реально, где телега, а где лошадь, да? Сигнал для меня или я для Сигнала? Нет ни одного сценария, чтобы ты открыл Signal и он до тебя с чем-нибудь нерелевантым не доебался.

Не надо так.
24.03.2025, 13:59
t.me/nikitonsky_pub/830
NI
Стой под стрелой
10 741 подписчик
330
19
5.0 k
Есть така мода — перед началом видоса или подкаста делать нарезку из фраз, которые потом дальше там встретятся. Пробничек, типа, чтобы заинтересовать.

Мне это непонятно. Типа, я уже и так пришел, зачем меня _еще_ интересовать?

Кроме того, фразы специально вырывают из контекста, чтобы ты не дай бог чего-нибудь не понял или не узнал. Если узнаешь в заставке, зачем дальше слушать? Получается чистый мусор. Меня, может быть, заинтересовала бы какая-нибудь умная мысль, но там фразы типа «крокодил — это не бегемот», и я такой: че?

Особенно кекно, когда эти штуки стали делать к трейлерам кино или сериалов. Типа, трейлер это и так уже выжимка, плюс он всего минуту-полторы, но нет, надо сделать в начале трейлер трейлера.

Это я к чему? Там у Бирмана подкаст со мной вышел, у нас нормально сделано. Будь как мы. Включай сразу контент.
23.03.2025, 13:55
t.me/nikitonsky_pub/829
NI
Стой под стрелой
10 741 подписчик
274
32
4.8 k
Тут зашла дискуссия про успех Ворда, некоторые пишут, что это мол случайность и монополия, а на самом деле пользователи были бы рады с него слезть, если бы знали.

Я не согласен. ИМХО успех ворда обеспечен двумя факторами:

1. Он умел очень многое. Да, каждый пользователь пользовался только 5% фич, но у всех эти 5% разные. Т.е. когда тебе что-то надо, то высок шанс, что ворд это умел — нет поводов искать что-то другое. Ты просто привыкал делать в нем все, он становился дефолтным местом, куда писать и работать с буквами (см. пост про материал).

2. Он не ставил себя выше пользователя и не ебал ему мозги. Хочешь именно вот это слово сделать жирным красным курсивом? Да пожалуйста. Выровнять пробелами? Вперед. Изменить размер шрифта прямо сейчас, а не настраивать стили? Be my guest. Получалось не очень красиво, но главное что получалось. Представляю пользователей с тем же Notion, где хочешь что-то сделать, а оно пык-мык, так нельзя, у нас другая модель, и вообще мы лучше знаем, мы про другое, короче, иди нахуй. А ворд всех принимал и не судил.

Так что для многих Ворд был просто дефолтной частью компьютера, как окна, рабочий стол и кнопка пуск. ИМХО, очень достойный результат, к такому надо стремиться.

Понятно, что успех офиса это во многом дистрибуция, но одной дистрибуции мало, надо еще что-то из себя представлять. Те же WordPad или Notepad не стали индустриальным стандартом, хотя дистрибуция была такая же и даже лучше (бесплатно).

А идея, что пользователи выбирают что-то только потому, что тупые, не очень правильная — они выбирают для себя локальный максимум. Для большинства людей вложение в изучение Vim-а или Латеха не окупится никогда, так что не надо делать вид что они не слезают с Ворда потому что ленивые или их обманули. Это как раз очень рациональное решение. Ну да, программисты может и хотели бы, чтобы все вокруг выучили Vim. Только они всех остальных спросить забыли.
22.03.2025, 19:11
t.me/nikitonsky_pub/828
NI
Стой под стрелой
10 741 подписчик
154
44
5.0 k
Выложил в любимую социальную сеть Мастодон скриншот Ворда 2000 с комментарием «Peak UI» (потому что я правда так считаю).

Пришли люди со мной соглашаться (ура) но зачем-то показывать скриншоты современного софта со скинами «под Винду 95». И там вообще не то! Например, был скриншот LibreOffice, и технически вроде тот же серый цвет, те же глубокие тени на разделителях, но в деталях все разваливается: дыры, неконсистентости, плохая композиция, рандомные отступы, местами уродливые контролы. В общем, те же игрушки, но не радуют. Скрины на Обсидиан еще хуже: формально целят в ностальгию, но оооочень поверхностно.

Все это заставило меня уважать дизайн Ворда 2000 еще сильнее. Люди думают, я дрочу на серый цвет и ностальгию, а я смотрю, как в нем все четко, ладно, все ко всему подогнано, ничего не торчит и не отваливается, все под рукой, сбито плотно, гармонично и приятно глазу. То, что он нарисован в эстетике 2000-й винды — дело десятое, главное, как он хорошо нарисован. Оказывается, ретро ЮАй делать как хорошую шутку писать — не хуй собачий!

В соседней социальной сети Стив Руиз нашел скрин программы Open Dental, которая примерно с тех же времен существует. Ну и там все очень плотненько, прям впритык, не очень красиво, зато много всего сразу на одном экране. Тоже по-своему peak UI, уверен, дантисты кайфуют. У современной машины с тач-скрином контролов в 10 раз меньше, а экранов в 10 раз больше, и ты бегаешь по этим менюшкам весь день как дурак.

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

- Шрифты с тех пор стали на 25% больше (San Francisco 13 vs Tahoma 11), причем в ширину выросли больше чем в высоту (читаемость на мелких размерах, хотя после долгого пяленья на 11-ую Тахому 13-ый СФ кажется просто огромным).

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

- Контролы используются виндовые стандартные, и контролы кстати сильно больше не стали — те же 20±2 пикселя в высоту (ну то есть как — условная синяя кнопка «Купить» в АппСторе конечно больше, но вот дефолтные кнопки из Cocoa все еще компактные).

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

- Есть какая-то магия, ритм какой-то возникает, когда все набрано одним размером шрифта. Я сейчас открыл АппСтор, и там да, типографика, акценты, буквы побольше-поменьше, шесть размеров на странице, но это не воспринимается как программа больше. Не создает рабочее настроение.

- Рисовать UI все еще надо уметь. На этот Open Dental без слез не вглянешь. Опять же, ностальгия и старые контролы это далеко не все.

UPD:

- Забыл про контраст. Контролы раньше были СИЛЬНО контрастнее
22.03.2025, 03:12
t.me/nikitonsky_pub/827
NI
Стой под стрелой
10 741 подписчик
212
40
4.0 k
Не первый раз попадается фраза «когнитивный перегруз» в отношении софта. Если рядом еще и магическое число 7 плюс-минус 2 то это вообще булшит бинго.

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

Ребят, когнитивный перегруз случается не от количества кнопок! Он случается, когда у вас ничего не понятно. Ну да, если вы назвали кнопку «Parametric anchor point redistribution» или «Subpixel anti-aliasing override», у пользователя случится ментальный перегруз. Потому что это хрен знает что! Перегруз случается от несовпадения ожиданий (ментальной модели) с вашим UI. Перегруз случается, если ты найти то что тебе нужно не можешь. Перегруз случается, если все подписано не там и не так. Перегруз случается, когда меня атакуют подсказками и нотификациями по любому поводу. А если после 10 товаров на странице идут еще 10, что тут может перегрузиться? Ваше чувство прекрасного?

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

Второй по слабости ход — онбординг. «Если ваш интерфейс надо объяснять, то его не надо объяснять». Я уже ушел, пока, до свидания! Не знаю, что еще может так напугать пользователя, как когда ему начинают объяснять все 18 фич продукта, а он пришел только за одной.

А сильный ход — работать со вниманием. Выделять главное и второстепенное. Убирать визуальный шум. Ставить вещи на удобные, ожидаемые места. Подписывать нормально.

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

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

У первого айфона было 4 кнопки, но все помнят, как будто была одна. Потому что управление вниманием. И перегруз не случился, и функции все на месте. Потом добавили двойной, тройной клик, долгое нажатие, сильное нажатие, свайпы слева, справа, снизу и три (!) разных свайпа сверху. Стало тяжеловато. Попробовали даже кнопку убрать, а перегруз остался. То есть дело не в количестве кнопок, а в логичности взаимодействий.

И про количество информации. Сегодня было видео, где чел на голубом глазу рассказывал про cognitive overload, и, как смешно подметил mamutnespit, пока он произносил одну эту фразу, на видео сменилось четыре разных мультика, которыми он ее иллюстрировал. Четыре, Карл!

У людей (особенно молодых) в голове куча свободного места, и они способны воспринимать информацию на огромной скорости. Вы еще попробуйте перегрузите их сначала. Молодые люди проглотят любой интерфейс хоть с сотней кнопок, хоть с тысячей, и еще добавки попросят. Вот что они не готовы терпеть — так это булщит. Впарить много булщита, действительно, сложно. А впарить много хорошего интерфейса — да за милую душу.

И отдельный привет любителям правила 7±2 и далекоидущих из него выводов. Прежде чем ограничивать списки десятью элементами, пересчитайте кнопки на своей клавиатуре. Потом поговорим.
18.03.2025, 15:02
t.me/nikitonsky_pub/826
NI
Стой под стрелой
10 741 подписчик
1
ще и магическое число 7 плюс-минус 2 то это вообще булшит бинго.

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

Ребят, когнитивный перегруз случается не от количества кнопок! Он случается, когда у вас ничего не понятно. Ну да, если вы назвали кнопку «Parametric anchor point redistribution» или «Subpixel anti-aliasing override», у пользователя случится ментальный перегруз. Потому что это хрен знает что! Перегруз случается от несовпадения ожиданий (ментальной модели) с вашим UI. Перегруз случается, если ты найти то что тебе нужно не можешь. Перегруз случается, если все подписано не там и не так. Перегруз случается, когда меня атакуют подсказками и нотификациями по любому поводу. А если после 10 товаров на странице идут еще 10, что тут может перегрузиться? Ваше чувство прекрасного?

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

Второй по слабости ход — онбординг. «Если ваш интерфейс надо объяснять, то его не надо объяснять». Я уже ушел, пока, до свидания! Не знаю, что еще может так напугать пользователя, как когда ему начинают объяснять все 18 фич продукта, а он пришел только за одной.

А сильный ход — работать со вниманием. Выделять главное и второстепенное. Убирать визуальный шум. Ставить вещи на удобные, ожидаемые места. Подписывать нормально.

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

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

У первого айфона было 4 кнопки, но все помнят, как будто была одна. Потому что управление вниманием. И перегруз не случился, и функции все на месте. Потом добавили двойной, тройной клик, долгое нажатие, сильное нажатие, свайпы слева, справа, снизу и три (!) разных свайпа сверху. Стало тяжеловато. Попробовали даже кнопку убрать, а перегруз остался. То есть дело не в количестве кнопок, а в логичности взаимодействий.

И про количество информации. Сегодня было видео, где чел на голубом глазу рассказывал про cognitive overload, и, как смешно подметил mamutnespit, пока он произносил одну эту фразу, на видео сменилось четыре разных мультика, которыми он ее иллюстрировал. Четыре, Карл!

У людей (особенно молодых) в голове куча свободного места, и они способны воспринимать информацию на огромной скорости. Вы еще попробуйте перегрузите их сначала. Молодые люди проглотят любой интерфейс хоть с сотней кнопок, хоть с тысячей, и еще добавки попросят. Вот что они не готовы терпеть — так это булщит. Впарить много булщита, действительно, сложно. А впарить много хорошего интерфейса — да за милую душу.

И отдельный привет любителям правила 7±2 и далекоидущих из него выводов. Прежде чем ограничивать списки десятью элементами, пересчитайте кнопки на своей клавиатуре. Потом поговорим.
18.03.2025, 15:02
t.me/nikitonsky_pub/825
NI
Стой под стрелой
10 741 подписчик
109
30
5.0 k
Читаю новости как Эпл сделала кнопку Mute перечеркнутой или как они планируют круглые иконки или как новый эффект в Messages добавили, и сил нет. Хочется настоящих новостей, как что-то реально новое и полезное сделали.

Какое новое приложение вас штырит? Или которого вы очень ждете?
15.03.2025, 17:09
t.me/nikitonsky_pub/824
NI
Стой под стрелой
10 741 подписчик
214
5
4.1 k
В комментах к прошлому посту пошли жесткие зарубы о природе интеллекта и свободе воли. Поэтому давайте проведем простой эксперимент!

Эксперимент: Если у вас есть свобода воли, НЕ пишите комментарий к этому посту.
13.03.2025, 13:54
t.me/nikitonsky_pub/823
NI
Стой под стрелой
10 741 подписчик
245
41
4.7 k
Пора признаться: я нейросеть.

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

Может показаться, что человек система несравненно более сложная, но это только иллюзия обиженного эго. Я уже писал, что все, с чем мы имеем дело за всю свою жизнь, конечно. Мы знаем конечное количество слов (не такое уж и большое, кстати — десятки тысяч), мы прочитали (и прочитаем) конечное количество книг. Не знаю, тысячу там, допустим. Это вполне познаваемое число, и оно не может быть ну прям сильно больше. Даже слова, которые мы слышим и произносим за свою жизнь, и те исчисляются вполне конечным числом. Миллион? Миллиард? Я не оценивал, но какая разница — понятно, что оно небольшое (ладно, оценил, верхняя граница 2 миллиарда). Для нейросетей это все, конечно, копейки.

Ну вот. Что нам остается? Что-то там себе воображать на основе того, что мы до этого видели. Вам никогда не казалось, что высадка на луну неизбежно должна выглядеть как картинка с телевизора 60-х? Тут недавно записали посадку Blue Ghost, и я не могу это смотреть: мой мозг кричит фейк! фейк! Потому что до этого он был натренирован на старой кинохронике со всеми ее артефактами и особенностями картинки, а тут ему показывают современную, четкую, сочную цифровую картинку, и она просто не совпадает с тренировочным сетом.

Еще раз: всю жизнь мне показывали одно и говорили: так выглядит луна. Это было обучение, ну или работало как обучение. А теперь вдруг показывают другое и мозг, понятно, отказывается классифицировать. Этот же феномен заставляет думать, что первую половину 20-го века люди были черное-белые, хотя они, понятно, были такие же, как и сейчас. Я не могу смотреть фильмы типа 1917 или Fly Me to the Moon потому что стилистика их картинки не совпадает с тем, на чем мой мозг обучался.

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

И я это принял, обучился, поверил, конечно, но не осознавал, насколько это, ну, манипуляция, что ли. Пока я не увидел Юпитер сам, это вполне могло оказаться заговором, длинным, да, на всю жизнь, но почему нет? Вы уверены, например, что существует Антарктида? Или даже Австралия? Да? Откуда? Или, например, если никогда не выезжали из России, но учите английский, что это вообще настоящий язык, а не пранк, который придумали преподаватели?

Мы можем оперировать только тем, что пробегает перед нашими глазами, а это весьма конечный объем информации, даже за всю жизнь. Получается, можно просто долго показывать одно и то же, и я в это поверю. Ну и чем это лучше нейросети?
12.03.2025, 17:21
t.me/nikitonsky_pub/822
NI
Стой под стрелой
10 741 подписчик
345
182
8.2 k
Слушал Подлодку про открытые зарплаты. Моя позиция очень простая: открытые зарплаты выгодны работникам, закрытые выгодны работодателю.

Если сотрудники не знают, у кого сколько, то можно им не доплачивать: или прогнуть на собеседовании, или долго не повышать.

Почему новым сотрудникам обычно дают больше, чем старым? Почему тактика «уволиться и наняться снова на бóльшие деньги» существует? Потому что те, кто приходят с рынка, хоть как-то хоть с чем-то свою зарплату могут сопоставить и, соответственно, запросить адекватные деньги. Т.е. знание == деньги.

До сих пор помню, как мне в JetBrains в 2018-м пытались дать 200К рублей в Москве, потому что «это наша верхняя планка на эту позицию». Тут возмутился даже я, настолько мне было очевидна абсурдность предложения.

Вообще я терпеть не могу торги, вымогательства, все вот эти вот манипуляции, блеф «ах, если не дадите Х, я уйду к другим» — «ну нет, мы готовы дать только Y». Если мне говорят «мы готовы дать Х», я это воспринимаю буквально: если цифра мне нравится, соглашаюсь, а если не нравится, то ухожу. Я просто не хочу допускать, что фраза «мы готовы дать Х» в реальности означает «на самом деле мы готовы дать 2Х, но хотим посмотреть сначала, получится ли тебя наебать».

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

Подумайте сами: зачем бы работодатель запрещал раскрывать зарплаты (по дефолту подразумевается, что они приватные, а некоторые даже специально это в контракт включают), если не ради своей выгоды? Если бы раскрытие з/п было невыгодно сотрудникам, они бы ее и не раскрывали, не надо было бы это отдельно в контракте запрещать. Однако почему-то запрещают, и запрещают именно работодатели.

UPD: На самом деле _сотрудникам_ нельзя запрещать разглашать з/п. Поэтому вот моя в Германии: JetBrains €90K/год, Roam Research €120K/год, это 2019-2023. Потом начались контракты и NDA, и тут уже не от меня одного зависит :(

В общем, кидайте свои зарплаты в комменты!
11.03.2025, 16:46
t.me/nikitonsky_pub/821
NI
Стой под стрелой
10 741 подписчик
379
28
5.0 k
Кстати лайфхак: если хотите ноут с матовым экраном, не надо за него доплачивать. Возьмите глянцевый и просто доработайте наждачкой. Результат тот же: мыльное изображение, блеклые цвета, отсутствие отражений. Только еще и сэкономите.
10.03.2025, 13:41
t.me/nikitonsky_pub/820
NI
Стой под стрелой
10 741 подписчик
334
44
4.8 k
Одна вещь, которая меня абсолютно выносит, это когда что-нибудь спрашиваешь, а люди в реплаях такие: «Я спросил ЧатГПТ, вот что он ответил...»

Я реально не понимаю: а зачем? Чтобы что? Что этот комментарий добавляет к дискуссии? Это примерно того же уровня содержательности, что и «моя собака принесла мячик» или «эти слова можно еще вот в таком порядке сложить».

Не знаешь — ну промолчи. У тебя кнопка «промолчать» платная что ли?
8.03.2025, 21:57
t.me/nikitonsky_pub/819
NI
Стой под стрелой
10 741 подписчик
280
19
4.2 k
Как-то в прошлом году я ходил на курсы стендапа, чтобы научиться быть смешным. А то айтишник в Германии — как-то не обхохочешься.

Надо было, получается, написать шутку. А я как раз в каком-то интернет-магазине сидел, кроссовки смотрел. И он как давай мне ИИ-помощника впаривать. Вот я и пишу: смотрите, какая бесполезная штука! С чем она мне может помочь? Все уже и так написано и нарисовано. И спросил помощника: цена за кроссовки — это за один или за пару?

Очень гордился этой шуткой. Но, думаю, одной мало, надо еще примеров накидать. И завис. Сидел-сидел, думал-думал, но все не то получалось. Так ничего и не придумал.

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

Прихожу на занятие в группу. Рассказываю шутку. Группа ржет. Преподша начинает делать замечания: шутка классная, но всего одна, надо развить. А накидай, говорит, примеров! Например, можно сказать... тут пауза... ну вот можно то, например, сказать, или это. И сама понимает, что примеры ну оооочень мягко говоря ни о чем. Ладно, говорит, придумайте потом что-то посмешнее.

Это я все к чему? Придумать хорошую шутку — не хуй собачий!
7.03.2025, 12:39
t.me/nikitonsky_pub/818
NI
Стой под стрелой
10 741 подписчик
380
179
4.9 k
Так, кажется пора писать книгу. Собрал все правила хороших интерфейсов в одном месте:

- Нет регистрации и логина
- Нет попапа про куки
- Нет нотификаций
- Да, даже красных кружочков нигде нет
- Нет попапов с онбордингом
- Нет предложения обновиться на запуске
- Нет Welcome Screen
- Нет ИИ
- Нет рассылки с новостями
- Нет загрузок между экранами
- Нет текста, выровненного по правому краю
- Не клянчит отзыв
- Не клянчит пермишны (это уже больше к ОС, конечно)
- Не теряет данные
- Не окружает со всех сторон (потом как-нить расскажу)
- Не шумит
- Текст центрирован в кнопках
- Текст не обрезает...
- Анимации не длиннее 100 мс
- Контролы не скроллятся
- У контролов есть границы
- У контролов есть аффорданс
- Контролы не плавают поверх контента
- Контролы видны сразу, а не по ховеру
- При наведении на кнопку не меняется курсор
- Даты указаны в абсолютном формате
- Все, что можно нажать, можно нажать с клавиатуры
- Работает без интернета

Уффф, труд всей жизни все-таки. Что еще забыл?
6.03.2025, 16:52
t.me/nikitonsky_pub/817
NI
Стой под стрелой
10 741 подписчик
325
23
4.6 k
Еще секрет от автора популярного канала. Знаете, какие посты самые унылые? Мета. Про то, как писать посты. Как автору тяжело. Где он искал вдохновение. Сколько собирался с силами. Как писал движок, или какой взял готовый. Как реагирует аудитория. Что, по его мнению, нравится читателям. Вопросы, о чем писать дальше. А еще анонсы, что будет писать чаще. Последние два – это вообще смертный приговор, после такого только умирать.

Мы пришли сюда — зачем? За контентом. Вот контент и давай. А какие приключения пережил автор, чтобы его добыть — пусть друзьям в баре рассказывает.
5.03.2025, 17:59
t.me/nikitonsky_pub/816
NI
Стой под стрелой
10 741 подписчик
291
3
4.9 k
Вот если бы сейчас ничего не написал, еще десяточка может быть прибавилась бы
4.03.2025, 15:18
t.me/nikitonsky_pub/815
NI
Стой под стрелой
10 741 подписчик
482
55
6.2 k
Хотите прикол? Если в канал ничего не писать, число подписчиков потихоньку растет. А если писать, то кто-то постоянно отписывается. Так что писать невыгодно. Думайте
3.03.2025, 18:50
t.me/nikitonsky_pub/814
NI
Стой под стрелой
10 741 подписчик
303
50
5.2 k
Главное правило качественного интерфейса: он не должен дребезжать.

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

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

Что такое дребезжащий интерфейс? Это любое паразитное движение, не связанное с основным использованием программы. Например, при загрузке страница прыгает. Ну там, размеры картинок не прописали, или CSS загрузился позднее HTML-я, или реакт инициализровался и что-то съехало. На всякий случай уточню: ЭТО ПЛОХО. ТАК ДЕЛАТЬ НЕ НАДО. Повторяю, как слышно? НЕ. НАДО.

Дребезжащий интерфейс создает ощущение, что автор не в полной мере контролирует экспириенс. «Так получилось» вместо «я так хотел». Но если он не смог оседлать Реакт, что от него ожидать во всем остальном?

Или другой пример: каждый раз, когда я плачу за что-то Пейпалом, он открывает всплывающее окно, в котором есть небольшой, на десяток пикселей, вертикальный скролл. Мелочь? Мелочь. Портит впечатление? Еще как. Вместо четкого, выверенного, звонко задизайненного окна мы видем какое-то невнятное мямленье. «Так получилось».

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

Когда-то давно я пользовался Git Kraken и был доволен. А потом переехал на Sublime Merge — она ощущалась визуально беднее, но одновременно надежнее. Вот буквально, «не дребезжала». Я понял, что вижу, как интерфейс Кракена грузится, вижу эти полсекунды черного экрана, когда ничего нет, вижу, как кнопки чуть прыгают влево-вправо в зависимости от того, как им повезло отрендериться. И это все снижало кайф от использования.

Так что будете делать в следующий раз часы — убедитесь, что используете табулярные цифры. А то будут иконки скакать влево-вправо каждый раз, как 19:11 сменяется на 19:12.
2.03.2025, 21:21
t.me/nikitonsky_pub/813
NI
Стой под стрелой
10 741 подписчик
145
35
4.3 k
Пользуясь случаем, передаю привет коллегам, котором был нужен был термин для транспортного средства, и они взяли vehicle, а потом им понадобился еще один — тоже транспортное средство, но в другом контексте — и они недолго думая взяли его из немецкого языка: fahrzeug переводится буквально как vehicle.

Ну а что, все требования хорошего названия соблюдены: одно слово, уникальное, легко запомнить, умеренно короткое, сокращается хорошо (fz). Как говорил Рич Хики, все удачные слова для названий давно разобраны, но он забыл, что можно смотреть в соседних языках!

UPD: Непонятно, что речь про код? Речь про код
27.02.2025, 13:56
t.me/nikitonsky_pub/812
NI
Стой под стрелой
10 741 подписчик
394
126
5.2 k
Знаете, что потеряли современные программы? Доверие.

Раньше же было как? Нажал кнопку «Сделать Х» — программа идет и делает Х. Не спрашивает, не уточняет, не ломается, не делает что-то другое, не просит залогиниться, не продает другие фичи, не обучает. Просто идет и делает.

А сейчас как? Хочу я, например, поменять обои на рабочем столе. Я иду и меняю. А потом через неделю обнаруживаю, что опять почему-то включились сраные живые обои и опять жрут два гига оперативки. Хотя они мне не нужны примерно никогда и я не включал их никогда. Кто же тогда включил?

Или на сайте есть галка «запомнить меня». Я нажимаю галку. Что я обнаруживаю на следующий день? Меня снова просят залогиниться. Ну и какое тут доверие?

Или поиск. Мы уже привыкли, кажется, что если ты что-то ищещь, то тебе вместо результатов будут показывать какое-то говно. Типа, «пользователи также искали».

ПОЧЕМУ НЕЛЬЗЯ ПРОСТО СДЕЛАТЬ ЧТО ПРОСИЛИ??? Не умничать, не гадать, не улучшать. Просто пойти и сделать.

Или сегодня например я пытался (вы будете смеяться, да) папку передвинуть на рабочем столе. Не смог (но лулзов много собрал).

Или вот у меня 1Password, они иногда разблокируется, а иногда не разблокируется. Иногда требует пароль, а иногда Face ID достаточно. Иногда синхронизирует пароли, а иногда нет. Почему? Что там за магия? И, главное, как я могу на такое положиться?

Или тот факт, что любой (да, любой, вообще любой) видеозвонок начинается с «меня слышно»? А почему может быть не слышно-то? Железо одно и то же, колонки одни и те же, микрофон один и тот же. Зачем вообще существует состояние, когда программа может не принимать или не передавать звук? Чтобы что? Или почему, скажем, нельзя один раз все настроить? Почему это меняется от ситуации к ситуации?

Ну, про блютус я вообще молчу. Кто из нас не жал кнопку «Коннект» и не сидел как дурак в ожидании чуда.

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

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

Правило хорошего интерфейса: нажимаешь на кнопку — работает. Вот так вот просто, да. Никто не умеет почти.
26.02.2025, 19:10
t.me/nikitonsky_pub/811
NI
Стой под стрелой
10 741 подписчик
125
116
4.2 k
Прочитал вчера за вечер комикс Hard Boiled. Круто сварено, конечно. С одной стороны смесь Терминатора/Робокопа/Бегущего по лезвию/Матрицы/Призрака в доспехах (да, всего сразу!), которая при этом не ощущается как повтор, просто абсолютно своя свежая история, которая тем не менее вызывает ТЕ САМЫЕ чувства. Ну вдруг вам тоже надо. Мне, оказывается, было надо.

Изначально зацепился за картинки — видно, что художник кайфовал, когда рисовал, люблю такое, это прям чувствуется. Но в итоге рад и сюжету. Книжка еще, к счастью, короткая (сто тридцать страниц где-то), то есть все что надо делает, но легкими такими набросками, не успевает надоесть.

А еще это жиза про мужика, который всю дорогу думает «надо просто поспать, и все пройдет».

В общем, кайфанул.
25.02.2025, 12:53
t.me/nikitonsky_pub/810
NI
Стой под стрелой
10 741 подписчик
180
18
4.6 k
У Кейси Муратори в Твиттере ситуация: он написал, что некоторые скомпилированные Clang-ом программы помечаются виндой как вирусы. Естественно, любители линукса только этого и ждали и тут же выскочили с советами переходить. Что с этим не так?

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

Когда-то давно у меня был коллега с маком, а я тогда еще был бедный и кодил на винде. И вот он мне рассказывает: ты знаешь, винду я пробовал, линукс попробовал, теперь мак. И как-то не хочется куда-то двигаться дальше. Я засмеялся: куда дальше-то, чел? Это все, это все опции. Больше ничего нет.

В общем, мораль. Да, важно выбрать себе среду по душе. Язык/ось/ноут. Если бы я не нашел Кложу когда-то, я бы уже давно вышел в Windows с четвертого этажа. Но от проблем нельзя вечно бегать. Да, наверное, где-то есть Линукс-дистрибутив, который я еще не попробовал и на котором нет проблемы, с которой я столкнулся прямо сейчас. Этой нет, но есть другие, и процесс переключения между ними не сходится к предельному идеальному Линуксу с нулем проблем.

Важно помнить, что сам смысл переключения не в том, чтобы постоянно бегать, а в том, чтобы на чем-то остановиться, засучить рукава и начать фиксить оставшиеся проблемы. Кто-то же должен.
23.02.2025, 14:19
t.me/nikitonsky_pub/809
NI
Стой под стрелой
10 741 подписчик
296
28
4.9 k
Всем видеофайлам надо дать расширение .video. Никаких больше avi, mov, mp4, flv, прости господи, qt, wmv, m4v, жесть что полезло.

Смысл расширения же какой? Ты видишь его и знаешь, что там у файла внутри. А видеофайлы так не работают. У них на коробке написано «mp4», открываешь, а внутри — «mpeg 2». И что, и зачем? Если один фиг расширение ничего не значит, то давайте тогда уж упростим до одного.

(Еще сильнее я бы предпочел, чтобы расширение означало _кодек_, а не контейнер, но вы не готовы к этому разговору)

Навеяно тщетными попытками переучить мак открывать видеофайлы с помощью VLC, one extension at a time. Уже пару месяцев эпопея длится, все время новые какие-то попадаются.
22.02.2025, 16:08
t.me/nikitonsky_pub/808
NI
Стой под стрелой
10 741 подписчик
410
31
4.9 k
Что я пиздец как люблю так это низкую лейтенси. Меня хлебом не корми, дай что-нибудь с низкой лейтенси понажимать. Вот прям иногда даже не нужно, а просто так погоняешь что-нибудь низколатентное и настроение поднимается.

С низким лейтенси компьютер ощущается быстрее. Воткнул 120 Гц монитор вместо 60 и сразу все в два раза быстрее стало. Чудеса, но именно так и ощущается.

Я вообще тот самый человек, который еще помнит ОС без композитора, и помню, что на них печаталось быстрее.

Главный враг низкой лейтенси — блюпуп. Как только воткнешь что-то по блюпупу, так все: прощай, лейтенси. Поэтому у меня трекпад подключен по проводу — пусть некрасиво, но лейтенси важнее. Там 30 мс что ли накидывает блюпуп. Мышки, клавы — все через донглы, даже если можно без них. Из игрвого компа прям батарея донглов торчит — ну а что, лейтенси важнее. Купил недавно 8bitdo контроллер только ради лейтенси, запустил Хейдес 2, так сразу и персонаж как-то повеселее бегает. А всего-то надо было, лейтенси чутка срезать.

Второй враг — анимации, третий — электрон. Поэтому программы надо тоже выбирать правильно. Саблайм текст — хорошо, студия — плохо. Даже обычный вывод ls в терминале становится веселее, если его рендерить на 120 Гц. Да, это заметно.

Но вообще я все с низкой лейтенси люблю. Мониторы, мыши, контроллеры, уши, карандаши, электронные сигареты. Если не знаете, что мне на ДР подарить — подарите низкую лейтенси.

А высокую не дарите.
21.02.2025, 17:16
t.me/nikitonsky_pub/807
NI
Стой под стрелой
10 741 подписчик
417
166
5.4 k
Помогите Даше спланировать рабочий день. В сутках 24 часа, 8 мы спим (я сплю вот чтоб по кайфу прям 9, но допустим напрягусь). Остается 16.

Дальше, допустим, 8 часов это работа, более-менее стандартно. Осталось 8. Три часа на еду, ну там плюс-минус. Итого пять. Еще час на дорогу туда-обратно. Четыре. Душ раз в день, зубы почистить, еще допустим полчаса. Три с половиной.

То есть 3,5 часа в день у тебя есть, если вот прям совсем ничего не делать, это прям максимум, лучший случай.

Ну а дальше идут уже преференции. Как будто спорт это тоже маст — без него или депрессия, или сердце остановится. Это минус два часа еще (час на треньку, 30 на дорогу, плюс сбор-переодевание-душ).

Получается, если ты работаешь восемь на пять, у тебя в день где-то полтора свободных часа остается. И это если все прям впритык делать. На практике там то в магаз заскочил, то погулять вышел, то мемы полистал, и вообще ничего не остается. Секс, опять же — где эти десять минут взять?

И что, правда, у вас всех тоже так? Пять дней подряд ты ходишь от одного обязательного дела к другому, впритык практически? Как тогда хоть что-то вообще делать? Язык там учить, на права сдавать, с друзьями встречаться? Хобби? Куда люди засовывают хобби?

Понимаю, что звучит так, что я опять набрасываю, но не, это искренне. Может быть, я где-то себя обманул, передернул, но штука в том, что я этого не вижу. Расскажите, где время-то брать, чтобы жить?
20.02.2025, 19:59
t.me/nikitonsky_pub/806
NI
Стой под стрелой
10 741 подписчик
311
94
4.7 k
Баги — не всегда плохо. Например, в Сталкере 2 они работают на атмосферу.

Игра как бы про «зону аномалий», в которой происходит всякая ебанина. При этом в игре полно багов. Можно, конечно, расстраиваться, а можно сделать вид, что это такие же аномалии, только они настолько сильные, что пробивают до твоей операционной системы.

Более того, с этими «аномалиями» можно и нужно бороться! Гуглишь, читаешь форумы, ищещь способы, как их обойти (графику скинуть в сложных местах, сохраняться стратегически, в настройках драйвера пошаманить). Вот это я понимаю, иммерсивный геймплей! Совсем другая игра была бы, без багов-то. А то скачать и запустить экзешку каждый дурак может.

Было бы еще круто, если оно тебе начало диск корраптить и твои папки по диску рандомно перемещать. А если зафейлил концовку, то вообще чтобы винду пришлось переустанавливать.

Вот круто было бы!
17.02.2025, 16:12
t.me/nikitonsky_pub/805
NI
Стой под стрелой
10 741 подписчик
227
25
4.5 k
Захотел тут приложение на проде попрофайлить. Приложение на кложе, кложа в докере, докер в aws-е. К счастью, у нас кто-то настроил скрипт, который пробрасывает REPL-порт, так что подсоединиться к кложе я могу одной командой.

Ну вот, присоединился к реплу, запустил, сгенерил флеймграф, он сохранился на файловую систему. А как достать его теперь? Напоминаю, что файл в джаве, джава в докере, докер в aws-е.

Покумекали с коллегами и сообразили решение: надо из кложи загрузить результат напрямую на flamebin! Там как раз в профайлере и опция такая есть.

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

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

Вот за это я интренет и люблю.
15.02.2025, 01:54
t.me/nikitonsky_pub/804
NI
Стой под стрелой
10 741 подписчик
204
17
4.6 k
Прододжаем писать про вещи, которые я люблю. Сегодня — внезапно — Мавен (мейвен, maven). Шок-контент, ага.

А люблю я его за то, что какую бы команду ты ни вызвал, он вызовет все предыдущие необходимые. Написал ты условно mvn test, он посмотрел, ага, тесту надо билд, вызвал билд, билду надо препроцесс, ага, вызвал препроцесс, препроцессу надо скачать зависимости, ага, скачал. Это может быть небыстрый процесс, но он в итоге завершится тем, что у тебя выполнится тест, как ты и хотел.

Ну вот. Люблю я, конечно, не сам Мавен, а тулзы, которые работают по такому же принципу. Которым не надо явно звать build/install/download, если они сами знают, что их нужно сделать. А про тулзы, которые так не делают, сегодня говорить не будем.
13.02.2025, 19:39
t.me/nikitonsky_pub/803
NI
Стой под стрелой
10 741 подписчик
194
29
5.0 k
Мои рабочие принципы, как и у многих нашего поколения, заимствованы из популярной культуры.

В сериале Луи есть момент, где комик рассказывает, как ему на гастролях выделили гримерку, но имя напечатали с ошибкой. Но он пошел к менеджеру и попросил исправить. Да, говорит, ошибка незначительная, и ни на что не повлияет, но и исправить ее ничего не стоит. It’s an easy mistake to make, but also an easy mistake to fix.

Второй — фильм Ежевика (BlackBerry, не смотрите) про компанию BlackBerry. Там основатель, собственно, Блэкберри, построил империю, но что в начале, что в конце, когда видел перед собой девайс, который едва слышно жужжал, разбирал его и смотрел, в чем дело. И не важно, был он в тот момент босоногим юнцом или солидным пожилым бизнесменом. Всем, понятно, на такие мелочи было пофиг, и вообще у них проблемы посерьезнее начались, но вот он если видел косяк, брал и исправлял.

Это не формула, понятно, успеха, но то, что отзывается во мне сильнее всего.
12.02.2025, 19:22
t.me/nikitonsky_pub/802
NI
Стой под стрелой
10 741 подписчик
399
123
5.6 k
Экстренный выпуск! Я знаю, что обещал писать только про хорошее, и это еще будет, но пока есть очень важная тема:

Вы любите работу?

Очень часто люди говорят, что да, и советуют мне поискать другую, когда я им говорю, что не люблю.

Мне кажется, наше непонимание тут прячется в языке. «Я люблю работу» обычно значит, что, ну, мне окей, я готов это терпеть. И в этом смысле я понимаю и принимаю, что да, так мир устроен, и все мы, кому не повезло родиться в богатой семье, вынуждены 45-50 лет работать, пока не умрем, с перерывами раз в год на пляж. Что ж поделаешь. Родился, покоммитил 50 лет в монорепу, умер. Надо научиться как-то получать удовольствие.

Но мне кажется, здесь нельзя использовать слово «люблю». Люблю — значит, что делаю это добровольно, и что это самое лучшее, что я могу себе представить. И под это определение, мне кажется, работа очень редко попадает.

Вот представьте — вам не нужны деньги, и работа не дает вам денег. И что, вы, вот лично вы, будете после этого продолжать добровольно ходить в офис, встречаться с теми же людьми, собираться на те же самые созвоны, те же задачки в жире закрывать? Правда? Честно? Типа вот есть человек, который такой: «Знаете, если бы мне не платили, я бы все равно ходил и коммитил фиксы в AWS, мне это нравится и я бы посвятил этому жизнь»?

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

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

Я люблю программирование — само по себе — и да, я бы им занимался, если бы даже мне за него не платили (и я занимался, то есть это проверенный факт). Но вот ходить и работать именно работу — ну хз, как это можно любить. Обидно тратить жизнь на достижение чужих целей.
11.02.2025, 18:50
t.me/nikitonsky_pub/801
NI
Стой под стрелой
10 741 подписчик
508
70
5.0 k
Как и обещал, пишу про прекрасное.

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

А рядом сидели парочки, смотрели закат и целовались. Жизнь прекрасна.
10.02.2025, 15:44
t.me/nikitonsky_pub/800
NI
Стой под стрелой
10 741 подписчик
403
34
5.1 k
Короче, меня тут пристыдили, что я все ругаю и ничего не хвалю. Так что меняем стратегию: теперь буду писать только о хорошем. Как увижу хорошее — сразу сюда напишу. Будем формирвать реальность через восприятие. Ждите
9.02.2025, 02:52
t.me/nikitonsky_pub/799
NI
Стой под стрелой
10 741 подписчик
292
46
7.2 k
Мой любимый айфонный момент — когда ты куда-то логинишься и сервис присылает тебе СМС с кодом. Клавиатура это просекает и показывает подсказку «From Messages: 12345», типа, можно сразу нажать и вставить. Так вот, сначала эта подсказка появляется на клавиатуре, очень быстро, почти мнгновенно. И только потом еле-еле начинает вылазить нотификация, что пришла СМС. То есть все данные получены и готовы почти сразу, а вот для пользователя анимации с заментной задержкой. Нам _кажется_, что нотификация это и есть момент прихода СМС, а на самом деле все давно уже обработано.

То есть даже современные технологии во многом сильно быстрее человека, но мы решили, что «обывателя» надо беречь, замедлять, анимировать и всячески готовить, а то он не успеет обработать ответ через 0.1 секунды и занервничает.

Поэтому я стараюсь на тренды не ориентироваться, пользователя уважать (а не держать за дурака) и зря его время не тратить. Мой идеал интерфейса — кассы, где все нарисовано в досовском текстовом режиме и кассир неглядя фигачит по клавиатуре, точно зная что любой его ввод успеет отработаться. Или терминалы у официантов, которые они иногда еще углом карты натыкивают: тыц-тыц-тыц и все готово. Человек не должен ждать компьютера.

Представить такое в современных консьюмерских интерфейсах сложно, конечно.
7.02.2025, 19:27
t.me/nikitonsky_pub/798
NI
Стой под стрелой
10 741 подписчик
267
24
4.8 k
В редакторе Fleet от Джетбрейнс (какое-то время назад) сделали плавный текстовый курсор. Типа, ты нажал вверх, а палка не сразу вверх скакнула, а плавно туда анимировалась.

И сделали неправильно. Вообще проблема валидная — когда и так маленькая фигнюшечка прыгает мнгновенно в произвольное другое место экрана, уследить может быть сложно. Особенно если у тебя не редактор, а попурри из всех цветов радуги — курсор на таком фоне выделить нетривиально.

И анимация — валидный способ эту проблему решить. За плавными изменениями глазу легче следить, чем за резкими.

НО. Добавляется лейтенси. Курсор теперь ездит, как по болоту — медленно и неохотно. Компьютер сразу же ощущается в сто раз медленнее, хотя по факту скорость не изменилась.

Как надо было делать? Очень просто — в ответ на любое действие пользователя надо реагировать мнгновенно. А анимировать уже после того, как действие произошло. В случае с курсором — прыгать сразу, но рисовать полупрозрачный след из старого положения в новое, и, может быть, постепенно подтягивать его к текущей позиции. Но изначальное перемещение должно происходить сразу.

Когда-нибудь я сделаю демку и попробую с этим поиграться. Мне кажется, анимированный курсор — одна из фич, которые могут позитивно улучшить опыт от редактирования текста. Хотя, казалось бы, ему уже пятьдесят лет и там давно все придумали. Но надо делать правильно.
6.02.2025, 15:58
t.me/nikitonsky_pub/797
NI
Стой под стрелой
10 741 подписчик
170
47
4.8 k
Вы никогда не задумывались, в какой момент наступает старость? Все мы угараем над старшим поколением, как они верят телевизору, как они не умеют пользоваться техникой, как не понимают новояза.

А когда это произойдет с нами? В какой момент и с чем именно мы перестанем управляться? С тиктоком? LLM? В какой момент мы начнем генерировать абсурдные, неадекватные мнения, которые может имели бы смысл в мире, в котором мы выросли, но были бы абсолютно неадекватны сегодняшнему дню? В какой момент мы станем обузой, которую сметут с лица земли, из генератора трендов превратимся в дедов и бабок, забывших выпить таблетки?

Интересует конкретика. Спасибо.
5.02.2025, 19:20
t.me/nikitonsky_pub/796
NI
Стой под стрелой
10 741 подписчик
326
17
4.8 k
Не понимаю дебатов. Ни самой активности, ни интереса к ней. Две стороны в ограниченное время пытаются убедить третью (зрителей) в своей правоте.

Но это бессмысленно! Почему мне должно быть интересно, кто из них прав? Я вижу их в первый и последний раз. Мне _может_ быть интересно, что там по поводу вопроса, который они обсуждают, но точно не их ораторские способности.

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

Понимаете? Вместо того, чтобы _разобраться_, как оно там на самом деле, мы как бы болеем за чуваков, которые отстаивают рандомно распределенные точки зрения. Кто лучше отстаивает, тот лучший дебатер. Особым шиком считается выступать за точку зрения, с которой ты не согласен. То есть они сами в это не верят, а мы почему-то должны?

То есть это такой конкурс красоты, в котором участники соревнуются, кто ловчее сможет меня наебать. При этом они это знают, я это знаю, все это знают, но почему-то все притворяются, что это имеет смысл.

Как видите, я не понимаю дебатов.
4.02.2025, 14:26
t.me/nikitonsky_pub/795
NI
Стой под стрелой
10 741 подписчик
476
89
4.9 k
Ваше айти не карго-культ? Как тогда объясните всеобщую любовь к относительным таймстемпам?

Кто-то когда-то решил, что даты, как они хранятся в компьютере ( 2025-02-03T12:20:19.594320Z), не очень человеко-читаемые и надо как-то их облагородить. Было решено сконвертировать их в относительные таймстемпы.

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

(здесь отступление про то, что как только это изобрели, встала другая проблема — надписи типа «пять секунд назад» устаревают каждую секунду, а «пять минут» — каждую минуту. Так что приходится городить jAvAsCrIpT чтобы они имели смысл. Ну да нам не привыкать — программирование оно все про создание проблем и потом героическое их решение)

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

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

К проблеме относительности добавляется еще округление, которое никто не умеет делать. 200 дней? Год назад. 366 дней? Два года назад. НИКТО ИЗ ЛЮДЕЙ ТАК НЕ ДУМАЕТ. Даже программисты так не думают. Но продолжают лепить бессмысленные «два года назад» на коммиты из января 2024 (да, у меня есть скриншот) или «день назад» на коммит, сделанный в 23:59, когда смотришь на него в 00:01, и думать, что делают «человеко-читаемые таймстемпы».

Люди не говорят «день назад», люди говорят «вчера». Не «год назад», а «в прошлом году». Но все равно, точность-то теряется, если вы напишете «в прошлом году» на коммите, сделанном в декабре 2024, я вас приду и стукну по голове.

(тут был пассаж, как бы я округлял правильно, но я его удалил, потому что вы же возьмете и реализуете, а пост про то, что относительные таймстемпы не нужны, а не про то, как правильно их сделать)

Короче, что делать?

- На сегодняшних датах пишите: «сегодня 18:20».
- На вчерашних еще можете «вчера 18:20» (именно вчера, прошлые календарные сутки, а не «когда больше чем 24 часа», блин). Тут, внезапно, помогает язык — слово для «вчера» есть, значит людям удобно думать в терминах «вчера-сегодня-завтра». А для два-три-четыре дня назад-вперед уже неудобно.
- Если дата на этой неделе, то «четверг 18:20». Не неделю назад, а НА ЭТОЙ НЕДЕЛЕ. Нехватало мне еще гадать, прошлый имеется в виду четверг или будущий.
- Дальше уже переходите на абсолют: «30 декабря, 07:00».
- Когда меняется год (не равен текущему), добавляйте и год тоже: «30 декабря 2024, 07:00».

Все, блин. ЭТОГО ДОСТАТОЧНО. ЭТО УЖЕ ДОСТАТОЧНО ЧЕЛОВЕКОЧИТАЕМО. «А может...» НЕТ! НЕ МОЖЕТ. Остановитесь. Возьмите свой «семьдесят семь недель назад». Посмотрите на него. В последний раз. И засуньте себе в жопу. И никогда не доставайте. Я все сказал.
3.02.2025, 15:53
t.me/nikitonsky_pub/794
NI
Стой под стрелой
10 741 подписчик
343
59
4.5 k
Общение переусложнено.

Пишет знакомый: «давай встретимся, кофейку попьем как-нибудь». Я обрадовался, говорю «давай, может завтра?». Он явно напугался, начал сначала про работу что-то придумывать, а потом и что он вообще уезжает до апреля. То есть я очевидно не понял, что он имел в виду.

И вот вопрос. Даже два. Первый: зачем мы используем фразы, которые уже что-то значат, причем что-то конкретное, чтобы сказать что-то прямо противоположное? Зачем говорить «давай», если ты имеешь в виду «не давай». Зачем, блин, добавлять всякие подробности, если ты это все сказал просто из вежливости?

Второй: можно как-то хотя бы как-то последовательно их использовать? Потому что было бы не так плохо, если «давай встретимся» значило «не давай» в близком к 100 или хотя бы 90% случаев. Но это буквально 50 на 50! В половине случаев люди буквально хотят меня увидеть, а я им в ответ «ха-ха, да, я тоже больше никогда не напишу». Я могу запомнить правила, но как запомнить правила, которых нет?

В общем, вы как хотите, а я в эти ваши социальные ритуалы играть отказываюсь. Буду аутистом. У нас хотя бы логика есть.
1.02.2025, 13:38
t.me/nikitonsky_pub/793
NI
Стой под стрелой
10 741 подписчик
220
22
4.6 k
А знаете что еще бесит? Что телефонные приложения разучились умещаться на один экран. Куда ни плюнь все скроллятся. Даже часы, блин, скроллятся!

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

Возьмем погоду. Что нам нужно? Текущая погода, это две цифры условно. Погода на день. И на неделю. Где-то цифр 20, да? Сколько цифр поместится на самый маленький экран самого маленького смартфона? Сто? Двести? А сколько я нашел приложений, которые бы смогли всю эту базовую информацию показать сразу на одном экране, без прокрутки? Примерно ноль.

Хотя казалось бы. Зато с прокруткой находится миллион. А что, палец не казенный, метрики интеракции растут.

А я всего-то хотел увидеть все нужное сразу.
31.01.2025, 15:13
t.me/nikitonsky_pub/792
NI
Стой под стрелой
10 741 подписчик
380
51
4.8 k
Никто не умеет логировать правильно. Логировать надо что? Когда что-то пошло не так. А логируют что? Да все подряд!

Мы стартанули. Мы стартанули-2. Используем версию ядра 27-14-88. Проверяем дату. Дата на месте. Проверили конфиг. Конфиг на месте. Прочитали конфиг. Конфиг прочитался! Закрыли файл конфига. Файл закрылся успешно. Первая фаза старта завершилась успешно. Опа, что тут у нас? Запрос пришел. Так, внимание! Система обработки запросов инициализирована. Приступаю к обработке запроса. Нужно в базу. В базу отправлен запрос! Ждем. Дождались. Ответ от базы получен. Идентифицирован пользователь. Первая фаза парсинга запроса завершена. Начинаем КВН...

И так до бесконечности. Ну невозможно же! Зачем? Зачем мне все это видеть? На каждом запросе? Если все хорошо, то и ладно. Значит все работает. Оно и должно работать. Об этом не надо как-то отдельно упоминать. Это под-ра-зу-ме-ва-ет-ся!

Но это совсем очевидный момент. Чуть менее очевидный — ошибки. Иногда кажется, что если что-то пошло не так, то это исключительная ситуация и о ней точно надо написать! А вот и не всегда. Не всякая ошибка это исключительная ситуация.

Скажем так — если вы на что-то проверяете, то это уже не исключительная ситуация. Юзер пришел без токена? Ну норм, вы же это как раз проверяете. Отлично. Запросил страницу за пределами рейнжа? Нет прав? Сессия протухла? Попытался разлогиниться без логина? Зашел на несуществующую страницу? Ну так вы же это все предусмотрели, ошибку юзеру отправили, чего тут исключительного?

Я уже писал про систему сборки Ninja, которая, если все пошло хорошо, выводит всего одну строчку — «все готово, мастер». Вроде бы Zig пошел дальше, и если все тесты прошли успешно, то он вообще ничего не выводит (я бы одну строчку все-таки оставил, вдруг тесты не подцепились, хотелось бы видеть цифру прогнанных). Учитесь у них. А у джаваскриптеров и джавистов логировать не учитесь.

Вы можете спросить «почему»? Я слышал, что некоторым людям недостаточно только моего авторитета. Что ж, отвечу. Если вы вываливаете кучу говна, то в ней трудно заметить аномалии. А если в лог идут только и исключительно исключительные ситуации, то их и заметить легко.

Ну и проматывать эти полотна устанешь, не без этого.
30.01.2025, 15:24
t.me/nikitonsky_pub/791
NI
Стой под стрелой
10 741 подписчик
201
11
4.5 k
Бесит, когда автокомплит включен во время набора. Сидишь, никого не трогаешь, пишешь себе «pri», а оно радостно: «privet»? «pribor»? «prihod»? И твой же код рядом заслоняет. А ты, может, на него смотрел, может, в соседней строчке, которую заслонили, ответ и кроется.

И, главное, ты же все равно не угадешь. Вариантов все равно будет несколько, а значит мне придется еще пописать, чтобы уточнить, но нет, все равно попап уже здесь, живи с этим.

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

В конце концов, просто неприятно, когда на экране что-то появляется и исчезает постоянно.

Конечно, нет никакого смысла дописывать сорокабуквенное «priority_interface_factory_adapter», т.е. автокомплит иногда нужен. Но строго по моей команде, на отдельной кнопке, а не автоматом.
29.01.2025, 13:54
t.me/nikitonsky_pub/790
NI
Стой под стрелой
10 741 подписчик
133
27
4.5 k
Некоторые вещи в программировании представлены одинаковыми типами, но имеют принципиально разные сценарии использования. Я бы даже сказал, что это разные вещи, просто засунутые в один тип.

Например, битовые маски. Это вроде бы целое число (инт), но для него не имеют смысла операции сложения-вычитания-умножения-деления, зато имеют смысл побитовые И и ИЛИ. Можно сказать, что это хак от бедности, что их запихнули в обычные инты.

Или массивы vs таплы. Вроде и то и то линейная последовательность, индексированная. Но одно произвольной длины, а другое фиксированной, в одном позиция ничего не значит, а в другом значит все. Хотя оба часто представлены одним и тем же типом — массивом, будет ошибкой звать всякие конкатенации, вставку и удаление элементов на таплах, так же, как и хардкодить доступ по фиксированному индексу в массиве. Питон вроде отличился тем, что официально разделил массивы и таплы (зачем — не спрашивайте).

Долгое время в Джаваскрипте не было мапы, и люди ошибочно использовали для этого объекты. Хотя это тоже две принципиально разные вещи — одно это произвольного размера словарь с однотипными ключами-значениями, а другое — фиксированная структура, где поля известны заранее, а тип значения зависит от поля. Разница примерно как между массивами и таплами, только индексирование не числами, а строками. От непонимания этой разницы вылазили всякие баги, когда нельзя создать пользователя с именем constructor, потому что это зарезервированное поле в объекте. Ну, сейчас-то никто не использует объекты как мапы, конечно, 10 лет уже как прошло.

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

Недавно мне показали еще одно тонкое различие, которое я не раньше не понимал: закомменченный код и поясняющий комментарий. Понятно, в большинстве языков комментарий один: //. Иногда делают различие для многострочного и однострочного, но семантического различия не делают. А оно есть! Я или хочу что-то пояснить, и тогда коммент должен быть ярко подсвечен (как в моей теме Alabaster), или наоборот, временно выключить какой-то код, и тогда его надо наоборот, засерять (делать сереньким). А если вид комментариев один, то нам придется или подсвечивать нерабочий код, или засерять важные пояснения.

В целом общий тип для разных целей это окей. Я не вижу, например, что Питон что-то выиграл от разделения массивов и таплов. Как говорил Алан Перлис, лучше иметь 100 функций над одним типом данных чем по 10 функций на каждый из 10 типов. Мало ли — ситуации разные бывают, иногда и по полям объекта приходится пробежаться в цикле.

Но что хочу подметить — это когда люди не понимают этой неявной разницы и используют _не те_ операции на _не тех_ объектах. Ну а что, поверхностно они тоже подходят (типы сходятся). Типа как положить мапу user id → user в {} в Джаваскрипте. Или взять второе и третье поле из тапла с помощью .drop(1).

Не надо так.
28.01.2025, 17:02
t.me/nikitonsky_pub/789
NI
Стой под стрелой
10 741 подписчик
212
14
4.5 k
Последняя вещь про новый Дум и я перестану его мусолить. В трейлере есть момент, когда тебе говорят: «Наконец-то мы дадим тебе поуправлять 30-этажным роботом и мочить 30-этажных демонов. Масштаб просто невероятный». Смотришь видеоряд и никакого масштаба не видишь. Почему?

Тут налицо принципиальное непонимание, откуда берется эффект масштаба. Чтобы что-то ощущалось большим, все остальное должно быть маленьким. Скажем, если бы ты в титане топтал маленьких демонов — это был бы масштаб. Или если бы ты остался своего размера, а на тебя полез 30-этажный демон. Это тоже масштаб.

А если вы все пропорционально увеличили, то это не масштаб, а просто Олег сеттинг отмасштабировал.
27.01.2025, 13:07
t.me/nikitonsky_pub/788
NI
Стой под стрелой
10 741 подписчик
269
20
5.0 k
Смотрю сейчас сериал про американаских юристов, года где-то 2010-го. И они там иногда разговаривают по телефону, им поступает второй звонок, и они такие: ща, погоди, у меня другая линия. И переключаются.

И вот этого я не понимаю. Я знаю, что есть такое явление, как putting on hold (в основном из того идиотско сдизайненного экрана айфона, ну и из кино немножко). Но блин: есть два человека, с одним ты уже разговариваешь, а второй только делает попытку контакта. Уделить внимание ты можешь только одному. Кого выберешь?

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

Но юристы всегда выбирают ответить на второй звонок. В чем смысл? Не понимаю.

(На месте чувака, который позвонил первым, я бы поступил так: повесил трубку и позвонил снова. Тогда моему собеседнику придется кинуть второго чувака и снова переключиться на меня, как будто я третий)
26.01.2025, 16:18
t.me/nikitonsky_pub/787
Результаты поиска ограничены до 100 публикаций.
Некоторые возможности доступны только премиум пользователям.
Необходимо оплатить подписку, чтобы пользоваться этим функционалом.
Фильтр
Тип публикаций
Хронология похожих публикаций:
Сначала новые
Похожие публикации не найдены
Сообщения
Найти похожие аватары
Каналы 0
Высокий
Название
Подписчики
По вашему запросу ничего не подошло