Если вас добавили в телеграмм-группу, но вас это не обрадовало…

Вот такой Бумеранг Добра:

Всем добра и любви.

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

Если вас добавили в группу Телеграм, но вас это не обрадовало, то отметьте эту группу как спам, а после этого самостоятельно покиньте группу. Вполне вероятно, что этого хватит на неделю-другую, а затем вас снова добавят.

Если вам и этого будет мало, то в настройках безопасности есть настройка, кому можно вас добавлять в группы. По умолчанию там может стоять «Everybody»(Все, Кто угодно), но вы можете выставить значения «My contacts»(Мои контакты).

Шлю всем лучи здоровья.

Удивительно, но в течение нескольких минут после отправки такого сообщения в группу моё сообщение подчистили и меня заблокировали, видимо навсегда.

Интересно, можно ли как-то выяснить, кто добавляет меня в группу?

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

PPS. Если группа совсем левая, то один из косвенных способов — посмотреть, кто из ваших не очень давних контактов является её членом. Если там только одна риэлторша Гульчехра, то есть шансы что это она. Просто она так любит благотворительность, что всех своих контактов пытается добавить в группы, где это промотируется. 

PPPS. Отписался от многих каналов в телеге, через специальную прослойку я конвертирую Телеграм в RSS потоки (https://rsshub.app/) и добавляю их себе в Feedly. URL выглядит примерно так: https://rsshub.app/telegram/channel/<ChannelName>.

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

PPPPS. Говорят, что «всем добра» это пассивная агрессия. Скорее всего, так оно и есть.

Когда ты спрашиваешь у Гугла, а тебе отвечает человек

Google 8:28 PM Здравствуйте! Меня зовут [личные данные], я работаю в службе поддержки YouTube и Play Музыки. Сейчас я рассматриваю Ваш запрос.
Google 8:28 PM Добрый день
Google 8:28 PM Пару минут
Ivan 8:30 PM Доброго дня, а есть информация когда подключат Казахстан?
Google 8:31 PM Спасибо за ожидание
Google 8:32 PM Я проверила данные страны
Google 8:32 PM К сожалению, на данный момент нет нововеденных данных о датах
Ivan 8:32 PM Спасибо за ответ!
Google 8:33 PM Я приношу извинения за данные неудобства
Google 8:34 PM Я сейчас вам передам ваши пожелания нашим специалистам для улучшения сервиса
Google 8:34 PM Я понимаю, что мой ответ ничего не значит и не дает вам полной информации
Google 8:34 PM Все, что я могу сделать в данной ситуации — это передать ваш запрос
Ivan 8:34 PM😃
Ivan 8:35 PM 👍
Google 8:36 PM Могу я вам еще чем нибудь помочь?
Ivan 8:36 PM Нет, всего доброго!
Google 8:36 PM Благодарю за понимание
Google 8:36 PM Всего вам хорошего
Google 8:36 PM Буду Вам также признательна, если Вы ответите на несколько вопросов о работе Службы поддержки – это займет всего несколько минут. Заранее благодарю. Желаю удачи!

Немного NoSQL или что-то взамен SM30

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

На первом уровне это хардкод внутри программы:

  • написанный напрямую в тексте программы;
  • вынесенный в константы или блок инициализации;
  • оформленный в виде статического атрибута глобального класса.

Хардкод вполне оправдан, если:

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

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

  • кучу таблиц можно объединить в кластер SM34;
  • ведение можно привязать к коду транзакции;
  • ведение можно добавить в SPRO;
  • таблицы могут быть зависимые/независимые от манданта;
  • таблицы могут быть частью настройки или вестить непосредственно в продуктивной системе.

Такие настройки уже вполне можно передать в руки настройщиков и пользователей.

Доходит иногда до смешного, даже в стандарте можно наблюдать целые настроечные таблицы в виде одной колонки («Активировать»), соответственно в таблице только одна строка со значеним — флажок стоит или нет.

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

Часто можно заметить, что в системе есть много разных стандартных узкоспециализированных хранилищ, которые можно использовать в собственных корыстных целях, например:

  • глобальные переменные STVARV;
  • рабочие списки (OB55 и похожие);
  • версии баланса (почему бы и не);
  • деривация (ну если уж так);
  • кастомные атрибуты объектов, если позволено.

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

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

Черное зеркало S05E02, Осколки

Два момента, которые меня особенно зацепили. Профессиональная деформация?

Блокировка аккаунта на сутки после трёх неверных попыток входа

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

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

Восстановление пароля в открытом виде

В конце сюжетной линии героине присылают пароль от аккаунта в открытом виде.

Разумная практика — не хранить пароли в открытом виде, использовать только солёные хеши и всё такое. В реальной жизни администратор может сбросить пароль, то есть просто установить новый, но старый пароль никто узнать не может.

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

Для завершения сюжетной линии — красивый штрих, но IRL такого не бывает.

Бонус — запись звука с мобильного телефона

Администратор социальной сети активирует закладку в мобильном приложении и запускает трансляцию звука с устройства преступника на терминал администратора.

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

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

Могу только утверждать следующее. Звук не записывается и не передаётся в сколько-нибудь значимых объёмах. Ограничивает авторов приложений и связывает руки примерно следующее:

  • вероятность публичного скандала может нанести значительный ущерб репутации
  • постоянная запись звука сказывается на ресурсе аккумулятора
  • постоянная отправка данных легко детектируется
  • звук требует расшифровки speech-to-text, а это дорогое удовольствие
  • запись звука требует разрешений на уровне операционной системы, что сразу вызывает вопросы к приложениям, которым незачем это делать
  • известны случаи, когда приложения записывали действия рандомных пользователей (экран и звуки); сообщалось, что это проводилось только в рамках системы качества

LOOP AT SCREEN, работа с экраном — новая идея

Устав от простыней в стиле:

я решил обкатать новый подход.

Первым делом декларативное определение, например:

Применение на практике сводится к следующему:

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

(далее…)

Про перекладывание плитки

Раннее утро. Птички чирикают.

Сижу, никого не трогаю, читаю утреннюю газету.

SAP вещает:

сморите как всё было плохо, какое всё разное, инконсистенси, то да сё,  фу-фу-фу

вот мы вам сделаем Fiori 3, там будет всё такое консистентное, прям ух-ты-красота

современные технологии, двадцать первый век, а о цене давайте не будем говорить

И неожиданно нахлынуло чувство какой-то органичной целостности этого мира.
(далее…)

Прощай, Сергей!

Не стало великого человека. Очень жаль. Он был актуален для меня прямо сейчас.

* * *

Я слушал Подъём каждый день, но редко в прямом эфире. Часто в тот же день, иногда накапливалось недосмотренного на целый месяц. У него было своё мнение по миллиону разных вещей, и часто я с ним не согласен. Остр, резок, груб, самолюбив. И это было его право.

* * *

Он рассказал мне важные вещи, например:

  • В России нет коррупции
  • Любое послание содержит три компонента:  декларируемое, подразумеваемое и скрытое
  • Главная валюта нашего времени — внимание

* * *

Он не любил, когда его называют по имени-отчеству.

* * *

PS. Просто удивительно, что бы он делал в 2022 году, мы об этом никогда не узнаем, как и не прочитаем второй том Мёртвых душ.

Телега впереди лошади

Простая иллюстрация подхода при передаче параметра  в виде ссылки:

Чего можно таким добиться?

Например: это маленькое ухищрение позволяет однократно указывать обрабатываемую таблицу. Это делает код чуть менее многословным. Альтернатива:

Насколько это красиво? Чисто и просто… Впрочем, есть тут некоторая неочевидность. Мы запускаем метод в классе без указния локальной переменной в качестве параметра, а эта локальная переменная меняется.

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

Пример реализации:

(далее…)

Ни в чём себе не отказывай

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

В новой интерпретации это не справочник, а просто поле свободного ввода:

И пусть никто не уйдёт обиженный!