来自 Стой под стрелой (@nikitonsky_pub) 的最新 Telegram 贴文

Стой под стрелой Telegram 帖子

Стой под стрелой
Ведет @nikitonsky. Рекламы нет
10,776 订阅者
17 张照片
最后更新于 11.03.2025 07:48

Стой под стрелой 在 Telegram 上分享的最新内容

Стой под стрелой

10 Feb, 12:44

9,023

Как и обещал, пишу про прекрасное.

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

А рядом сидели парочки, смотрели закат и целовались. Жизнь прекрасна.
Стой под стрелой

08 Feb, 23:52

10,226

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

07 Feb, 16:27

15,498

Мой любимый айфонный момент — когда ты куда-то логинишься и сервис присылает тебе СМС с кодом. Клавиатура это просекает и показывает подсказку «From Messages: 12345», типа, можно сразу нажать и вставить. Так вот, сначала эта подсказка появляется на клавиатуре, очень быстро, почти мнгновенно. И только потом еле-еле начинает вылазить нотификация, что пришла СМС. То есть все данные получены и готовы почти сразу, а вот для пользователя анимации с заментной задержкой. Нам _кажется_, что нотификация это и есть момент прихода СМС, а на самом деле все давно уже обработано.

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

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

Представить такое в современных консьюмерских интерфейсах сложно, конечно.
Стой под стрелой

06 Feb, 12:58

10,715

В редакторе Fleet от Джетбрейнс (какое-то время назад) сделали плавный текстовый курсор. Типа, ты нажал вверх, а палка не сразу вверх скакнула, а плавно туда анимировалась.

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

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

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

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

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

05 Feb, 16:20

9,180

Вы никогда не задумывались, в какой момент наступает старость? Все мы угараем над старшим поколением, как они верят телевизору, как они не умеют пользоваться техникой, как не понимают новояза.

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

Интересует конкретика. Спасибо.
Стой под стрелой

04 Feb, 11:26

9,517

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

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

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

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

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

Как видите, я не понимаю дебатов.
Стой под стрелой

03 Feb, 12:53

10,198

Ваше айти не карго-культ? Как тогда объясните всеобщую любовь к относительным таймстемпам?

Кто-то когда-то решил, что даты, как они хранятся в компьютере ( 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».

Все, блин. ЭТОГО ДОСТАТОЧНО. ЭТО УЖЕ ДОСТАТОЧНО ЧЕЛОВЕКОЧИТАЕМО. «А может...» НЕТ! НЕ МОЖЕТ. Остановитесь. Возьмите свой «семьдесят семь недель назад». Посмотрите на него. В последний раз. И засуньте себе в жопу. И никогда не доставайте. Я все сказал.
Стой под стрелой

01 Feb, 10:38

9,292

Общение переусложнено.

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

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

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

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

31 Jan, 12:13

10,345

А знаете что еще бесит? Что телефонные приложения разучились умещаться на один экран. Куда ни плюнь все скроллятся. Даже часы, блин, скроллятся!

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

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

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

А я всего-то хотел увидеть все нужное сразу.
Стой под стрелой

30 Jan, 12:24

9,564

Никто не умеет логировать правильно. Логировать надо что? Когда что-то пошло не так. А логируют что? Да все подряд!

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

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

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

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

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

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

Ну и проматывать эти полотна устанешь, не без этого.