Категория: Компьютеры

Заметки о программировании и на околокомпьютерные темы

Вложенные категории: Игры, Delphi

Как удалить “MegaFon Pro”

С тех пор, как я сменил симку, на Андроиде в списке приложений появилось “MegaFon Pro”. Это SIM-приложение, т.е. записанные на SIM инструкции, которые специальная программа в Андроид исполняет. То есть, симка-то ваша пассивна, но в мобильнике есть бэкдор, сделанный для сотовых операторов.

Приложение, которое исполняет это SIM-меню, называется com.android.stk/com.android.stk2, удалить его без рута обычно нельзя. Ладно бы эта штука сидела тихо, но она раз в пару месяцев показывает всплывающие окна с рекламой. Это такая фича у Мегафона, доставать своих клиентов.

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

Похоже, существует всё-таки способ отключить приложение без рута. Подключитесь по adb shell:

pm disable-user com.android.stk
pm disable-user com.android.stk2
pm uninstall -k –user 0 com.android.stk
pm uninstall -k –user 0 com.android.stk2

Это удаляет приложение только для текущего пользователя. Рут при этом не требуется. В системе оно остаётся, но неактивно. Если его надо будет однажды вернуть:

cmd package install-existing com.android.stk
cmd package install-existing com.android.stk2

Посмотрим, достаточно ли этого.

Logrotate creates empty compressed log files

Case study: After some changes I’ve noticed logrotate flushes the main log (as it should) but all gzipped archived copies it creates are empty (20b). Logrotate destroys logs instead of preserving them.
You had one job, logrotate!

Turns out my logrotate file looked like this:

/var/log/httpd/*_log /custompath/log/*_log {
..
create ...
}

And the latter had been symlinked to the former.

It made sense when I wrote that. Cover all the bases. But the way logrotate works, it first scans all paths for files that need rotating and then applies rotation to them all.

So if I have /custompath/log/error_log reflected as /var/log/httpd/error_log, logrotate notices two files in need of rotation. It then compresses the first one, replaces it with empty log (create), then compresses the second one (now empty) and replaces the first .gz with an empty archive.

Nice job, logrotate. Make sure the collected filenames resolve to unique files? Nope. Maybe at least don’t overwrite already existing gzips? Nope.

Tasks IG

У Гугла был удобный интерфейс к гугл-задачам, похожий на панель браузера. Назывался mail.google.com/tasks/ig. Разумеется, гугл его закрыл.
Убив больше времени, чем хотелось бы, я написал такое же с нуля:

https://github.com/himselfv/tasks-ig

  • Асинхронные запросы, как в старом клиенте
  • Дополнительный бэкенд, хранящий задачи в LocalStorage (впрочем, я бы всерьёз там задачи не хранил)
  • Когда-нибудь я напишу бэкенд на CalDAV Tasks, если никто не напишет
  • Можно написать отдельное расширение с бэкендом в extension storage, тогда ничего не надо будет хостить

Рабочую версию можно посмотреть на https://himselfv.github.io/tasks-ig/. К гуглу из неё подключиться вы не сможете, но локальные задачи работают.

The Talos Principle

Portal от создателей Serious Sam, который набит попсовой философией. Интерес к этой игре проходит такие стадии:

1. Ох, игрой руководит Голос Бога. Это офигенно.
2. Ох, это Портал.
3. Ох, как же надоела эта унылая псевдофилософия. Особенно помощник Милтона. Бесцельные беседы с 3 неудачными вариантами ответа на каждом шаге это именно то, что убедительно передаёт ваши взгляды на сложные вопросы.
4. Ну ладно, так и быть, я найду все звёзды, пройду все дополнительные уровни, получу все концовки и ачивменты, только не подумайте, что я делаю это ради вас. Хмпф! Google: “как спасти помощника Милтона” “как спасти помощника Милтона, не проходя заново пол-игры” “talos principle быстрое прохождение”

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

Похоже, не стоит играть в русском переводе. Голос Бога в нём хороший, и откровенных ляпов нет, но вся игра съезжает на пару ступеней фальшивости. Актриса в звукозаписях так надрывается и заламывает руки, что все её проблемы кажутся чушью. Беседы с Милтоном переведены фраза за фразой, при этом над логикой разговора никто не думал. Мне даже жалко ту часть игры, которую я прошёл на русском: вдруг в английском появился бы смысл?

Episode 3

Все читали пересказ сюжета Half-Life Episode 3, но делают разные выводы. Кое-кто пишет, что это хорошая концовка для серии и типа подходящая. Или что оставили задел под Half-Life 3 с Аликс.

Я думаю, что это просто сюжет третьего эпизода, без особых претензий на финальность, к которому теперь от безнадёги Лэйдло добавил прощание.

Обратите внимание, что последний параграф написан для этого пересказа. Сюжет Episode 3 наверняка заканчивался на возвращении Фримена на Землю. А вот это “all the people I knew are gone” это уже приписка.

Если вычеркнуть последний абзац, то пересказ уже совсем не выглядит как “This is my last episode”. Просто закрытие арки Бореалиса и не более. Нормальный сюжет для третьего эпизода, почему его не сделали – я не понимаэ.

Изучаем хаскель

В последнее время пошла такая мода на форумах для программистов (в том числе реддит этим славен): публиковать статьи “Изучаем хаскель”, “Пишем свой первый трёхмерный движок”, “Пробуем читать ассемблер”.
И внутри автор действительно изучает хаскель, пишет свой первый трёхмерный движок и пробует читать ассемблер!
Понимаете? Не учит читателя, а сам изучает. И документирует свои неуклюжие первые шаги. Да кому это интересно? Зачем читать такую статью? Лучше уж разбираться самому.

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

Viper

Выкладываю утилиту, которую написал сам для себя, но она разрослась. Может, кому-то пригодится:

Называется Viper, это менеджер служб с расширенными возможностями. Вот что он умеет:

  • Запуск/остановка/настройка служб пачками, по правой клавише.
  • Быстрый поиск, когда начинаете печатать название
  • Раскраска и подсветка, стили настраиваются
  • Редактирование прав доступа к службе, разблокировка защищённых (которые нельзя остановить)
  • Просмотр триггеров для каждой службы и их полный список
  • Службы можно разложить по папкам, переименовать, делать для себя примечания (хранятся в текстовых файлах).
  • Также показывает драйверы и службы-прототипы для Unistack-служб (они на самом деле называются USER_SERVICE).
  • Сохраняет/восстанавливает конфигурацию автозапуска служб, экспортирует службы, удаляет их

Вот ещё скриншоты

Качать отсюда

Если что у кого отвалится, то пишите, починю.

850 Evo

Купил SSD-диск 850 Evo. Очень приятно работает, как и ждал: быстро и бесшумно.

Windows 10

Теперь в Anniversary Update нельзя отключить занавеску с картинкой перед вводом пароля. Был раньше способ через групповую политику, его убрали. Они что, издеваются, что ли? Я чувствую, Windows 10 окажется той виндой, на которой я плюну на почти двадцатилетний опыт и перееду на Линукс.