Получи случайную криптовалюту за регистрацию!

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

Логотип телеграм канала @nikitonsky_pub — Стой под стрелой С
Логотип телеграм канала @nikitonsky_pub — Стой под стрелой
Адрес канала: @nikitonsky_pub
Категории: Новости и СМИ
Язык: Русский
Количество подписчиков: 9.12K
Описание канала:

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

Рейтинги и Отзывы

2.00

3 отзыва

Оценить канал nikitonsky_pub и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

2


Последние сообщения 2

2022-08-18 17:40:22 Про мотивацию пишет Colin Cornaby:

> Modern software is bad because we stopped charging for upgrades so vendors have no investment in making sure new versions still have a good user experience because you're locked in anyway and it won't affect their profits [...]

> Like remember when each version of Adobe Creative Suite had to be better because if it wasn't you could just sit on your existing version and Adobe wouldn't see a dime from you until they fixed their mess

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

Когда вы последний раз покупали апдейт программы потому что в ней была какая-то очень нужная вам фича?
8.8K viewsNikita Prokopov, 14:40
Открыть/Комментировать
2022-08-17 17:45:24 Поскольку я теперь игродел (в одном геймджеме поучаствовал, хаха), мне стало немножко интересно, как вообще компьютерная графика устроена.

И вот смотрю я геймплей какой-то стратегии, а там поле с пшеницей, и посередине домик. Ну, думаю, наверняка какой-то хитрый хак есть, типа рисуют внешний объем (условно параллелипипед) и как-то по поверхности шейдером отдельные колоски, что-нибудь такое. Ну потому что камера далеко, колоски меньше пикселя, все дела.

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

Ну, думаю, тут тоже наверняка какой-то умный трюк, но сам я уже до такого не додумаюсь.

Пошел гуглить. Нагуглил видос «как в играх делают траву». И знаете что там? Каждая травинка это 3Д модель, GPU инстанциирует два миллиона полигонов, а дальше все это рендерится обычными средствами. Со скоростью 500 кадров в секунду (т.е. примерно в 10 раз быстрее, чем нужно для обычного 60Гц монитора).

Два миллиона! Если что, на 1080p экране пикселей всего два миллиона (1920 * 1080 = 2 073 600), то есть можно по полигону на пиксель и еще куча времени останется.

Это напоминание о том, что компьютеры, сука, уже давно ОЧЕНЬ быстрые. А то что панели в настройках за секунду реального времени переключаются или блокнот две секунды открывается — ну, так получилось. Могли бы и за миллисекунду, если захотеть
8.9K viewsNikita Prokopov, edited  14:45
Открыть/Комментировать
2022-08-16 16:34:22 Про редизайн настроек в грядущем макОСе. Не потому, что мне так нравится бить лежачего, а потому что это красивая история про потерю ориентиров.

Когда делали первый айфон, пришлось решить много задач в первый раз. Шутка ли — абсолютно новое, нигде не виданое устройство, форм-фактор, способ ввода. Это сейчас кажется, что тач-интерфейсы были всегда, но вот всего лишь 15 лет назад ни одного не было и решения приходилось искать, а не копировать.

Например, как вводить текст? Пришлось пробовать варианты, тестировать и придумывать. Придумали в итоге клавиатуру, у которой кнопки становятся тем крупнее, чем более вероятно увидеть данную букву следующей. Нажал, например, C – вырастут, наверное, H, A, I, U, а уменьшатся, например, T или P.

И так со всеми проблемами. Одна из них — настройки. А точнее, чекбоксы. Вот хочешь ты, например, включить-выключить вайфай. Или блютус.

Как эта проблема решалась раньше? Правильно, чекбоксом. Это такая галочка, а справа от нее текст. Простое и понятное соглашение, сто лет использовалось к тому времени, еще из бумажных форм пришло. Чем не устроило?

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

Окей. Решения. Перенести чекбокс направо, а подпись оставить слева? Но это ломает все соглашения, весь формат. Чекбокс — это именно галочка с подписью, а не просто галочка. Если где-то в десктопном интерфейсе вы видите свободно плавающий чекбокс — знайте, это зашквар.

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

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

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

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

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

Wifi .......................................................... [ON]

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

Другая проблема — рука, перекрывающая надпись — на десктопе тоже отсутствует. Получается, что мотивации для тогглов ноль и смотрятся они тут как вечернее платье на обезьяне — вызывает больше вопросов, чем ответов.

Вот так вот учитывание контекста привело к красивому и элегантному решению на телефоне, а НЕ учитывание привело к бессмысленному и беспощадному решению на десктопе.

Всегда, слышите? Всегда спрашивайте: зачем? Зачем мы это делаем? Почему? И фильтруйте плохие ответы.
8.4K viewsNikita Prokopov, edited  13:34
Открыть/Комментировать
2022-08-15 21:00:17 Посмотрел интервью Андрея Руденко про Кложу (хорошее), но не мог не заметить, что тему с гомоиконичностью они на пару с интервьюером слили. Давайте попробую объяснить, что это такое.

Вот представьте JSON. JSON — подмножество синтаксиса JavaScript, т.е. любой JSON-файл можно буквально скопировать в программу и присвоить, например, переменной:


let json = ;


Представили? Теперь подумайте, в чем кайф JSON-а? Это одновременно и формат сериализации, и нотация для записи данных, часть синтаксиса языка. Это означает, что есть однозначное двухстороннее соответствие между структурами данных в памяти и их записью: JSON.stringify и JSON.parse его прекрасно иллюстрируют. Объект Array можно превратить в строку, а строку можно превратить в другой, но точно такой же Array. В том числе и строку кода (вы ведь пишете в текстовом файле, да?).

Может показаться, что такое соотвествие обязательно или тривиально, но не всегда: например, в Java нет своего аналога JSON, потому что нет синтаксиса для записи массивов и словарей.

Окей. Дальше. Скажем, у строки кода [1, 2, 3] понятно какое представление в памяти. А у let json = [1, 2, 3];? Непонятно, да? На самом деле ответа нет, потому что представление зависит от парсера, и оно, скорее всего, будет из каких-то сложных местечковых объектов состоять. Что-нибудь типа


{"type": "VariableDeclaration",
"kind": "let"
"declarations": [
{"type": "VariableDeclarator",
"id": {
"type": "Identifier",
"name": "json"
},
...


Жить можно, не смертельно, но не очень удобно, да? А теперь представьте, что всю программу можно было бы записать в JSON-е. Прям все if-ы, for-ы, function и так далее. Как? Ну например можно сказать, что первое значение в массиве это символ, который определяет смысл того, что идет дальше. Скажем,


if (a > 0) {

} else {

}


превратится в:


[if, [>, a, 0],
,
]


Не очень привычно, но чисто в рамках мысленного эксперимента, представили, да? Заметье, что a > 0 из специального маленького синтаксиса (оператор между аргументов) превратилась в обычный вызов функции:


f(arg1, arg2, ...) → [f, arg1, arg2, ...]
a > 0 → >(a, 0) → [>, a, 0]


Весь смысл этого эксперимента в том, чтобы никогда не выходить за пределы известно-как-сериализуемого формата данных, в нашем случае JSON-а.

Можно ли так построить весь язык? Оказывается, можно. Лисп, собственно, так и появился: хотели сначала придумать формат для записи данных (S-expressions, прото-аналог JSON-а), а потом доделать сверху «нормальный» синтаксис, чтобы программировать (M-expressions). Но оказалось, что S-expressions достаточно, более того, появляется одно интересное качество, которое при выходе за пределы S-выражений бы потерялось: очень легко генерить или модифицировать код.

Ну смотрите. У вас в языке есть куча всего для работы с массивами и словарями: всякие reverse, count, partition, filter, map, fold, splice. И тут выясняется, что ваш код это точно такой же массив. Ну вот как, например, поменять then и else вот в таком коде?


[if, [>, a, 0],
,
]


Да легко:


function swap(form) {
const [_, cond, then, else] = form;
return [if, cond, else, then];
}


А как поменять их в AST-дереве? Чуть более сложно, да? Надо смотреть, как там че хранится, парсер какой-то тащить, сериализатор. Не то чтобы совсем невозможно, но затратно, да? You’d stop and think for a second.

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

И это не то чтобы принципиально невозможно в других языках. Возможно, конечно, тоже. Просто с гомоиконичностью гораздо удобнее: написать макрос на три строчки не сложнее, чем написать функцию на три строчки. Это к важности упаковки.
6.6K viewsNikita Prokopov, 18:00
Открыть/Комментировать
2022-08-12 17:02:25 По каналу может показаться, что я все критикую и мне все не нравится. Конечно же это не так, если бы это было так, я бы давно уже спился.

Про Dash я писал в канале раньше. Шутка ли — приложение, которое железно заняло место в регулярном ежедневном использовании. Привычки меняются не так часто, так что было приятно видеть.

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

Sublime Text мой любимый редактор. Помимо скорости привлекает также минимум фич. VS Code хорошо начинался, но если открыть его сейчас, там миллион каких-то подсветок, свистелок и перделок соревнуются за твое внимание. А Sublime не особо меняется и это дает ощущение стабильности, ощущение, что можно никуда не бежать и не следить за «развитием» редакторов кода.

Sublime Merge заменил мне GitKraken, хотя концепция последнего мне нравилась чуть больше. Но SM собран так качественно и аккуратно, ничего не болтается и не люфтит, все просто, минималистично и быстро, конечно. Это заставило меня поверить, что можно кайфануть не только от функциональности, но и от качества сборки.

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

Из игровых движков мне понравился Godot именно тем, что его просто скачал и работаешь. Как может быть по-другому? Вот я тоже удивлялся, но Unity даже эту часть умудрились переусложнить — регистрация, лаунчеры, «пакет» продуктов, доскачивание после установки... Энтерпрайз всегда был ярым противником здравого смысла.

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

Infuse тоже недавно порадовал — я им пользовался на Apple TV и там давно был настроен мой удаленный медиа-сервер. Проблема была в том, что я забыл уже все настройки, пароли и явки, и из-за этого никак не мог смотреть те же видосы с ноутбука — лень было настраивать заново. Каково же было мое удивление, когда я поставил Infuse на мак и он сам каким-то образом подсосал мои же настройки через, видимо, iCloud, без единого действия и даже запроса с моей стороны. Приятно. Особенно приятно в сравнении с TV.app на Маке.

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

Так что я тоже неспроста на вещи жалуюсь. Я жалуюсь, потому что вижу, как можно лучше. На конкретных примерах. И я не хочу, чтобы подход «так делает Гугл» или «лучше никто не умеет» каким-то образом нормализовал посредственность, лень и накопленную сложность. Разобрать завалы и сделать прямо и просто это на самом деле очень достойная цель и путь к успеху, путь, на котором очень мало конкурентов. Вот его-то я и пытаюсь нащупать.
9.2K viewsNikita Prokopov, edited  14:02
Открыть/Комментировать
2022-08-10 15:39:40 Я кстати поставил себе вторую бету macOS Ventura. Это новая макось, которая выходит осенью.

И знаете что? Знаете, конечно. Вы у меня сообразительные Я разочарован.

Ну то есть не чтобы она совсем не работает. Работает, конечно. Про редизайн System Preferences не буду — в отличие от многих, мне кажется направление верным. Давно уже было пора все эти настройки в плоский список организовать. Да, можно улучшать, но направление правильное.

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

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

Дальше, чтобы упростить задачу, все ваши popup-окна фиксированного размера. Это стремно, и System Preferences за это справедливо критикуют, но вот так вот они решили. Важно, что это сильно упрощает задачу. Вам нужно запихнуть не-динамический контент в окно фиксированного размераю

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

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

I mean, даже дельфи с таким справлялась, да и в вебе, если честно, я давненько такого позора не видел.

Я уж не говорю о видимой задержке при переключениями между панелями, про отсутствие клавиатурной навигации, про race conditions, которые видно невооруженным взглядом, про спорные дизайн-решения, про идиотские контролы. Но блин, фиксированный лайаут в окне фиксированного размера!!!

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

Если это то самое будущее, которое ждет нас с Swift UI, то я туда не хочу, спасибо большое.
8.9K viewsNikita Prokopov, 12:39
Открыть/Комментировать
2022-08-09 16:03:16 Ладно, впервые в истории канала, признаю, что был неправ. Комментаторы меня переубедили. Программирование не должно быть простым и легким ни для кого. Программирование должно быть сложным, чтобы кровь, кишки, расчлененка, чтобы даже простейший туду лист делался минимум командой из десяти человек и за полгода времени.

Потому что если оно будет простым — ну куда это годится? Это что же получается, кто угодно сможет им заниматься? Это как же продавать людям простые утилиты, если они смогут сами для себя их написать? Как работать программистом, если бизнес без тебя может сделать то, что ему нужно?

А экспертизу куда девать? Весь этот скилл по настройке вебпака и кубернетеса? Выбору между MySQL, PostgreSQL и NoSQL? Документация на Simple Storage Service занимает 1104 страницы и 50,000 строк SDK. Simple! Конечно это все существенные детали. Конечно, если выберешь не ту базу, это критически повлияет на опыт конечного пользователя.

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

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

А то не дай бог я бы пошел искать решения, или, еще хуже, начал думать в этом направлении и подвергать сомнению статус кво. Как здорово, что можно на вас положиться.
9.8K viewsNikita Prokopov, 13:03
Открыть/Комментировать
2022-08-08 14:43:29 Я все никак не смирюсь, насколько сложно современное программирование.

Я вот о чем. Представьте, что вам надо написать, например, туду-лист (избито, а что делать). Если посмотреть чисто по-человечески, важная часть, бизнес-логика, так сказать, состоит из:

- List::append
- List::delete
- List::filter
- not (менять статус выполненности)

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

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

Но (кажется) очевидно, что так быть не должно? Наверняка несущественные детали можно как-то порешать, причем скорее всего все равно как. На то они и несущественные. Вам же все равно, каким именно алгоритмом выполняется List::sort, например? Ну вот и рисованием, и с деплоем, и с синхронизацией скорее всего будет все равно до тех пор, пока оно выполняется хоть как-то.

Короче, я мечтаю о мире, в котором, скажем, если мне понадобился список покупок, я вбил «куда-то» 10 строчек, состоящих из list.append и item.status = not(item.status) и получил туду-список под мои нужды. А не собирал команду на полгода. Туду список мне, конечно, не нужен, но теоретически можно много таких вот мелких и супер-специфичных задач напридумывать, которые я бы потенциально хотел иметь возможность запрогать, но не настолько сильно чтобы платить в 100-1000 раз больший оверхед за accidental complexity.

Как такое светлое будущее называется? No code? Darklang? Excel? IFFFT? Потому что я готов на него посмотреть.
9.9K viewsNikita Prokopov, 11:43
Открыть/Комментировать
2022-08-06 11:01:39 Прочитал классный рассказ Леонида Каганова «Когда меня отпустит». По сюжету двум студентам дают экспериментальный «анти-наркотик». Если наркотики меняют восприятие, но не трогают реальность, этот препарат наоборот — восприятие не трогает, а реальность меняет.

Ну и вокруг них начинает все более дикая дичь происходить: сначала окна в больнице оказываются странно заколочены, потом доктор болгаркой выпиливает окна у автобуса, больница внезапно называется НИИ ЦКВГФСБСВП, на рекламных щитах написано «НЕ ХОЧЕШЬ ТАКОГО СОСЕДА?» и «ЖДЕТ РЫБА», по дороге мужик катит матрас, в маршрутке все пассажиры оказываются такжиками с черенками от лопат, водитель использует кочан капусты как оберег. Классная филипдиковщина, короче, мой люблимый жанр.

Это я к чему? Рассказ как нельзя точно передает ощущения от мира в послендее время. Например, я недавно в первый раз в жизни посмотрел кино с блюрей-диска. И что вы думаете? Непропускаемый трейлер в начале. Как в кино — пришел, смотри рекламу. На диске, который я сам же и купил! Ну или вот заголовок, сравните с безумием в рассказе: «Google Meet meets Duo Meet, with Meet in Duo but Duo isn’t going into Meet». По-моему, очень похоже. Только это не фантастика, это все происходит на той же планете, где и мы с вами, прямо сейчас.

Потом я решил полистать, собственно, ленту твиттера. Нашлось: Ford патентует устройство, предупреждающее пешеходов, что их самоходная машина собирается их переехать; Медведев обещает отомстить за блокировку YouTube-канала Гоблина; драйвер клавиатуры требует аккаунта; Эпл внедряет принудительную секундную анимацию перелистывания в Books; Gitlab собирается удалить все старые бесплатные репозитории; компания катится в трубу, но продолжает упорно внедрять только изменения с положительными А/Б тестами; NPM пакет, который грузит главную гугла и переводит через нее валюту; Windows открывает локальные папки по несколько секунд; компания покупает успешный сервис с командой, увольняет их и заменяет джунами-индусами, виджет часов показывает неправильное время, а Андроид может заснуть и пропустить будильник. Я уж не говорю про количество NaN и Undefined в ленте. И это только за три дня! Психбольные захватили руководство больницей и делают что хотят, а все вокруг ходят, занимаются своими делами и делают вид, что так и надо и никакого безумства не происходит.

Когда уже отпустит, а?
11.6K viewsNikita Prokopov, 08:01
Открыть/Комментировать
2022-08-05 15:57:54 Не перестаю поражаться современным технологиям. Вот Вотсапп пришел на смену СМС-кам, да? Казалось бы, что-то должно было стать лучше? Должно, но раньше было как? Встретил кого-то, решил обменяться телефонами, продиктовал номер, получил сообщение и готово.

А с вотсаппом как? Встретил кого-то. Стоите оба с телефонами. Открыли вотсапп. Тупите. Что дальше? А ничего.

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

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

А поменять номер? Если меняешь сотовый, то все, у кого он был записан, тебя потеряют — это понятно хотя бы, с технической точки зрения. Но все, кто писал тебе в вотсапп, тоже тебя потеряют! Почему? А просто because fuck you, that’s why. Никакой другой причины тут нет.

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

То ли дело ICQ! Девять цифр — все, что тебе нужно. Прям в заголовке окна написаны. Ты всегда их знаешь. Ни к чему не привязаны, кроме самого ICQ. Никакой магии. Вот это был прогресс. А телефоны — шаг назад какой-то.
11.0K viewsNikita Prokopov, 12:57
Открыть/Комментировать