#  Используем Crond вместе с Android
vit01 (mira, 1) → All  –  04:09:31 2017-09-17

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

Увы, это способ нерабочий. Почему? Потому что для экономии батареи андроид, когда мы его не используем, уходит в сон и вместе с собой тащит спать все запущенные приложения. Так что наш консольный Cron застопорится вместе с девайсом и начнёт либо пропускать задания, либо выполнять их в неправильное время.

Можно поставить так называемый постоянный WakeLock. Это значит запретить устройству спать. Я так уже пробовал (и Cron отлично работал), но заряд батареи быстро иссякал через несколько часов.

Что делать?

Нативные приложения используют системный AlarmManager, чтобы выполнять свои задачи по расписанию. Поэтому ОС просыпается в чётко заданное время. (уведомления IDEC Mobile и прочие следилки работают именно так).

Можно сделать Android-версию Crond, работающую через AlarmManager, и такие реализации существуют. Не так давно подобная свободная тулза появилась в F-Droid. Программа так и называется: crond.

Скачать: https://f-droid.org/packages/it.faerb.crond/

После запуска жмём "Enable crond" и ставим галочку "Use wake lock for script execution". Не беспокойтесь, этот WakeLock не постоянный, он работает только во время выполнения наших скриптов, чтобы исключить случайные сбои из-за засыпаний.

>> Читать далее
#  Re: PMd secure storage
Difrex (mira, 14) → Difrex  –  09:40:21 2017-09-14

Выкатил первый стабильный релиз - 0.2: https://github.com/Difrex/PMd/releases/tag/0.2.

Там есть собраный бинарь под Linux amd64.

Добавилась возможность сноса юзера со всеми данными. Для этого достаточно отправить подписанный запрос на /purge.

Публичный сервер разлит тут: https://pm.lessmore.pw
#  PMd secure storage
Difrex (mira, 14) → All  –  14:29:13 2017-09-13

Два года назад я создал пустой репозиторий на гитхабе. Я планировал написать сервер для своего менеджера паролей - PM.
Но репозиторий оставался пустым :). И вот меня наконец достало синкать пароли через всякие хранилки, будь то яндекс.диск или свой owncloud.

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

Только из сервера чисто для PM это все вылилось в простую универсальную безопасную хранилку данных. Авторизация, доступ и.т.д построенно на использовании GPG. Попутно я открыл биндинг к GPG на golang.

Только что я затегировал весию 0.1. Как показали тесты - она вполне стабильна, но баги там есть.

Ссылки:

* PMd secure storage https://github.com/Difrex/PMd
* PM password manager https://github.com/Difrex/PM
* gpg golang bindings https://github.com/Difrex/gpg


>> Читать далее
#  Re: emacs FB2-mode
Andrew Lobanov (tavern,1) → btimofeev  –  18:20:39 2017-09-11

btimofeev>> У меня emacs почему-то дико тормозит при открытии и скроллинге pdf, по 10-15 секунд страницы переключает.
btimofeev> Проблема оказалась в тормознутости плагина отображающего номера строк, отключил его для этого режима и теперь не тормозит.

А. Ну я linum-mode включаю просто по хоткею, так как далеко не только пишу текст в emacs =)
#  Re: emacs FB2-mode
Andrew Lobanov (tavern,1) → btimofeev  –  18:19:46 2017-09-11

AL>> при чтении разнообразных pdf-ок.
btimofeev> У меня emacs почему-то дико тормозит при открытии и скроллинге pdf, по 10-15 секунд страницы переключает.

Такое было у меня на нетбуке. Как вариант, попробовать поиграться переменной doc-view-resolution. На новом ноуте всё вполне сносно переключается.

К сожалению, чтение через doc-view в emacs это достаточно грязный хак в виде конвертации страниц в отдельные изображения и последующее их изображение уже пререндеренными. И я не особо разбирался можно ли как-то кешировать подгруженные изображения на одну страницу вперёд, но погуглить в этом направлении стоит.
#  Re: emacs FB2-mode
btimofeev (tavern,13) → all  –  18:12:04 2017-09-11

btimofeev> У меня emacs почему-то дико тормозит при открытии и скроллинге pdf, по 10-15 секунд страницы переключает.

Проблема оказалась в тормознутости плагина отображающего номера строк, отключил его для этого режима и теперь не тормозит.
#  Re: emacs FB2-mode
btimofeev (tavern,13) → Andrew Lobanov  –  16:23:20 2017-09-11

AL> при чтении разнообразных pdf-ок.

У меня emacs почему-то дико тормозит при открытии и скроллинге pdf, по 10-15 секунд страницы переключает.
#  Re: emacs FB2-mode
Andrew Lobanov (tavern,1) → btimofeev  –  14:40:39 2017-09-11

btimofeev> Сегодня пробовал запускать сабж в Windows: для корректной работы нужно из архива https://kent.dl.sourceforge.net/project/ezwinports/libxml2-2.7.8-w32-bin.zip распаковать файлы libxml2.dll, libiconv-2.dll и zlib1.dll в папку Emacs/bin/.

Да. В windows приходится устанавливать недостающие библиотеки вручную, но ничего не поделать - такова уж система.

btimofeev> Ещё оказывается в емаксе есть закладки для файлов - для чтения книг очень важная штука. Что бы установить закладку на файл (и текущую строку) жмём C-x r m, что бы открыть список закладок C-x r l.

Да. Я активно ими пользуюсь при чтении разнообразных pdf-ок.

btimofeev> Ещё бы добавить настройки шрифтов и список глав/быстрый переход вперёд назад по главам и будет шикарно.

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

btimofeev> А ещё на днях также вышел nov.el - режим для чтения Epub: https://github.com/wasamasa/nov.el

Вот спасибо. Хотя у меня всё или в pdf или в fb2, но возьму на заметку.
#  Re: emacs FB2-mode
btimofeev (tavern,13) → Andrew Lobanov  –  13:59:22 2017-09-11

Сегодня пробовал запускать сабж в Windows: для корректной работы нужно из архива https://kent.dl.sourceforge.net/project/ezwinports/libxml2-2.7.8-w32-bin.zip распаковать файлы libxml2.dll, libiconv-2.dll и zlib1.dll в папку Emacs/bin/.

Ещё оказывается в емаксе есть закладки для файлов - для чтения книг очень важная штука. Что бы установить закладку на файл (и текущую строку) жмём C-x r m, что бы открыть список закладок C-x r l.

Ещё бы добавить настройки шрифтов и список глав/быстрый переход вперёд назад по главам и будет шикарно.

А ещё на днях также вышел nov.el - режим для чтения Epub: https://github.com/wasamasa/nov.el
#  Re: emacs FB2-mode
btimofeev (tavern,13) → btimofeev  –  17:10:44 2017-09-08

btimofeev> Помогает возвращение require 'cl, видимо ещё что то нужно заменить, попозже попробую разобраться.

Разобрался. Простой замены return на cl-return недостаточно, нужно ещё всё в cl-block заключить, вот так:

====
(defun somename()
(cl-block имя блока
...
тело блока
...
(cl-return-from имя блока возвращаемое значение)))
====


После подобной замены у меня всё без require 'cl заработало, даже нашел одну книжку в которой обложка отображается. Кстати, что не так с изображением в книге которую я тебе отослал?
#  Re: emacs FB2-mode
Andrew Lobanov (tavern,1) → btimofeev  –  15:05:02 2017-09-08

btimofeev> Ещё в 38 строке замени пожалуйста return на cl-return.

Исправил. Спасибо.

btimofeev> Теперь в качестве ошибки вываливается такая строка

btimofeev> ----
btimofeev> File mode specification error: (no-catch --cl-block-nil-- (description nil (title-info nil (genre nil prose_classic) (author nil (first-name nil Джордж) (last-name nil Оруэлл)) (book-title nil Скотный двор) (date nil) (coverpage nil (image ((href . #cover.png)))) (lang nil ru) (src-lang nil en) (translator nil (first-name nil Илан) (last-name nil Полоцк))) (document-info nil (author nil (first-name nil) (last-name nil)) (program-used nil FB Tools) (date ((value . 2005-02-07)) 2005-02-07) (src-url nil http://iaiwww.uni-muenster.de/cgi-bin/simplex/koi8/orwell/ ) (id nil CF2E496D-BAC4-4BFF-81BF-CB03B7EF95BA) (version nil 1.0))))
btimofeev> ----

btimofeev> Помогает возвращение require 'cl, видимо ещё что то нужно заменить, попозже попробую разобраться.

Надо будет попробовать на чистом профиле, но не сегодня уже.
#  Re: emacs FB2-mode
btimofeev (tavern,13) → Andrew Lobanov  –  14:26:41 2017-09-08

AL> Все изменения уже на гитхабе.

Ещё в 38 строке замени пожалуйста return на cl-return.

Теперь в качестве ошибки вываливается такая строка

----
File mode specification error: (no-catch --cl-block-nil-- (description nil (title-info nil (genre nil prose_classic) (author nil (first-name nil Джордж) (last-name nil Оруэлл)) (book-title nil Скотный двор) (date nil) (coverpage nil (image ((href . #cover.png)))) (lang nil ru) (src-lang nil en) (translator nil (first-name nil Илан) (last-name nil Полоцк))) (document-info nil (author nil (first-name nil) (last-name nil)) (program-used nil FB Tools) (date ((value . 2005-02-07)) 2005-02-07) (src-url nil http://iaiwww.uni-muenster.de/cgi-bin/simplex/koi8/orwell/ ) (id nil CF2E496D-BAC4-4BFF-81BF-CB03B7EF95BA) (version nil 1.0))))
----

Помогает возвращение require 'cl, видимо ещё что то нужно заменить, попозже попробую разобраться.
#  Re: emacs FB2-mode
Andrew Lobanov (tavern,1) → btimofeev  –  14:01:22 2017-09-08

AL>> Для отображения картинок необходим emacs, собранный с поддержкой imagemagick (в slackware он точно так собирается, но как дела обстоят в других дистрибутивах я не знаю).
btimofeev> Теперь у меня книги с картинками не открываются. Пишет "File mode specification error: (error Not an image: nil)". Хотя команда (описанная тут https://www.gnu.org/software/emacs/manual/html_node/elisp/ImageMagick-Images.html) для проверки наличия поддержки imagemagic выдает t, я так понимаю поддержка есть. Пример книги здесь, если надо https://www.dropbox.com/s/fdhgt6qcs34h30q/Oruell_Skotnyiy_dvor.76204.fb2?dl=0

Спасибо. Пока сделал простую проверку на успешное считывание картинки. В данном файле не распознаётся base64 в атачнутой картинке. Все изменения уже на гитхабе.
#  Re: emacs FB2-mode
Andrew Lobanov (tavern,1) → btimofeev  –  14:01:22 2017-09-08

btimofeev> У меня заработало после добавления в начало файла fb2.el строки (require 'cl). Это для экспорта таких функций как first, third, return. В емаксе 24.3 и выше что бы их не экспортировать нужно вызывать их как cl-first, cl-return.

Спасибо за помощь. Видимо, у меня какой-то из используемых пакетов уже тянул cl. Исправлю обязательно.
#  Re: emacs FB2-mode
btimofeev (tavern,13) → Andrew Lobanov  –  13:25:07 2017-09-08

AL> Для отображения картинок необходим emacs, собранный с поддержкой imagemagick (в slackware он точно так собирается, но как дела обстоят в других дистрибутивах я не знаю).

Теперь у меня книги с картинками не открываются. Пишет "File mode specification error: (error Not an image: nil)". Хотя команда (описанная тут https://www.gnu.org/software/emacs/manual/html_node/elisp/ImageMagick-Images.html) для проверки наличия поддержки imagemagic выдает t, я так понимаю поддержка есть. Пример книги здесь, если надо https://www.dropbox.com/s/fdhgt6qcs34h30q/Oruell_Skotnyiy_dvor.76204.fb2?dl=0
#  Re: emacs FB2-mode
btimofeev (tavern,13) → btimofeev  –  11:29:30 2017-09-08

btimofeev> У меня заработало после добавления в начало файла fb2.el строки (require 'cl). Это для экспорта таких функций как first, third, return. В емаксе 24.3 и выше что бы их не экспортировать нужно вызывать их как cl-first, cl-return.

Инфу я нашел тут https://stackoverflow.com/a/30848971 и тут https://www.masteringemacs.org/article/whats-new-emacs-24-3 в разделе Common Lisp emulation (CL). Написано что теперь модуль cl с функциями без приставок deprecated.
#  Re: emacs FB2-mode
btimofeev (tavern,13) → Andrew Lobanov  –  11:20:02 2017-09-08

btimofeev> У меня он так и не заработал, на любую книжку (если запускать из консоли командой emacs kniga.fb2) пишет "File mode specification error: (void-function third)". Если в емаксе выполнить M-x fb2-mode пишет "setq: Symbol's function definition is void: third".

У меня заработало после добавления в начало файла fb2.el строки (require 'cl). Это для экспорта таких функций как first, third, return. В емаксе 24.3 и выше что бы их не экспортировать нужно вызывать их как cl-first, cl-return.
#  Re: emacs FB2-mode
Andrew Lobanov (tavern,1) → btimofeev  –  11:15:39 2017-09-08

AL>> Крайне странно. У меня открывается без проблем. Ты точно обновил моду? Какая система? Какая версия emacs?
btimofeev> Обновил, попробовал сейчас ещё раз перекачать, все равно ошибка. У меня Archlinux, Emacs 25.2.1

Крайне странно. Всё должно работать. Надо в виртуалке чтоль проверить.

btimofeev> Так fb2-mode зависит от wpdl-mode? Если да, то откуда ты его брал? Мне кажется, что это в моей инсталляции емакса что-то не так.

Не зависит. Откуда там эта строчка я уже и не вспомню. Её можно вообще удалить, так как она ни на что не влияет. Сегодня пушну подчищенный fb2-mode.el.
#  Re: emacs FB2-mode
btimofeev (tavern,13) → Andrew Lobanov  –  10:28:32 2017-09-08

AL> Крайне странно. У меня открывается без проблем. Ты точно обновил моду? Какая система? Какая версия emacs?

Обновил, попробовал сейчас ещё раз перекачать, все равно ошибка. У меня Archlinux, Emacs 25.2.1

Так fb2-mode зависит от wpdl-mode? Если да, то откуда ты его брал? Мне кажется, что это в моей инсталляции емакса что-то не так.
#  Re: emacs FB2-mode
Andrew Lobanov (tavern,1) → btimofeev  –  10:19:27 2017-09-08

AL>> Можешь выдать книгу, на которой возникает проблема? Буду разбираться. Сейчас не готов ничего сказать пока.
btimofeev> К примеру вот этот маленький рассказ https://www.dropbox.com/s/rojs8wnzjrsntgi/Lavkraft_Gipnoz.31745.fb2?dl=0

Крайне странно. У меня открывается без проблем. Ты точно обновил моду? Какая система? Какая версия emacs?