Установка High Sierra Beta с нуля

1. Надо иметь Developer Account
2. Надо иметь флешку ( я обозвал HighSierra ) - с флешки все удалится!
3. Открыть macappstores://itunes.apple.com/app/id1209167288
4. Скачать - должно получиться 5+ гигов
5. В терминале
sudo /Applications/Install\ macOS\ High\ Sierra\ Beta.app/Contents/Resources/createinstallmedia --volume /Volumes/HighSierra --applicationpath /Applications/Install\ macOS\ High\ Sierra\ Beta.app/ --nointeraction &&say Boot drive created
6. Дождаться Boot drive created и загрузиться с флешки. Дальше как обычно

Новый сервер на CentOS 7

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

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

Первое, что необходимо сделать – отрубить 99,9% автоподбиральщиков паролей.

# cat /etc/sysconfig/iptables|grep 22
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 4 --name DEFAULT --rsource -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT

Затем ставим sslh – мультиплексор протоколов. Его задача – дать доступ до основных сервисов через 443 порт.

# cat /etc/sslh.cfg
# This is a basic configuration file that should provide
# sensible values for "standard" setup.

verbose: false;
foreground: true;
inetd: false;
numeric: false;
transparent: false;
timeout: 2;
user: "sslh";
# Change hostname with your external address name.
listen:
(
{ host: "edge"; port: "443"; }
);
protocols:
(
{ name: "ssh"; service: "ssh"; host: "localhost"; port: "22"; },
{ name: "openvpn"; host: "localhost"; port: "1194"; },
# { name: "xmpp"; host: "localhost"; port: "5222"; },
{ name: "http"; host: "localhost"; port: "80"; },
{ name: "ssl"; host: "localhost"; port: "443"; log_level: 0; },
{ name: "anyprot"; host: "localhost"; port: "443"; }
);

Как видите, конфигурация 100% стандартная, за исключением того, что мне не нужен xmpp. после обкатки можно будет и закрыть “обычный” ssh порт совсем. Минусом станет то, что в логах и утилитах пользователи станут заходить через localhost. Реальные адреса будут видны только через journald

… и все. В остальном инсталляция CentOS 7 не требует дальнейших движений напильником.

Криптовалюты – чего куда зачем?

Биткоин, эфир … “крипта” и какая-то “ико”. В нашей окружающей жизни стали появляться странные слова, связанные с криптовалютой. Набрав в любом поисковике bitcoin, вы 100% попадете на какой-нибудь сайт, рассказывающий о преимуществах этого средства и рисующий офигительные графики роста или падения курса. Попытка разобраться обычно приводит к заумным статьям про майнинг, хеши и прочие термины, которые ни разу не понятны …

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

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

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

А теперь представьте себе, что у вас есть какая-нибудь картинка. Скажем, сфотографированный лично вами закат. Картинка получилась настолько красивой, что её пожелал купить кто-то в интернете. Но просто переслать почтой картинку мало. Ведь только ваша совесть остановит вас от того, что бы сделать еще одну продажу. Что делать?

Умные люди придумали, как перенести механизм с нотариусами в интернет.

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

Следующий шаг был очень прост: вместо файлов использовать цифры. Которыми обозначили число хранящихся монет. Так как для расчета “подписей” используются криптоалгоритмы, то вполне логично получилось название “криптовалюта”. Так как везде используются компьютеры, то получилась адская смесь терминов, которая вводит в заблуждение обычный людей (и некоторых не обычных). Давайте я расскажу еще раз пошагово, но уже с использованием терминов, а вы сами поймаете аналогии.

1. Нам нужен “кошелек”. Кошелек – это ваш уникальный адрес в сети. Именно уникальный, второго такого в сети нет. Уникальность обеспечивается сложными, на “тыщу мульонов” раз проверенными алгоритмами.
2. Вы ставите программу, которая генерирует кошелек, соединяется с серверами которые поддерживают работу валюты и делает кучу другой работы необходимой для функционирования.
3. Затем вы кому-то даете адрес своего кошелька и просите перевести денег на него.
4. Этот кто-то отправляет в сеть команду “перевести с кошелька А на кошелек Б столько-то денег”.
5. Сеть раздает задания “подпишите, что у кошелька А снялось столько-то денег, а у Б столько-то зачислилось. плата за подпись – столько-то”. Тут в дело вступают “майнеры”. Напрягая свои видеокарты, FPGA и ASICи, они с помощью сложных алгоритмов ищут те самые “хеши”, которые подпишут эту транзакцию.
6. Как только “хеши” найдены, операция завершается.

Просто? Да, просто. Но эта простота таит несколько серьезных отличий от привычных вам денег.

1. Открытость. Любой в сети может посмотреть состояние вашего кошелька. Сколько и от кого пришло и сколько и куда ушло.
2. Анонимность. Нет никакого способа связать какой-либо кошелек с кем-нибудь, пока не будет осуществляться ввод/вывод денег в “реальный мир”.
3. Невозможность “отката” транзакций. Если деньги “ушли”, то все. Нет никаких механизмов для исправления ситуации.
4. Возможность создания неограниченного числа кошельков. И восстановление кошельков из “ничего”

Этих четырех пунктов хватило, что бы центробанки любой страны начали напрягаться. В результате где-то уже запретили криптовалюту, где-то разрешили или размышляют. Безучастных не осталось и именно поэтому вам необходимо прежде изучить законодательство вашей страны прежде чем начать активно использовать “крипту”.

Вас это не пугает и вы решили попробовать? Ниже один из вариантов для bitcoin.

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

Так как я рассказываю про биткоин, то самым логичным будет набрать в поисковике “bitcoin wallet” и попасть на официальную страницу. Выбираете тот, который вам больше понравится. Можно одновременно использовать хоть 10 клиентов для одного кошелька – нет никаких препятствий для этого.

Процедура создания кошелька везде одинакова. Программа чего-то там поделает и попросит вас распечатать и сохранить 12 слов на английском (или “посев”-“seed”). Это самые важные слова. Любой, кто имеет их, будет способен получить полный и абсолютный доступ к вашему кошельку. Ну а потом программа покажет вам длинную строчку из кракозябр (типа такой 1Ag6nJXyRKEjnpzsE9D2wjQXCtt65JU5xF), которая и будет вашим “кошельком”.

ВНИМАНИЕ! Первое, что вы должны сделать – это попробовать восстановить кошелек в другой программе. Криптовалюты дело новое, поэтому вполне вероятна ошибка. Вот пример.

Seed из electrum не подходил никуда, кроме самого electrum. На картинке Exodus, но я попробовал и другие. Пришлось пересоздавать уже в другой программе, а на электруме поставить крест.

2. Положить в кошелек денег. Как ни странно, это самая сложная часть. Откуда взять криптовалюту?

Вариантов несколько:
– “Намайнить”. Поставить на компьютер специальные программы, настроить их и потратив кучку электроэнергии, получить искомое. Это отдельная тема и я её не буду освещать тут.
– Заработать/попросить. Тут как в реальном мире. Кто-то, кто имеет криптовалюту, по каким-то причинам переводит вам. На сколько договоритесь, столько и получите.
– Ввести из реального мира через нал или кеш. Это самый сложный и одновременно простой путь, поэтому я опишу его.

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

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

Так же приготовьте скан какого-либо счета. Счет должен быть свежим, с вашей фамилией и адресом. На счете должна быть печать. Или штрихкод.

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

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

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

Реально рынок. Одни частники. Хочешь покупай, хочешь продавай. Налом, с карты на карту, перечислением – как угодно. Всей защиты – репутация продавца и дикие проценты. Повторюсь, больше защиты никакой нет. Поэтому купили (адрес кошелька дадут) – перевод на свой кошелек. Будучи после обеда в хорошем настроении, решил шикануть.

Вот так это выглядит со стороны биржи.

А вот так – со стороны клиента.

Деньги приходят практически мгновенно, но где-то с час они недоступны (смотри на надписи в клиенте). Именно в этот момент “майнеры” по всему миру греют воздух своими дивайсами.

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

Повторю правила.

Открытость. Любой может посмотреть состояние кошелька. Любой вводит номер моего кошелька и видит все. Для просмотра баланса и транзакций надо только адрес-имя кошелька.

Анонимность и невозможность отката.

Вот мне очень хороший человек прислал 0.001 эфира. И 12 других человек подтвердили это. Если они сами не скажут, что эти кошельки принадлежат им – у меня нет возможности узнать, кто они.

Неограниченное число кошельков. Тут предоставляю право проверить вам самим.

Вот так все просто.
ЗЫ 1Ag6nJXyRKEjnpzsE9D2wjQXCtt65JU5xF и 0x4f565Cc6D0ea31Fb88e095A6e8Db9233f3234379 – мои кошельки. Можете переводить сколько угодно денег, я не буду против 🙂

Запрет macOS менять имя машины

Довольно часто я со своим макбуком попадаю в чужие сети. И некоторые (не будем показывать пальцем) в DHCP ответе отдают новое имя машины. А macOS как и положено, меняет свое имя на указанное. Мелочь, но напрягает когда в терминале видишь непривычное имя.

Решение простое: сделать скрипт/выполнить следующие команды. Вместо mbook поставьте свое

NAME="mbook"
sudo scutil --set HostName ${NAME}
sudo scutil --set LocalHostName ${NAME}
sudo scutil --set ComputerName "${NAME}"

Решение простое: DHCP может переписать HostName, но приоритет у LocalHostName и остального выше.

Взгляд на фрилансеров с другой стороны барьера

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

Ок, где надо искать людей, готовых за толику малую сделать нужное? Правильно, на всяких фриланс-биржах. В русскоязычной части интернета таких вроде две: fl.ru и freelance.ru. Лично у меня в голове на эти два адреса всплывало только то, что это раньше был один ресурс, потом кто-то там куда-то разругался и их стало два. Но это лично мне как заказчику все равно.

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

А вот fl.ru напротив как-то показался более живым. Точно так же восстановил пароль, потыкал во всякие кнопочки и преодолев некоторые внутреннее сомнение “а надо ли?”, создал проект.

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

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

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

Добрый день!
Готов{а} выполнить проект. Я {имею три туалета/занимаюсь этим 100 лет/зажигаю даже гондурас}
Мои работы {ссылка}, если будут вопросы – обращайтесь в скайп best_of_the_best
{Подпись}

Обалдеть. А почему я должен куда-то обращаться и задавать какие-то вопросы? Тем более что на данной стадии у меня вопрос только один “а он{а} сможет?”. И чем плох встроенный чатик?

И наконец, самые редкие сообщения. Они очень похожи на предыдущие, но содержат примерно такую фразу “у меня есть несколько вопросов. где будет удобно вам на них ответить?”. Уже значительно лучше. У меня, как у заказчика, уже возникает обратная реакция как минимум ответить “задавайте туда/сюда”

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

Отдельной категорией идут сообщения, где сразу указываются цены/сроки. Как ни странно, но они тоже полностью подчиняются описанным шаблонам. И тут уже начинает поднимать голову мой опыт. Ну не бывает так, что бы с первого раза было все понятно “от” и “до”. Не бывает и точка.

Какие сообщения с моей точки зрения наиболее заслуживают внимательного ознакомления?

1. Должно быть подтверждение, что это написано не копипастом. Для этого достаточно зацепиться за любую деталь в описании. Если нет описанной детали, зацепитесь за отсутствующую. Если вы делали такие проекты, то наверняка знаете и кучу “подводных камней”. Откройте хотя бы один для меня.

2. Если даете сроки и деньги, но тогда опишите, за сколько ЧТО вы сделаете. Не просто “сделаю описанное”, а “нарисую/сделаю/офигачу вот это”. В описании я могу иметь в виду что угодно и опустить “известные всем” вещи. Оно вам надо, где-то ближе к концу получить проблемы на ровном месте?

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

Вроде просто, но почему-то так сложно …

Контроллер версия 2

У меня уже была версия 1, но недавно с испытаний вернулась более новая и улучшенная версия. Теперь она выглядит так:

Это по-прежнему шилд для Arduino Nano, но функционал немного поменялся.

Во-первых, эта версия умеет “распознавать” на входе сигналы уровнем как 220В, так и 24В. При этом без разницы, постоянное или переменное напряжение. Бонусом добавил световую индикацию состояния входов.

Во-вторых, плата теперь имеет два выхода 0-10В. Мелочь, но это очень приятная мелочь.

И наконец, сделал “закладку” для универсального порта. Это маленькая плата-расширение на снимке снизу

Сам порт с испытаний не вернулся, но если все будет хорошо, он обеспечит вход/выход 0-10В, вход-выход 0-20мА и измерение сопротивлений от 100Ом до 100кОм. Разрабатывался в расчете на “закрытие” всех потребностей обычных автоматизаторов. Или говоря другими словами, для тех кому не нужны защиты в 5кВ, гальванические развязки и прочее. Благодаря этому конечная цена данной версии колеблется в районе 2000 рублей в зависимости от объемов.

Но нет пределов совершенству. Скоро будет 3я версия платы, которая закроет найденные недочеты. Например, можно и нужно выровнять реле. И добавить еще немного индикации. И … в общем, все некритично, но практично.

Оригинальный вариант взлома …

Пришло мне тут аж два письма. По содержанию одинаковых, но с разных адресов.

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

Но проблема только в одном: размещение данного кода приведет к открытию “потрохов” сайта любому желающему.

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

А вот дальнейшее не повторяйте! Я знаю, что делаю и к чему это может привести.

Я создал этот a1iqyyar9p1ep21a.php в домашнем каталоге kaloshin.ru. Посмотрю, что получится 🙂

Кто такие DevOps?

Слово модное…это да!! Но если публиковать как «Системный администратор», то откликаются мальчики-настройщики компов, если «Программист», то жесткие программеры без фантазии © Объяснения одной дамы

Любой, кто интересовался этой темой, знают, что данное сокращение произошло от Development и Operations. Или если перевести на русский – Программисты и Сисадмины. Да, operations дословно переводится не так, но здесь я использую слово «сисадмины» в самом широком смысле.

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

Точно такое же широкое определение имеют и «программисты». И тот, кто пишет на javascript проверку ввода на сайт и тот, кто добавляет код во внутренний модуль корпоративной системы – все они «программисты». И даже тот, кто пишет на встроенном языке 1С, тоже программист, что бы об этом не думали другие.

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

Для сисадмина самое важное это то, что бы вверенная ему система работала без перебоев. Не обращая внимания на тупых пользователей, идиотов-разработчиков, отключения питания и поломок оборудования. Все, абсолютно все, рассматривается с точки зрения надежности. И венцом этой надежности является достижение времени доступности системы в 99,999% (или «5 девяток»). Поверьте, заставить современные системы работать так, чтобы их время недоступности не превышало 5 минут в год – это очень сложная задача. И когда вы добиваетесь, что максимальное время, когда подчиненная система может сказать «ой, я не могу» – это 6 секунд в сутки, то спокойно можете брать с полки пирожок.

У разработчиков же другое положение. Над ними коршунами вьются кровососы-менеджеры, которые постоянно требуют новый функционал, который должен работать быстрее или лучше. И всё это великолепие не должно поломать уже существующий функционал. И код, который прекрасно работает на твоей машине, почему-то отказывается работать как надо даже в тестовом окружении. А еще эти гамадрилы-сисадмины не дают нормально покопаться в получившейся у них системе и понять, что пошло не так даже после успешно пройденных тестов. Эти чудаки на букву «м» постоянно орут как резанные и набрасывают говен на вентилятор при любом чихе. И никто кроме коллег не способен оценить красоты получившегося кода или изящества алгоритма.

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

В эту сложную и нервную обстановку добавляет перцу то обстоятельство, что «сисадмины» никогда не писали код размером больше чем на пару страниц, а «разработчики» никогда не обслуживали написанные ими системы (а часто даже и не пользовались ими). Результат абсолютно предсказуемый: тотальное непонимание друг друга и подковёрные войны.

Вот в горниле этих битв и родилось новая каста – DevOps или девопсы. Как водится, поначалу были перегибы с обоих сторон и презрение к «переметнувшимся». Плюс из-за молодости самого термина у него множество толкований и определений. Кто-то считает девопс методологией, направленной на автоматизацию и увеличение числа релизов, а кто-то – на уменьшение ошибок. Я же считаю, что девопс – это прежде всего человек, главной задачей которого является снижение головной боли у программеров, сисадминов и QAшников. А те уже сами напишут, отконфигурят и оттестируют нужное.

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

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

Сейчас, в самом начале жизни девопсов (с 2009 года же), самой основной их задачей является автоматизация. Объёмы того, что необходимо автоматизировать – поистине ужасающие. Ведь все (программеры и сисадмины) непрерывно трудятся над увеличением завалов не один десяток лет.

Что обычно автоматизируют?
– Развертывание очередного релиза кода. В тест, в стейджинг, в продакшн. Да хоть на машину разработчика. С необходимыми сервисами и данными. Разных версий.
– Обновление. Сервера, сервисы и сайты. Быстро и еще быстрей.
– Управление инфраструктурой. Сегодня 100 серверов в одном датацентре, завтра 500 в трех, а послезавтра 1000 снова в одном. Мониторинг, сбор логов и куча других мелких задач, которые раньше выполнялись вручную или не выполнялись совсем.

Это самые общие задачи. Где-то спектр для автоматизации побольше, а где-то поменьше.

Широкий характер выполняемых задач автоматически формирует и необходимые требования к девопсам:

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

– Наличие знаний (есть еще умное слово «компетенций») по всему процессу разработки. Причем знания должны быть реальными и боевыми. Потому что некому кроме девопса остановить программера, когда он решит напрямую засовывать json в обычную базу данных. Для разработчика в этом нет ничего крамольного (база поддерживает? поддерживает!), для сисадмина тоже (ну растет база и требует больше ресурсов – это нормально), а DBA по привычке обматерит всех и молча пойдет строить индексы и партиционировать базу. А то, что полученная конструкция могла быть быстрее и надежней – это никому не интересно. Кроме девопсов.

Нет ни того, ни другого? Тогда получаются люди, которые прекрасно характеризуются как «чуваки с накачанным ЧСВ и недержанием кода».

Требования большие? Да, большие. Зато и награда велика.

Сама возможность пощупать возведенное твоими трудами, а не какого-нибудь сферического коня в вакууме стоит дорого. Причем ощутить весь процесс возведения от «долбанное ничего» до «обалдеть какая няшка». Ни разработчики, ни сисадмины, ни тестировщики такой возможностью не обладают …

P.S. Ну и денег дают нормально.

Бекапы – фигня. Восстановление – вот это да!

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

Будь готов!

Именно поэтому я изобрел лично для себя свой личный DIRT (Disaster Recovery Test). Где-то раз в месяц (или чаще, под настроение) я тупо сношу все с ноута и ставлю заново операционку и накатываю назад рабочее окружение. Первые разы длились все выходные и без потерь не обходилось. Зато сейчас мне требуется примерно час, что бы вернуться в строй. Около трех часов – что бы вернуть 100% окружения назад. Быстрее не получается, ибо ограничен скоростью ноутбука и интернета. Максимальные потери – с начала рабочего дня. Все, что мне необходимо на данный момент – это ноутбук и быстрый интернет.

Итак, что необходимо для получения аналогичного?

Во-первых, компьютер с нормальной и привычной вам инфраструктурой. Представьте себя в командировке в далеком городе. У вас сгорает синим пламенем ваш любимый ноутбук. Что делать? Лучшее решение: тупо идем в ближайший компьютерный магазин и покупаем новый ноутбук. Попытка ремонта или привоза “трупика” домой – все это потери времени, а его обычно всегда не хватает. Мой выбор на данный момент – MacBook. Просто, удобно и unix внутри.

Во-вторых, приучите себя использовать систему хранения паролей. Все пароли, ключи, сертификаты или конфигурационные файлы должны быть там. Все, что необходимо вам помнить – это как добраться до этой системы и мастер-пароль. В свое время я выбрал 1Password и ни капельки об этом не пожалел за 5 лет.

В-третьих, приучите себя использовать системы контроля версий. SVN, Git, Mercurial – что угодно, но в этой системе должны лежать все документы и файлы, которые представляют для вас хоть какую-то ценность. Да, поначалу будет тяжело, особенно если вы не представитель ИТшной области. Очень ограниченным паллиативом будет покупка аккаунта в дропбоксе или в другом хранилище файлов. Там тоже появляются возможности про сохранение версий документов и их “отката” при необходимости.

Так же очень полезно завести на каком-нибудь облачном хранилище файлов каталог, в который вы будете складывать дистрибутивы программ. Да, сейчас есть много магазинов приложений (например, встроенный в Apple или Steam. Что-то аналогичное есть у Windows), который после ввода заветного логина и пароля дадут поставить вам все назад. Но до сих пор есть куча приложений, авторы которых по каким-то причинам не могут или не хотят публиковаться в таких магазинах.

И когда вам потребуется поставить такое приложение, то легко можно столкнуться со следующими проблемами:

– Нужной версии уже нет. А доступная версия требует покупки. Да, можно списаться с автором или поискать в интернете, но это потеря времени.
– Для скачивания версии необходимо зарегистрироваться/залогиниться на сайте, потом они пришлют ссылку, по которой скачается “качальщик”, который и начнет скачивать нужное.
– Дистрибутив большой или лежит на медленных серверах. Пока скачаешь …

Наличие своего, персонального архива нивелирует эти проблемы практически одним махом.

И вот только после этого можно поставить какую-нибудь систему резервного копирования (Acronis Backup очень даже, не смотря на мелкие глюки). И натравить её на всё вот это скопом для создания последней “линии обороны”.

Ну и регулярно проводить восстановления накопленного непосильным трудом. Повторюсь, в первые разы вы обязательно что-нибудь потеряете или забудете и это нормально. Еще раз – абсолютно нормально. Это для того и надо, что бы когда это случилось внезапно, у вас был четкий план, что и когда делать.

Вот как у меня происходило это в последний и предпоследний раз (я пролил кофе на ноутбук и просто захотелось)

1. Сносим диск и ставим операционку с нуля.
2. Как только она поставилась, идем в родной магазин приложений и ставим хранилку паролей. Затем клиент для “облачных облаков”.
3. Запускаем все это. Доступ до паролей получен, основные файлы (типа инсталлятора vpn) пошли заливаться на ноутбук.
4. Запускаем установку необходимого из Apple store. Всякие slack, things и прочее.
5. По мере установки всего я уже могу начинать пользоваться ноутбуком. Да, почта не вся засинхронизировалась или индексатор не прошел по всем файлам, но я уже могу что-то делать.
6. Восстанавливаем из системы контроля версий последние проекты и разворачиваем файлы конфигурации.
7. По мере необходимости ставим тот софт, который не требуется “прямо сейчас”, но нужен регулярно.
8. Оцениваем потери и думаем над шагами, которые надо сделать, что бы это не повторилось.

Все. Первый раз сложно, в 10й – просто. Главное тут – регулярность.

Я делаю все заново …

.. что-то раз в год, что-то раз в месяц. Очень помогает в очищении от накопившегося старого барахла. Недавно решил сменить основной домен. Просто внезапно обнаружил, что я как kiltum в сети нахожусь гораздо лучше, чем просто multik.

multik.org был зарегистрирован в феврале 2005 года. Сегодня, в 2017м, все мои сервисы переезжают на домен kiltum.tech.

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

Ура мне!

Circuit Studio

Прилетела тут реклама: новая версия софта для разработки плат от производителей, которые на этом съели собаку. 30 лет и все такое.

Стал читать. Оказалось, Circuit Studio – это этакий Altium для бедных. Немного урезанный функционал, но зато гораздо дешевле. Зато доступ до “ваще всех” элементов и компонент.

Ну ок, я люблю новый софт. Поставил, зарегистрировался и первый же тест: есть ли в закромах stm32f042 или Atmel 328p? Ни одна программа не смогла его преодолеть. Где-то есть одно, где-то другое. Так и тут: сердце наноардуинки есть, а stm нет. Жить можно.

Второй тест еще проще: размещаем несколько элементов на плате, соединяем и пробуем их подвигать.

altiumsuck

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

А представьте, что у вас схема чуть сложнее? В ней не обойтись без “растаскивания” элементов …

И это называется “профессиональным софтом”? И за это просят 1000 баксов сразу и потом по 150 в год? Это EAGLE в другой обертке. Рисовать мультивибраторы пойдет, а что-то сложнее будет заполнено мукой и страданиями …

CentOS 7 80×24

Новые инсталляции CentOS раздражают тем, что по умолчанию переключают экран в большое разрешение. Даже для текстовой консоли. Лично мне это неудобно, ибо 99% машин у меня в виртуалках …

Решение простое

- vi /etc/default/grub # удалить ‘rhgb quiet’, добавить ‘nomodeset’
- grub2-mkconfig -o /boot/grub2/grub.cfg
- reboot

Контроллер версия 1

Тут можно и подлиннее, чем в фейсбучике.

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

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

Поговорили, почесали макушки и ударили по рукам. Я пошел делать, заказчик пошел переводить денег.

Долго ли, коротко, но я сделал первую версию контроллера. 4 входа 220в, 4 переключающих реле, выход 0-10В, и развязанный rs-485. Плюс пара подтянутых выходов для 1-Wire и все это под управлением ардуинки, запрограммированной в fl-prog. Ну и питаться может от 7В до 40В.

photo_2017-02-03_09-44-40

photo_2017-02-03_09-44-33

В общем-то ничего особенного от слова вообще. Обычный навороченный шилд для ардуины и особенного в нем только то, что он у меня первый. Ну не делал я раньше шилдов для ардуинок 🙂

Первым же неприятным фактом стало то, что ардуинка отказывалась прошиваться, когда она стоит в контроллере. Это 100% мой косяк, ибо “сделай как там” привело к тому, что я использовал драйвер rs-485 “как у китайцев”. А этот ADM485 при отсутствии сигнала на линии тупо подтягивает линию RX в 1. Ну ладно, прошить можно и вытащив ардуинку из платы.

Второй проблемой стало то, что при “автономной” работе rs-485 не работал. То есть питаешь плату через ардуинку – все ок. Питаешь через внешний источник – rs-485 мертв. Проблема осложнялась тем, что у меня все работало, а у заказчика – нет. На одном и том же коде.

Опуская подробности, оказалось, что в мире существует две версии arduino nano. “Дешевая” версия и “дорогая”. Естественно, что “дешевой” версией забиты все магазины Москвы и алиэкспресса. Разница только в одном – чипы мостов usart-usb. На дешевой версии стоит CH340, на дорогой – FTDI.

И этот дешевый CH340 при питании “снаружи” видя, что на входе usb у него ничего нет, тупо подтягивает RX/TX в ноль. А дорогой FTDI – ставит в Z.

Вышли из положения, заиспользовав Software Serial, откусили ножки на самой ардуине и тупо бросили два проводка на плате. То, что у меня заинвертирован RE/DE сигнал, решили ручной правкой кода. Ну не умеет flprog в такое. У них все прямо …

Следующей претензией стало, что “даю 220в, датчик показывает 0, но это ок. Не ок, когда секунд через 40 он переходит в 1, и еще через 40 обратно”. Тут я офигел мрачно.

После разбирательств стало понятно, что ардуинка насколько перегружена кодом от flprog, что тупо не успевает реагировать на полуимпульсы от опторазвязки. А в прерывания оно не умеет. Мы взяли 20МГц чип и тормознули его до 50Гц. Ну почти до 50 …

Не, я и там дунул-плюнул и поправил.

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

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

В качестве главного процессора будет STM32F072. Мощный, умеет программироваться через USB и имеет кучку ножек. А ардуинка … ну дам ей “кроватку”. Пусть используют те, кто привык 🙂

Пробую ATI 2017 на зуб. День 3. Разрыв шаблонов.

Сегодня я хотел заняться версией Acronis True Image для Windows, но в комментах меня спросили: а каким образом ATI для Android восстанавливает программы? И в самом деле, такой функционал не был заявлен … Результат: я посыпаю голову пеплом и каюсь в своем несовершенстве. Программы и прочее восстановил толи гугл, толи самсунг своим софтом. У меня SGS6 и пока я там вводил пароли и делал прочие действия после сброса, эти злобные искажатели истины все вернули “как было”. Издержки цифрового мира с хорошим каналом в интернет.

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

ati03-01

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

А теперь об обидном для меня. Я как-то привык, что софт для маков лучше и функциональней софта для виндовса. Или как минимум выходит раньше. Или хотя-бы просто симпатичней. Но ATI для виндовса полностью порвал мне этот шаблон. Windows версия превосходит OS X версию как президентский лимузин ржавую “копейку”. И то и то доставит вашу пятую точку из пункта А в пункт Б, но на лимузине это будет приятней.

Так вот. ATI для Windows и есть тот самый лимузин. Сравните окно настроек для OS X (честно, я его нашел только после того, как мне виндовс версия ненавязчиво так его подсунула)

ati03-02

И окно настроек для Windows

ati03-03

И да. Данные окна прямо и однозначно указывают на мою ошибку вчера. Acronis True Image является полноценным софтом для резервного копирования и только Android версия ущемленная. Расставив галочки как вам надо, можно получить любую схему копирования. В общем, был категорически не прав, в чем и подписываюсь.

А сколько в Windows-версии опций! Начиная от возможности слать оповещения о проведенном копировании и предупреждения о заканчивающемся месте и заканчивая мелочами типа “при копировании на внешний диск сделай так, что бы с него можно было загрузиться”. Про приятные мелочи типа “разбивай архив так, что бы залез на CD/DVD/BlueRay/Ещекуда” даже не стоит упоминать. Оно там просто есть.

На этом моменте проверяю, что все везде зелененькое …

ati03-04

… все везде копируется и “в облако” и “на диск”. Теперь я насильно “забуду” про софт на некоторое время, а потом посмотрю, что надо будет делать, когда “внезапно” что-нибудь случится.

Пробую ATI 2017 на зуб. День 2. Восстановление …

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

Если коротко, то опять во всем виноваты мои любимые маркетолухи. Дело в том, что Acronis True Image – это софт не для резервного копирования, а для disaster recovery. Дословный перевод: “восстановление после аварии”. В чем разница?

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

Софт для восстановления после аварии действует по другому. Вся его задача это обеспечить максимально быстрое восстановление системы “как было ДО”. И вот Acronis True Image – именно софт для восстановления после аварии. Остальное по такому же принципу, что и в “облаках”.

Хорошо это или плохо? Для обычного пользователя – однозначно хорошо. Нет никаких заморочек со всякими планами, зато есть уверенность в том, что все будет хорошо.

Решил и я проверить, насколько будет мне хорошо. Беру телефон и сбрасываю его в “заводские” настройки. Прохожу все положенные “далее-далее” и первым делом ставлю ATI. Там сразу же давлю на “восстановление”.

Точно такой же экран, как и при копировании, только про восстановление. И … это было реально быстро. Буквально за 5 минут я получил свой телефон назад. Со всем настроенным и предустановленным софтом. Единственное напоминание, что текущее состояние не забекаплено:

ati02-01

Повторный бекап прошел минуты за две. И опять все зеленое и симпатичное. Это реально впечатляет.

Теперь с десктопным софтом. А вот тут все плохо. Вообще и полностью.

Во-первых, функционал “архива”. Ну это классический dropbox/onedrive/придумайте сами. Выглядит это так

ati02-02

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

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

ati02-03

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

ati02-04

И даже более того, один раз я все-таки скачал назад свой удаленный файл. Да, я скачал назад удаленное.

Но представьте свое состояние “у меня все упало, все разрушилось”, а тут такое …

Пробую ATI 2017 на зуб. День 1. Бэкап …

Зачем нужно резервное копирование, если сейчас все можно хранить в облаках? Ответ простой: облака обеспечивают доступность, а резервное копирование – сохранность. Толку иметь доступ к облаку, если до этого из них удалил самый нужный на текущий момент файл? Да, некоторые облачные провайдеры дают “хранение 5ти последних копий”, но в реальности от этого смысла мало: при регулярном сохранении файла эти 5 копий исчерпывают себя в течении часа.

Конечно, есть и встроенные решения в современные операционные системы (та же Time Machine в OS X), но они сделаны по остаточному принципу. Кому-то везет, но лично у меня с ними больше проблем, чем радости. Поэтому я решил взять и пощупать Acronis True Image 2017. По уверениям рекламы самый-самый, сохраняет быстро, а восстанавливает еще быстрее.

Что самое важное в резервном копировании? Две вещи: скопировать нужное и дать доступ до нужного после “того случая”. Все остальное – пыль и тлен.

Ок, берем триальный Acronis True Image и ставим на ноутбук и телефон. Процесс установки ничем оригинальным не блещет (и это хорошо), поэтому описание пропускаю.

После запуска предложили выкинуть то, что в “облаках”.

ati01-01

Но почему не предложили исключить из бекапа программы? С одной стороны, будет уверенность, что после восстановления у меня будут именно те версии, с которыми я работал, а с другой – смысл мне бекапить Microsoft Office? Недочет? Недосмотр? Дизайнерский вывих?

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

ati01-02

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

ati01-03

Оставляю копироваться ноутбук и беру в руки мобильный телефон, отмечаю все галочками …

ati01-04

Засекаю, сколько будет идти полное копирование телефона и сколько есть сейчас батарейки …

ati01-05

и фиксирую окончание

ati01-06

45 минут и и 6% батарейки на Samsung Galaxy S6. Не знаю как вам, но по-моему очень хорошо.

(пропущена ночь)

Дожидаюсь, когда на веб-панели мне сообщат, что всё отлично, все забекаплено и вообще шикарно.

ati01-09

Что в следующем шаге? А в следующем шаге обычная работа и утеря чего-либо очень-очень важного для меня.

На роль важного в мобильном телефоне выступит спам от МГТС. Делаю скрин на память.

ati01-08

А на роль очень важного на десктопе выступит скриншот из игры Elite:Dangerous. Название файла space_is_beatiful.jpg и он расположен прямо в моем домашнем каталоге.

ati01-10

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

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

Пробую KIS на зуб. День третий, детский

За всеми этими развлечениями я пропустил (ну или специально оставил на вкусное) одну из самых главных штук от “касперского” – Kaspersky Safe Kids.

Ну там “вы знаете, где ваш ребенок, с кем он общается и вообще, злые дяди не дремлют”. На папу в моем лице это действует. Поэтому беру свой андроид и айпад и ставлю туда Safe Kids.

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

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

kis03-01

Если программа однозначно не попадает, то на андроиде ребенку можно попросить разрешения ее запустить. На apple ребенок не сможет – он просто не увидит “вредного”

kis03-02

После прогулки по кабинету я увидел ужасное. Пиарщики “касперского” потеряли офигенный шанс. Чем отличается платная от бесплатной? А фиг его знает – купи, там увидишь.

kis03-03

На самом деле там обещается дать возможность видеть где устройство и если android, то еще и читать смски ребенка (iOS не дает сторонним программам доступа к смс).

Еще в “детях” обещается дать возможность лимитировать время использования устройства и объемы трафика, но это я не исследовал, ибо на мой взгляд это бессмысленно.

Поигравшись еще немного, я с чистой совестью могу вынести вердикт.

Kasperksy Safe Kids for Android – полезная и хорошая штука. Если у вашего ребенка планшет-телефон на андроиде, то рекомендую купить и настроить. Как ни странно мне писать, но в данном случае “касперский” закрывает кучку ляпов гугла и сводит управление в одно место.

Kasperksy Safe Kids for Apple – бесполезная штука. iOS прямо “из коробки” предоставляет полный набор для управления детскими устройствами. Более того, “продвинутый” ребенок спокойно снесет Safe Kids “без шума и пыли”. Да, опять же можно отобрать пароли на установку-удаление программ, но это сводит весь смысл защиты в ноль.

На этом тестирование программ “от Касперского” считаю нужным прекратить. Из всего многообразия предложений для меня мог бы подойти “детский вариант”. Но у моего ребенка айпад, а там все есть давно …

ЗЫ и еще у меня есть две лицензии для “кисы”. если кому горит, могу поделиться.

Пробую KIS на зуб. День 2. Android.

Вообще-то KIS в данном контексте следует звать KISA. Kaspersky Internet Security for Android. Правда для меня лично “Киса” совершенно однозначно ассоциируется с Кисой Воробьяниновым. Но миллионы хомячков ошибаться не могут …

Установка проходит как обычно. Заходим в play store, кликаем, ставим, открываем. Одно неловкое движение и …

kis02-01

… минус 300 рублей. Очень хорошо сделано это место, можно ставить пятерку с плюсом. Ну, хорошо, премиум так премиум.

Проверяюсь от и до. Вдруг у меня уже злобные трояны сидят?

kis02-02

И тут опять отличились маркетолухи. Кнопка ОК никак не подсвечена, зато Recommend Protection нажимается на автомате и вызывает мессенджер, в который засовывается реклама.

kis02-03

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

Пытаюсь скачать классический тест для антивируса.

kis02-04

Провал. Пробую второй тест

kis02-05

Поймал. Ну .. ладно, eicar в принципе для десктопа, ловить особого смысла на смартфоне нет, ибо десктоп должен защищать десктопный антивирус.

А теперь реальная жизнь. Из-за стоимости андроидов и либеральной политики гугла очень значительная часть пользователей любит халяву. Это факт и с этим надо жить.

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

Первое предупреждение. От браузера.

kis02-06

Второе предупреждение. От андроида.

kis02-07

Третье предупреждение. От андроида же.

kis02-08

… и все. Приложение установилось. И запустилось.

А Киса? А Киса считает, что все хорошо. Даже после полного пересканирования системы. даже когда я подождал (ну вдруг оно сигнатуры отсылает и базы обновляет?)

kis02-09

Я не поверил. Переустановил кису. Снова заплатил еще 300 рублей (да, они молодцы, я же уже говорил?), снова просканировал … Пусто.

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

Результат: Kaspersky Internet Security for Android абсолютно бесполезная штука за 300 рублей. И батарейку не жрет.

ЗЫ А тот магазин, как и положено, засунул мне в календарь кучку событий типа “успей скорее скачать” и чего-то еще. Но аккаунт был тестовый, поэтому грохнул и все.