Forwarded from Стой под стрелой (Nikita Prokopov)
Запускал вчера по воле случая Дискорд, и у них там плашка про Хэллоуин вылазит. И вот что подумал:
С одной стороны, конечно, мило. Но с другой это один из ярких примеров программы, которой не сидится на жопе ровно. Ей недостаточно быть просто программой, выполнять свою функцию. Она хочет, чтобы ты о ней знал, думал, обсуждал, хочет залезть в твое инфополе, генерировать новости, что угодно, лишь бы не забыл и не принимал ее как должное. Даже слово для таких программ придумали — продукт.
«Ой, смотрите, у нас новая фича!». «Ой, устанавливаю апдейты! 1/15» «Ой, мы обновили тему» «Ой, у нас новый интерфейс» «Ой, хуюлька переехала в пиздюльку» «Ой, вы давно не смотрели нотификации» «Ой, а релиз ноуты прочитали? Ну а вдруг нет. На всякий случай напоминаю»
И это при том, что это, в общем-то, чат. Я пользуюсь им, потому что это чат и мне надо с кем-то поговорить. Не потому что у вас классная, динамично развивающаяся команда. Я не хочу, чтобы ваш продукт стал моим другом, я не хочу вообще никаких эмоциональных отношений с вашим продуктом, если честно. Мне глубоко пофиг, как там ваша команда хорошо поработала и где отдыхал ваш босс. Представьте, если бы утюг, стол или молоко из магазина отмечали Хэллоуин. А раз в неделю рассказывали бы, как дела у команды, которая их сделала.
А мне и представлять не надо. Сегодня все пытаются из программы сделать «продукт» и занять угол в вашей голове. Даже браузеры.
С одной стороны, конечно, мило. Но с другой это один из ярких примеров программы, которой не сидится на жопе ровно. Ей недостаточно быть просто программой, выполнять свою функцию. Она хочет, чтобы ты о ней знал, думал, обсуждал, хочет залезть в твое инфополе, генерировать новости, что угодно, лишь бы не забыл и не принимал ее как должное. Даже слово для таких программ придумали — продукт.
«Ой, смотрите, у нас новая фича!». «Ой, устанавливаю апдейты! 1/15» «Ой, мы обновили тему» «Ой, у нас новый интерфейс» «Ой, хуюлька переехала в пиздюльку» «Ой, вы давно не смотрели нотификации» «Ой, а релиз ноуты прочитали? Ну а вдруг нет. На всякий случай напоминаю»
И это при том, что это, в общем-то, чат. Я пользуюсь им, потому что это чат и мне надо с кем-то поговорить. Не потому что у вас классная, динамично развивающаяся команда. Я не хочу, чтобы ваш продукт стал моим другом, я не хочу вообще никаких эмоциональных отношений с вашим продуктом, если честно. Мне глубоко пофиг, как там ваша команда хорошо поработала и где отдыхал ваш босс. Представьте, если бы утюг, стол или молоко из магазина отмечали Хэллоуин. А раз в неделю рассказывали бы, как дела у команды, которая их сделала.
А мне и представлять не надо. Сегодня все пытаются из программы сделать «продукт» и занять угол в вашей голове. Даже браузеры.
👍25🤡6😁2🤔2👏1
Помните был такой ask.fm? Он решил закрыться 1 декабря (после попыток в блокчейн и какой-то прочей стрёмной дичи).
А у меня там почти 10 тыщ ответов на вопросы. Естественно, мне захотелось как-то их оттуда выгрузить, потому что это, всё-таки, некий такой важный пласт моей жизни. Сначала я спросил в поддержке, могут ли они мне дать архив с моими ответами. Ну ведь GDPR же, да? Лол нет. Официальный ответ: "хотите сохранить — делайте скриншоты, а мы можем вам дать только историю ваших сессий". Недолго думая, я вспомнил, что уже когда-то реверсил их API для мобильных приложений, так что я просто взял и написал выгружатор. И выгрузил им и свои ответы, и ответы всех своих друзей (которые не удалились, Линт вот удалился, а жаль, у него там тоже много интересного было, кажется).
Одна проблема: они куда-то продолбали большую часть медиафайлов. Почти все аватарки и совсем все картинки и видео из ответов. Поэтому, к сожалению, раз на сайте их нет, в выгрузке их тоже нет. В случае ответов я даже не знаю, как они выглядят в API, потому что мне не попалось ни одного ответа типа "photo", где была бы ссылка на картинку.
Если захотите запустить сами, вам понадобится Java 21 или новее. Можно взять, например, вот тут. Исходники вот тут (Гриша, где у тебя пробелы в коде, почему ты не ставишь пробелы вокруг операторов и скобок, как ты так живёшь вообще ).
А у меня там почти 10 тыщ ответов на вопросы. Естественно, мне захотелось как-то их оттуда выгрузить, потому что это, всё-таки, некий такой важный пласт моей жизни. Сначала я спросил в поддержке, могут ли они мне дать архив с моими ответами. Ну ведь GDPR же, да? Лол нет. Официальный ответ: "хотите сохранить — делайте скриншоты, а мы можем вам дать только историю ваших сессий". Недолго думая, я вспомнил, что уже когда-то реверсил их API для мобильных приложений, так что я просто взял и написал выгружатор. И выгрузил им и свои ответы, и ответы всех своих друзей (которые не удалились, Линт вот удалился, а жаль, у него там тоже много интересного было, кажется).
Одна проблема: они куда-то продолбали большую часть медиафайлов. Почти все аватарки и совсем все картинки и видео из ответов. Поэтому, к сожалению, раз на сайте их нет, в выгрузке их тоже нет. В случае ответов я даже не знаю, как они выглядят в API, потому что мне не попалось ни одного ответа типа "photo", где была бы ссылка на картинку.
Если захотите запустить сами, вам понадобится Java 21 или новее. Можно взять, например, вот тут. Исходники вот тут (
5🔥10👍6❤4👏3
В свете того, что Роскомнадзор снова сломал половину интернета (надеюсь, временно), снова начались разговоры об "импортозамещении" иностранных онлайн-сервисов. Что вот, зачем нам гитхаб, дискорд, ютуб, твиттер, вот то, вот это, они же все такие американские, надо развивать отечественные аналоги и пусть все на них переходят и бед не знают. Я уже высказывал своё мнение об этом в комментах в разных местах, но теперь захотелось расписать подробно.
С моей точки зрения, вот эта международность интернета, отсутствие в нём государственных границ — это его киллер-фича. Сама вот эта вот идея, что ты можешь практически мгновенно обмениваться любой информацией с любым пользователем сети, где бы он ни находился — хоть в соседнем доме, хоть на другом конце планеты, — это качественный скачок в развитии всей нашей цивилизации. Это ощущается как магия. Это стирает границы и расстояния, это позволяет людям находить друг друга, кооперироваться и достигать общих целей так, как раньше никто даже не мог себе представить. Интернет беспрецедентно сближает людей. Человечество в целом от существования такой технологии выигрывает.
А когда я вижу все вот эти предложения, исходящие из ложных предположений, что русские в интернете общаются только с другими русскими, потребляют контент исключительно на русском языке и созидают только для внутренней российской аудитории, это у меня, мягко говоря, вызывает недоумение. Я вырос в международном интернете. Я общаюсь в нём в том числе с людьми, которые к России вообще никакого отношения не имеют, никогда здесь не были и русского языка не знают. У меня больше половины интернета на английском. Проекты, над которыми я работаю, предназначены для международной аудитории. Для меня все эти попытки балканизировать интернет выглядят как вредительство. Интернет со связностью только в пределах одной страны или союза стран для меня по полезности не сильно превосходит городскую телефонную сеть, газету с объявлениями или клуб по интересам, который собирается в городском ДК раз в неделю.
"Но ведь Китай и Северная Корея!" Вы не понимаете, это другое. В Китае государство взяло интернет под контроль с самого его появления, так что там его международностью никто особо и не пользовался изначально, кроме тех, кому очень надо. Трансграничные социальные связи не формировались. Все пытаются повторить успех WeChat как "интернета в интернете" с его мини-приложениями, но ни у кого не получается — именно по этой причине, потому что у людей другие привычки, и потому что у нас интернет развивался по-другому. В Северной Корее, насколько мне известно, доступ в настоящий интернет вообще крайне ограничен, происходит из специальных защищённых комнат в государственных учреждениях под наблюдением сотрудников спецслужб и требует прохождения проверки на верность партии и идеям чучхе. Опять же, свободы не было, связи не формировались.
Но у нас-то это не так. Мы всегда жили с полноценным интернетом. Можно сказать, мы его граждане. И вот ещё вчера у нас эта свобода была, а сегодня нам говорят, что она нам на самом деле не нужна, вот вам РосГитХаб и Рутуб, возрадуйтесь (и сертификат Минцифры поставить не забудьте). Тщательно игнорируя тот факт, что привычные международные социальные связи через эти сервисы поддерживать не представляется возможным, потому что (сюрприз!) весь остальной мир на суверенные российские сервисы переходить не будет. Так что всячески подобному сопротивляться — вполне естественная реакция.
С моей точки зрения, вот эта международность интернета, отсутствие в нём государственных границ — это его киллер-фича. Сама вот эта вот идея, что ты можешь практически мгновенно обмениваться любой информацией с любым пользователем сети, где бы он ни находился — хоть в соседнем доме, хоть на другом конце планеты, — это качественный скачок в развитии всей нашей цивилизации. Это ощущается как магия. Это стирает границы и расстояния, это позволяет людям находить друг друга, кооперироваться и достигать общих целей так, как раньше никто даже не мог себе представить. Интернет беспрецедентно сближает людей. Человечество в целом от существования такой технологии выигрывает.
А когда я вижу все вот эти предложения, исходящие из ложных предположений, что русские в интернете общаются только с другими русскими, потребляют контент исключительно на русском языке и созидают только для внутренней российской аудитории, это у меня, мягко говоря, вызывает недоумение. Я вырос в международном интернете. Я общаюсь в нём в том числе с людьми, которые к России вообще никакого отношения не имеют, никогда здесь не были и русского языка не знают. У меня больше половины интернета на английском. Проекты, над которыми я работаю, предназначены для международной аудитории. Для меня все эти попытки балканизировать интернет выглядят как вредительство. Интернет со связностью только в пределах одной страны или союза стран для меня по полезности не сильно превосходит городскую телефонную сеть, газету с объявлениями или клуб по интересам, который собирается в городском ДК раз в неделю.
"Но ведь Китай и Северная Корея!" Вы не понимаете, это другое. В Китае государство взяло интернет под контроль с самого его появления, так что там его международностью никто особо и не пользовался изначально, кроме тех, кому очень надо. Трансграничные социальные связи не формировались. Все пытаются повторить успех WeChat как "интернета в интернете" с его мини-приложениями, но ни у кого не получается — именно по этой причине, потому что у людей другие привычки, и потому что у нас интернет развивался по-другому. В Северной Корее, насколько мне известно, доступ в настоящий интернет вообще крайне ограничен, происходит из специальных защищённых комнат в государственных учреждениях под наблюдением сотрудников спецслужб и требует прохождения проверки на верность партии и идеям чучхе. Опять же, свободы не было, связи не формировались.
Но у нас-то это не так. Мы всегда жили с полноценным интернетом. Можно сказать, мы его граждане. И вот ещё вчера у нас эта свобода была, а сегодня нам говорят, что она нам на самом деле не нужна, вот вам РосГитХаб и Рутуб, возрадуйтесь (и сертификат Минцифры поставить не забудьте). Тщательно игнорируя тот факт, что привычные международные социальные связи через эти сервисы поддерживать не представляется возможным, потому что (сюрприз!) весь остальной мир на суверенные российские сервисы переходить не будет. Так что всячески подобному сопротивляться — вполне естественная реакция.
👏26❤15👍6😢5😁1
Гришкин блог
Написал статью на хабр о том, как сделать минимальный ActivityPub-сервер: https://habr.com/ru/articles/702724/
Перевёл эту статью на английский: https://grishka.me/blog/activitypub-from-scratch/
grishka.me
A bare-minimum ActivityPub server from scratch
This is a translation of the article I originally wrote in Russian a year ago.
Lately, after Elon Musk bought Twitter, people have started looking for its alternatives – and many found one in Mastodon.
Mastodon is a decentralized social media platform that…
Lately, after Elon Musk bought Twitter, people have started looking for its alternatives – and many found one in Mastodon.
Mastodon is a decentralized social media platform that…
👍8❤1
У чувака точно такая же проблема, как у меня — не может поддерживать синхронизацию режима сна со световым днём, потому что не имеет никаких связанных с этим обязательств. Поэтому он решил сделать себе 28-часовые сутки. Тоже попробовать, что ли 🤔
https://sidhion.com/blog/28h_days_update_1/
https://sidhion.com/blog/28h_days_update_1/
😁9👍1
Forwarded from Стой под стрелой (Nikita Prokopov)
Проклятие современного айти: протухающие сессии.
Почему-то кто-то где-то решил, что если пользователя не разлогинивать раз в день/неделю/месяц/год, то к нему обязательно придут цыгане и украдут коня, телевизор, портсигар, ну и аккаунт заодно. Что недостаточно шифрования с рандомными миллионобайтовыми ключами, на взлом которых нужен компьютер размером со вселенную и квадрилиард лет. Что если пароль долго не подверждать, то клинопись, которой он записан на жестком диске, сотрется, а сессия, если ее не трогать, просочится через стенки ноутбука в окружающий мир обратным осмосом, прямо в блокнотик подкарауливающему злоумышленнику.
А вот если заставить пользователя раз в неделю проходить через вот этот вот унизительный ритуал, ой, что-то пошло не так (интересно, что, вот бы был способ узнать), вы кто, гражданин? Сессия, какая сессия? Вы всего лишь семьдесят семь раз пользовались нашим сайтом в последние два дня, а пройдите-ка на всякий случай капчу. Где тебе даже логин с паролем не доверяют ввести на одном экране (скоро будет по отдельному экрану на каждую букву пароля, чекайте), но если пользователь будет вбивать пароль собственноручно указательным пальчиком раз в неделю, переписывая с бумажки, которая тут же на мониторе и наклеена, то вот тут-то и наступит настоящая сесурити. Потом еще письмо о подозрительной активности пришлют.
Главное, это такой brainworm (как же нужен аналогичный термин на великомогучем), потому что ЗВУЧИТ ЛОГИЧНО. Не является, а именно звучит. Как будто бы лишние проверки точно не повредят? Как будто бы чаще логинишься — больше сесурити. Это же как паспорт на проходной проверять. Это же так работает. Глядишь, и злоумышленника поймаем. От создателей лечения рутью, сверления черепа при головной боли и других практик, казавшихся ОЧЕНЬ ЛОГИЧНЫМИ.
Правда же в том, что если у тебя украдут сессию, то пожалеешь ты об этом практически сразу. Истекающий через неделю токен тебе никак не поможет. Если хакер не смог украсть у тебя за неделю все деньги и написать всем твоим бывшим, ему не место в профессии. А если не украдут, то и нафига было меня мучать своими логинами? Чтобы я жизнь свою возненавидел?
«Ну а как же, вдруг твой токен найдут через пять лет на купленном на ебее и восстановленном диске в логах?» Ребят, меняйте и обновляйте свои токены сколько вашей душе угодно. Главное — меня не разлогинивайте. Эти две вещи вообще никак не связаны.
«Но ведь идею регулярно разлогинивать наверное не дураки придумали и не на ровном месте?» Как будто никогда такого не было, чтобы кто-то внедрил какую-то в лучшем случае бесполезную практику и все пошли ее копировать друг у друга, не задаваясь библейским вопросом «а не хуйню ли мы делаем?» Как будто ни разу такого не было. Как в первый раз как будто.
«Но публичные компьютеры…» Вы серьезно сейчас? Вы сейчас, блять, серьезно?
Объясните мне тогда. Я за свою жизнь может быть раза два логинился в Гитхаб, Амазон и Гугл. У них там что, дураки сидят? Они что, забили на сесурити? Как такое возможно, что их сессии живут вечно? В куке что, такая опция есть? Почему тогда их до сих пор не взломали? Почему они, с их количеством пользователей, могут себе позволить вечные сессии, а пупинск-залупинск-дот-рф или там опен-ии-дот-ком не может? Что они там такого ценного защищают, мои тупые вопросы?
Короче, не ебите мне мозги пожалуйста. У компьютеров очень хорошая память, если им, блин, не мешать. А мне даже без ваших истекающих сессий хватит логинов на всю оставшуюся жизнь. Мне еще посудомойку на китайских серверах регистрировать и аккаунты к драйверам мышки создавать.
Почему-то кто-то где-то решил, что если пользователя не разлогинивать раз в день/неделю/месяц/год, то к нему обязательно придут цыгане и украдут коня, телевизор, портсигар, ну и аккаунт заодно. Что недостаточно шифрования с рандомными миллионобайтовыми ключами, на взлом которых нужен компьютер размером со вселенную и квадрилиард лет. Что если пароль долго не подверждать, то клинопись, которой он записан на жестком диске, сотрется, а сессия, если ее не трогать, просочится через стенки ноутбука в окружающий мир обратным осмосом, прямо в блокнотик подкарауливающему злоумышленнику.
А вот если заставить пользователя раз в неделю проходить через вот этот вот унизительный ритуал, ой, что-то пошло не так (интересно, что, вот бы был способ узнать), вы кто, гражданин? Сессия, какая сессия? Вы всего лишь семьдесят семь раз пользовались нашим сайтом в последние два дня, а пройдите-ка на всякий случай капчу. Где тебе даже логин с паролем не доверяют ввести на одном экране (скоро будет по отдельному экрану на каждую букву пароля, чекайте), но если пользователь будет вбивать пароль собственноручно указательным пальчиком раз в неделю, переписывая с бумажки, которая тут же на мониторе и наклеена, то вот тут-то и наступит настоящая сесурити. Потом еще письмо о подозрительной активности пришлют.
Главное, это такой brainworm (как же нужен аналогичный термин на великомогучем), потому что ЗВУЧИТ ЛОГИЧНО. Не является, а именно звучит. Как будто бы лишние проверки точно не повредят? Как будто бы чаще логинишься — больше сесурити. Это же как паспорт на проходной проверять. Это же так работает. Глядишь, и злоумышленника поймаем. От создателей лечения рутью, сверления черепа при головной боли и других практик, казавшихся ОЧЕНЬ ЛОГИЧНЫМИ.
Правда же в том, что если у тебя украдут сессию, то пожалеешь ты об этом практически сразу. Истекающий через неделю токен тебе никак не поможет. Если хакер не смог украсть у тебя за неделю все деньги и написать всем твоим бывшим, ему не место в профессии. А если не украдут, то и нафига было меня мучать своими логинами? Чтобы я жизнь свою возненавидел?
«Ну а как же, вдруг твой токен найдут через пять лет на купленном на ебее и восстановленном диске в логах?» Ребят, меняйте и обновляйте свои токены сколько вашей душе угодно. Главное — меня не разлогинивайте. Эти две вещи вообще никак не связаны.
«Но ведь идею регулярно разлогинивать наверное не дураки придумали и не на ровном месте?» Как будто никогда такого не было, чтобы кто-то внедрил какую-то в лучшем случае бесполезную практику и все пошли ее копировать друг у друга, не задаваясь библейским вопросом «а не хуйню ли мы делаем?» Как будто ни разу такого не было. Как в первый раз как будто.
«Но публичные компьютеры…» Вы серьезно сейчас? Вы сейчас, блять, серьезно?
Объясните мне тогда. Я за свою жизнь может быть раза два логинился в Гитхаб, Амазон и Гугл. У них там что, дураки сидят? Они что, забили на сесурити? Как такое возможно, что их сессии живут вечно? В куке что, такая опция есть? Почему тогда их до сих пор не взломали? Почему они, с их количеством пользователей, могут себе позволить вечные сессии, а пупинск-залупинск-дот-рф или там опен-ии-дот-ком не может? Что они там такого ценного защищают, мои тупые вопросы?
Короче, не ебите мне мозги пожалуйста. У компьютеров очень хорошая память, если им, блин, не мешать. А мне даже без ваших истекающих сессий хватит логинов на всю оставшуюся жизнь. Мне еще посудомойку на китайских серверах регистрировать и аккаунты к драйверам мышки создавать.
👍22❤15
Forwarded from Стой под стрелой (Nikita Prokopov)
Ваше айти не карго-культ? Как тогда объясните всеобщую любовь к относительным таймстемпам?
Кто-то когда-то решил, что даты, как они хранятся в компьютере ( 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».
Все, блин. ЭТОГО ДОСТАТОЧНО. ЭТО УЖЕ ДОСТАТОЧНО ЧЕЛОВЕКОЧИТАЕМО. «А может...» НЕТ! НЕ МОЖЕТ. Остановитесь. Возьмите свой «семьдесят семь недель назад». Посмотрите на него. В последний раз. И засуньте себе в жопу. И никогда не доставайте. Я все сказал.
Кто-то когда-то решил, что даты, как они хранятся в компьютере ( 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».
Все, блин. ЭТОГО ДОСТАТОЧНО. ЭТО УЖЕ ДОСТАТОЧНО ЧЕЛОВЕКОЧИТАЕМО. «А может...» НЕТ! НЕ МОЖЕТ. Остановитесь. Возьмите свой «семьдесят семь недель назад». Посмотрите на него. В последний раз. И засуньте себе в жопу. И никогда не доставайте. Я все сказал.
👍29🔥10❤1👀1
Используете ли вы ИИ-ассистентов для написания кода?
Anonymous Poll
11%
Я не программирую
40%
Да, постоянно
32%
Да, но изредка или только в мелких одноразовых проектах
17%
Нет
Гришкин блог
Используете ли вы ИИ-ассистентов для написания кода?
В свете обсуждений в твиттере и всяких прочих комментах стало любопытно собрать статистику среди своих знакомых.
Последние лет 10 в андроиде был режим "не беспокоить", и всё это время он включался кнопкой в быстрых настройках, которые в шторке уведомлений над, собственно, уведомлениями.
Но несколько дней назад у гугла откуда-то вышло обновление андроида, в котором добавили "режимы". Идея хорошая — теперь можно сделать себе отдельные правила для уведомлений и звонков в зависимости от ситуации. Например, когда спишь — одни, а когда за рулём — другие. Только вот реализация подкачала (а что ещё вы ожидали от маленькой инди-компании). Теперь кнопка в шторке уведомлений называется "режимы", и открывает модальное окно, в котором их можно включать. Даже если режим у тебя всего один. То есть то, что раньше требовало одного нажатия, теперь требует трёх: нажать на кнопку, переключить режим, закрыть модалку.
Меня это так выбесило, что я сегодня потратил полдня на то, чтобы сделать приложение, которое плюс-минус возвращает всё взад: https://github.com/grishka/Android-DND-Toggle
Но несколько дней назад у гугла откуда-то вышло обновление андроида, в котором добавили "режимы". Идея хорошая — теперь можно сделать себе отдельные правила для уведомлений и звонков в зависимости от ситуации. Например, когда спишь — одни, а когда за рулём — другие. Только вот реализация подкачала (а что ещё вы ожидали от маленькой инди-компании). Теперь кнопка в шторке уведомлений называется "режимы", и открывает модальное окно, в котором их можно включать. Даже если режим у тебя всего один. То есть то, что раньше требовало одного нажатия, теперь требует трёх: нажать на кнопку, переключить режим, закрыть модалку.
Меня это так выбесило, что я сегодня потратил полдня на то, чтобы сделать приложение, которое плюс-минус возвращает всё взад: https://github.com/grishka/Android-DND-Toggle
GitHub
GitHub - grishka/Android-DND-Toggle
Contribute to grishka/Android-DND-Toggle development by creating an account on GitHub.
👍18🔥6❤3
В телеграме очень не хватает возможности скрывать сообщения в каналах по ключевым словам. Как, например, в мастодоне, или даже в твиттере. Я бы первым делом скрыл слова "#реклама" и "erid".
👍21😁20
"Вам всё понравилось?"
Есть в нашей цивилизации несколько вещей, которые поражают меня своей нелепостью. Одна из них — культура обслуживания в ресторанах. От страны как будто не зависит, но могу допустить, что в азиатских странах может быть иначе (я всё ещё ни разу не был в Азии).
Вот смотрите. С одной стороны, что-то в ресторанах и прочих заведениях, которые пытаются ими казаться, рассчитано на то, что ты их постоянный клиент. В некоторых из них есть программы лояльности, особенно в сетевых. Часто с достаточно щедрыми скидками. А когда тебе дают меню, часто спрашивают, не хочешь ли ты прямо сразу что-то заказать — вдруг ты не в первый раз, и уже сразу знаешь, чего хочешь.
Но с другой, некоторые взаимодействия явно исходят из того, что ты в этом заведении в первый раз, в этом городе первый день, и вообще родился только вчера. Ну примерно как innie-личности в Severance. Я про вот эти вот вопросы "вам всё понравилось?", "у вас всё в порядке?", "как вам {блюдо, которое ты брал несколько десятков раз до этого}?" и "хорошо ли отдохнули?". Весь этот small talk, от которого любому интроверту начинает хотеться немедленно провалиться под землю. Особенно классно, когда эти вопросы тебе задают, когда ты с полным ртом (удивительно, да, человек заказал еду и ест её), и смотрят ещё на тебя пристально, прямо в душу, в застывшей позе, пока ты не ответишь.
А нелепость, собственно, в этом и состоит — что как-то так блин получается, что один и тот же официант сначала принимает у тебя заказ, который ты делаешь по памяти, не открывая меню, а потом, через какое-то время, он же задаёт эти вопросы. Я мог бы понять либо одно, либо другое. Это было бы логично. Но не и то, и другое сразу, как это происходит почти всегда.
Как наш мир к такому пришёл? Может, есть какие-то исторические причины?
Справедливости ради, стоит отметить, что есть подвижки от одного зла к другому, которое лично я считаю меньшим. В некоторых заведениях ставят планшеты, с которых можно и заказывать, и оплачивать. Официанта видишь только когда он приносит тебе твою еду, и, может быть, бумажное меню. Это всё равно зло, потому что тут уже начинается всякая традиционная айтишная дичь, когда из тебя с помощью тёмных паттернов в интерфейсах пытаются вытащить побольше денег ни за что. Но лучше пусть тебя бесит интерфейс, чем человек. Интерфейс хотя бы не будет испытывать к тебе никаких ответных эмоций и на 100% предсказуем, а это значит, что к нему можно привыкнуть. Первые пару раз будешь фрустрировать, а потом запомнишь, какую последовательность кнопок надо нажимать, и будешь делать это за несколько секунд.
Есть в нашей цивилизации несколько вещей, которые поражают меня своей нелепостью. Одна из них — культура обслуживания в ресторанах. От страны как будто не зависит, но могу допустить, что в азиатских странах может быть иначе (я всё ещё ни разу не был в Азии).
Вот смотрите. С одной стороны, что-то в ресторанах и прочих заведениях, которые пытаются ими казаться, рассчитано на то, что ты их постоянный клиент. В некоторых из них есть программы лояльности, особенно в сетевых. Часто с достаточно щедрыми скидками. А когда тебе дают меню, часто спрашивают, не хочешь ли ты прямо сразу что-то заказать — вдруг ты не в первый раз, и уже сразу знаешь, чего хочешь.
Но с другой, некоторые взаимодействия явно исходят из того, что ты в этом заведении в первый раз, в этом городе первый день, и вообще родился только вчера. Ну примерно как innie-личности в Severance. Я про вот эти вот вопросы "вам всё понравилось?", "у вас всё в порядке?", "как вам {блюдо, которое ты брал несколько десятков раз до этого}?" и "хорошо ли отдохнули?". Весь этот small talk, от которого любому интроверту начинает хотеться немедленно провалиться под землю. Особенно классно, когда эти вопросы тебе задают, когда ты с полным ртом (удивительно, да, человек заказал еду и ест её), и смотрят ещё на тебя пристально, прямо в душу, в застывшей позе, пока ты не ответишь.
А нелепость, собственно, в этом и состоит — что как-то так блин получается, что один и тот же официант сначала принимает у тебя заказ, который ты делаешь по памяти, не открывая меню, а потом, через какое-то время, он же задаёт эти вопросы. Я мог бы понять либо одно, либо другое. Это было бы логично. Но не и то, и другое сразу, как это происходит почти всегда.
Как наш мир к такому пришёл? Может, есть какие-то исторические причины?
Справедливости ради, стоит отметить, что есть подвижки от одного зла к другому, которое лично я считаю меньшим. В некоторых заведениях ставят планшеты, с которых можно и заказывать, и оплачивать. Официанта видишь только когда он приносит тебе твою еду, и, может быть, бумажное меню. Это всё равно зло, потому что тут уже начинается всякая традиционная айтишная дичь, когда из тебя с помощью тёмных паттернов в интерфейсах пытаются вытащить побольше денег ни за что. Но лучше пусть тебя бесит интерфейс, чем человек. Интерфейс хотя бы не будет испытывать к тебе никаких ответных эмоций и на 100% предсказуем, а это значит, что к нему можно привыкнуть. Первые пару раз будешь фрустрировать, а потом запомнишь, какую последовательность кнопок надо нажимать, и будешь делать это за несколько секунд.
❤15🤡2💩1