Self-Perfection

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

Вариант оптимизации — выставлять язык проверки офографии исходя из активной раскладки. Бонусом даст возможность понять текущую раскладку не отрывая глаз от текущего поля ввода.

Self-Perfection

Часто утягиваю к себе в записную книжку картинки с вебстраниц таким образом ````. Раньше я использовал для этого аддон Easy Copy в лисе, он позволял получить нужный html код в буфере обмена в 2 клика. Но порт на WebExtensions автор не делал, так что с приходом Firefox 57 он перестал работать, и мне пришлось поставить параллельно Waterfox — форк лисы 56, чтобы продолжить пользоваться аддоном. Открываю во втором браузере страницы, с которых буду утягивать картинки. Но после недавнего обновления ОС Easy Copy почему-то перестал работать в Waterfox, ничего не копируется.

Реквестирую помощь зала, как бы мне в текущих реалиях хотя бы частично автоматизировать нужное мне утягивание картинок?

Self-Perfection

мне сегодня предложил установить приложение Facebook Lite, и я в результате порадовался 2 с лишним раза. Прежде чем вестись на замануху, что что-то там lite, я конечно попробовал найти замеры, сравнивающие с аналогом, в данном случае основным фейсбуковским приложением, и был приятно поражён тем, что такое сравнение с измерениями нашлось! Обычно их просто не существует, вот серьёзно, попробуйте, например, найти сравнение с числами прожорливости Telegram и Whatsapp — их нет. В лучшем случае сравнивают количество трафика, которое расходуется на одну минуту аудиозвонка. В моём воображаемом идеальном мире я легко находил бы замеры производительности различных приложений для одной и той же задачи и опирался бы на эти данные для выбора, каким из них пользоваться.

Ну а во-вторых, Facebook Lite по замерам оказался действительно по всем параметрам легковеснее стандартного. Да ещё содержит в себе мессенджер. Да ещё и есть ссылка на скачивание мимо Google Play. Заинтересовался и всё-таки установил. И, чёрт подери, он работает настолько быстро, что почти не раздражает меня тормозами, а настолько быстрых приложений мало, и я никак не ожидал увидеть приложение от фейсбука среди них. Ведь могут же оптимизировать, когда захотят!

В общем рекомендую очень.

Self-Perfection

Обнаружил странное поведение: если запускать zim из ``yakuake``, то он запускает нестандартной цветовой гамме, то есть цвета отличаются от тех, в которых zim отображается при запуске любым другим способом. Оказалось, что у yakuake несколько отличаются переменные окружения от других программ, запущенных в моём сеансе. Вот эти 2 переменные у других программ отсутствуют:
$ strings proc$(pidof yakuake)/environ | grep RC_FILES | sed "s|$HOME|\$HOME|g"
GTK_RC_FILES=/etc/gtk/gtkrc:$HOME/.gtkrc:$HOME/.config/gtkrc
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:$HOME/.gtkrc-2.0:$HOME/.config/gtkrc-2.0
Ну и собственно ``$HOME/.config/gtkrc-2.0`` и приводит к странным цветам (на диске есть и он, и ``$HOME/.gtkrc-2.0``). Откуда же берутся эти переменные окружения? Эксперименты показали, что они выставляются для программ, запускаемых восстановлением предыдущего сеанса (настройки KDE -> desktop session -> On Login — restore previous session). Уже довольно странное поведение, не так ли? Вот только баг похоже не в том, что при восстановлении сеанса выставляются эти переменные, а в том, что для прочих приложений они не выставляются! В ``$HOME/.config/gtkrc-2.0`` лежат настройки цветовой схемы, которые KDE записывает при включённой опции settings -> colors -> "Apply colors to non-Qt applications". Вообще сурово. Дальше расковыривать этот баг мне расхотелось.

А ещё недавно обнаружил, что KDE корзина игнорирует размер скрытых объектов. Это фигню я перепроверю после обновляшек и расскажу. Вообще смешная.

Что ж всё-так глючит-то, а? :(

Self-Perfection

Во второй раз уже пытаюсь пользоваться NoScript. Приводит меня к этому боль от назойливых предложений вебсайтов на что-нибудь подписаться или лайкнуть и тормоза браузера. Вот только при использовании NoScript боли становится как бы не больше. Вебсайтов, сносно работающих без js исчезающе мало, так что война с всплывающим сменяется занудным вайтлистингом доменов. И этот процесс ещё более трудозатратен, чем закрывание всплывающих окошек: приходится перезагружать страницу. Кто использует — поделитесь опытом. Зачем используете? Какие есть трюки использования NoScript, чтобы он не бесил?

Есть у меня подозрение, что веб всё больше и больше зависим от js, так что использование NoScript теряет смысл. Больше съедает времени, чем экономит. Косвенно гипотеза подтверждается тем, что 7-8 лет назад тег NoScript на жуйке использовало несколько авторов, а с тех пор ни один.

Self-Perfection

Я всё размышляю, что же пошло не так, отчего софт всё тормозит, хотя производительность железа всё растёт. Кажется один из факторов — культурный. В информационном поле почти отсутствует мысль о важности отзывчивости и легковесности. Вот сколько я встречал списков сравнения best N apps for task X — не припомню, чтобы хотя бы в одном из них был замер использованного процессорного времени и памяти на выполнение аналогичных действий, примерно как я делал в #2890539 . Вот в качестве пруфа можно погуглить "image viewers performance comparison" — очень мало ожидаемых результатов, всего ~3 в первой десятке! А для запроса "bittorrent clients performance comparison" в первой десятке только одна релевантная ссылка аж от 2010 год (ну и для справедливости ещё одна работа со сравнением скорости скачивания двух клиентов).

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

Self-Perfection

Dan Luu жжёт опять. Взял несколько клавиатур и измерил задержку между нажатием на клавишу и отправкой по USB пакета с информацией о нажатии. Получилось от 15 до 60мс, Карл!

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

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

Self-Perfection

Была у меня уже забавная история как переустановка ОС на ПК привела к значительному ускорению разряда смартфона. А теперь у меня OsmAnd на телефоне заDoSил комп.

Подробности. OsmAnd умеет отправлять HTTP GET запросы с текущими координатами при включённой записи трека, Online Tracking это называется. А у меня давно уже дома крутится принимающий эти запросы наколеночный скрипт, складирующий полученные значения в MariaDB. Обновил на телефоне OsmAnd до 2.7.5 и через некоторое время обнаружил, что он теперь шлёт один и тот же GET запрос тысячи раз. Получив ответ от сервера тут же повторяет запрос до тех пор пока не придёт время отправлять следующие координаты, тогда начинает долбиться запросами с новой точкой. Почему так? Ну мой скрипт корректно отвечал при сохранении координат кодом 201 Created, а OsmAnd считал ответом об успешно завершённой операции только 200. А ответы на дублирующую точку кодом 409 Conflict вообще не похожи на OK, Ну и конечно лучший способ отреагировать на сообщение об ошибке — повторять запрос до победного конца.

Хвала 4G, OsmAnd успевал повторять запросы примерно 25 раз в секунду. Отчего раздел с базой MariaDB переполнялся бинлогами и база вставала.

Ну что, комп vs смартфон — 1:1. Правда в качестве мести не могу это засчитать, смартфон я за это время успел сменить.

Как теперь ещё разработчиков убедить, что им надо пофиксить эту ситуацию до конца.

Self-Perfection

Что за фигня со свзяностью интернета? Из одного дома не открывается сайт сбербанка. Из другого — dreamwidth.org

Как общественно-полезно обрабатывать человеку такие ситуации?

Self-Perfection

Цифровая память — ПостНаука

Мне интересно было наткнуться на это обзорное видео о цифровом наследии человека, здесь есть постановка проблемы (стоит при жизни задуматься, что будет с твоими аккаунтами и данными в случае твоей смерти) и обзор связанных с этим проблем. Я сам задумывался об этой проблеме несколько месяцев назад, но довести до ума/конца идею, естественно, не успел. Подход я планировал примерно такой: фрагменты ключа для дешифрования файла с данными для доступа ко всей нужной информации раздать доверенным людям с наказом вскрыть только в случае моей смерти. + Подготовить инструкцию, что делать и подобрать хотя бы пару айти подкованных людей, кому я доверяю, кого попросить помочь моим родственникам разгрести всё это добро, если что.

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

Внезапно в обзоре упоминаются приложения предназначенные для настройки передачи аккаунтов и личных данных доверенным людям в случае смерти. Мне даже не пришло в голову поискать готовые централизованные решения. Дух современного мира "there is an app for that" мною не усвоен. Чувствую себя старпёром. Отчасти возможно изначальная нацеленность на решение задачи без привлечения сторонних программ основана на том, что я не доверяю сторонним сервисам во временном аспекте, ожидаю, что они довольно скоро прекратят работу и для долговременных задач не подходят.

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

Надо всё-таки собраться и цифровое завещание организовать.

Self-Perfection

Надоело мне, что логи journald занимают у меня под гигабайт, а хранят при этом информации за 2 недели. journald туп и не поддерживает сжатие логов. Так что идея была перенести `/var/log` на btrfs со сжатием. Делюсь опытом.

С одной стороны, работает довольно изкоробочно: просто смонтировать btrfs с compress=[lzo|btrfs] достаточно. Хотя journald по-умолчанию помечает `/var/log` как nocow, который не сжимается, но `btrfs filesystem defrag -c` всё же сжимает nocow файлы, и journald проводит дефрагментацию старых (сротированных) логов на btrfs. Ну для надёжности можно ещё сделать `chattr -R +c /var/log/journal`. В целом у меня работает решение, влезает теперь месяц логов на гигабайтный `/var/log`.

Нюанс 1: стоит ограничить размер одного файла логов, чтобы ротация происходила чаще. Я пока живу с `SystemMaxFileSize=16M`.

Нюанс 2: btrfs стоит создавать с ключом `--mixed`, если он будет у вас меньше нескольких гигабайт. И монтировать с опцией `autodefrag` — обновление логов journald ведёт к большой их фрагментации, я видел десятки тысяч фрагментов до включения autodefrag.

Нюанс 3: как посмотреть, работает ли сжатие? Изкоробочных инструментов нет, в интернетах можно нарыть питоновский скрипт btrfs-debugfs. Играясь с ним выяснил, что btrfs сжимает файл блокам по 128 KiB, каждый блок на диске занимает места кратно размеру сектора, так что меньше 4KiB не может занять. Поэтому сжатие получается не такое сильное как при сжатии напрямую lzop или gzip -3.

Ещё на первый взгляд у меня почему-то сжимаются только system файлы, но не user. Пока предполагаю из-за того что пользовательских логов мало, а ротируется system и user лог параллельно, так что system ротируется после двух аллокаций по 8 MiB, а пользовательский — как есть, 8 MiB. Надо бы добраться до исходников journald, посмотреть какая у него внутри логика.

Self-Perfection

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

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

Ну например этот текст я пишу с ноутбука сидя в ванне.

Кажется, я делаю что-то неправильно.

И да, не повторяйте это дома.

Self-Perfection

Я правильно понимаю, что селектел убил свою убер крутую услугу с VDS на XEN с посекундной тарификацией за использованные ресурсы? Тааак обидно. Хотелось попробовать ещё со времён чтения вкусных технических постов на хабре, но тогда мне VDS был нужен как не пришей козе баян, да и время, время. И вот сейчас подумываю взять для слабого использования, к которому посекундная динамическая тарификация идеально бы подошла.

Или есть ещё хостинги с подобным ценообразованием, а я просто гуглить не умею?

Self-Perfection

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

Но забавнее всего было, когда года 3 назад некто с авито указал мою почту (это дало мне полный доступ к его аккаунту) и стал пытаться искать свою вторую половину. Мне тогда даже немного его переписки с кандидатками прилетало бррр... Глаза у меня тогда чуть не вытекли. Попытки объяснить, что произошло и к чему привело редактированием текстов объявлений не привели к реакции пациента. Вроде тогда я сдался просто удалил его аккаунт.

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