Сообщения в linux.14

Re: emacs FB2-mode

Ответ на сообщение
Сегодня пробовал запускать сабж в 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
btimofeev to Andrew Lobanov (2017-09-11 13:59:22) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
btimofeev> Помогает возвращение require 'cl, видимо ещё что то нужно заменить, попозже попробую разобраться.
Разобрался. Простой замены return на cl-return недостаточно, нужно ещё всё в cl-block заключить, вот так:
(defun somename()
    (cl-block имя блока
           ...
           тело блока
           ...
           (cl-return-from имя блока возвращаемое значение)))
После подобной замены у меня всё без require 'cl заработало, даже нашел одну книжку в которой обложка отображается. Кстати, что не так с изображением в книге которую я тебе отослал?
btimofeev to btimofeev (2017-09-08 17:10:44) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
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, видимо ещё что то нужно заменить, попозже попробую разобраться.
Надо будет попробовать на чистом профиле, но не сегодня уже.
Andrew Lobanov to btimofeev (2017-09-08 15:05:02) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
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, видимо ещё что то нужно заменить, попозже попробую разобраться.
btimofeev to Andrew Lobanov (2017-09-08 14:26:41) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
btimofeev> У меня заработало после добавления в начало файла fb2.el строки (require 'cl). Это для экспорта таких функций как first, third, return. В емаксе 24.3 и выше что бы их не экспортировать нужно вызывать их как cl-first, cl-return.
Спасибо за помощь. Видимо, у меня какой-то из используемых пакетов уже тянул cl. Исправлю обязательно.
Andrew Lobanov to btimofeev (2017-09-08 14:01:22) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
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 в атачнутой картинке. Все изменения уже на гитхабе.
Andrew Lobanov to btimofeev (2017-09-08 14:01:22) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
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
btimofeev to Andrew Lobanov (2017-09-08 13:25:07) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
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.
btimofeev to btimofeev (2017-09-08 11:29:30) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
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.
btimofeev to Andrew Lobanov (2017-09-08 11:20:02) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
AL>> Крайне странно. У меня открывается без проблем. Ты точно обновил моду? Какая система? Какая версия emacs?
btimofeev> Обновил, попробовал сейчас ещё раз перекачать, все равно ошибка. У меня Archlinux, Emacs 25.2.1
Крайне странно. Всё должно работать. Надо в виртуалке чтоль проверить.
btimofeev> Так fb2-mode зависит от wpdl-mode? Если да, то откуда ты его брал? Мне кажется, что это в моей инсталляции емакса что-то не так.
Не зависит. Откуда там эта строчка я уже и не вспомню. Её можно вообще удалить, так как она ни на что не влияет. Сегодня пушну подчищенный fb2-mode.el.
Andrew Lobanov to btimofeev (2017-09-08 11:15:39) [ссылка]

Re: emacs FB2-mode

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

Так fb2-mode зависит от wpdl-mode? Если да, то откуда ты его брал? Мне кажется, что это в моей инсталляции емакса что-то не так.
btimofeev to Andrew Lobanov (2017-09-08 10:28:32) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
AL>> Можешь выдать книгу, на которой возникает проблема? Буду разбираться. Сейчас не готов ничего сказать пока.
btimofeev> К примеру вот этот маленький рассказ https://www.dropbox.com/s/rojs8wnzjrsntgi/Lavkraft_Gipnoz.31745.fb2?dl=0
Крайне странно. У меня открывается без проблем. Ты точно обновил моду? Какая система? Какая версия emacs?
Andrew Lobanov to btimofeev (2017-09-08 10:19:27) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
AL> Можешь выдать книгу, на которой возникает проблема? Буду разбираться. Сейчас не готов ничего сказать пока.
К примеру вот этот маленький рассказ https://www.dropbox.com/s/rojs8wnzjrsntgi/Lavkraft_Gipnoz.31745.fb2?dl=0
btimofeev to Andrew Lobanov (2017-09-08 09:58:58) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
btimofeev> У меня он так и не заработал, на любую книжку (если запускать из консоли командой emacs kniga.fb2) пишет "File mode specification error: (void-function third)". Если в емаксе выполнить M-x fb2-mode пишет "setq: Symbol's function definition is void: third".
Можешь выдать книгу, на которой возникает проблема? Буду разбираться. Сейчас не готов ничего сказать пока.
Andrew Lobanov to btimofeev (2017-09-08 08:38:12) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
btimofeev> У меня он так и не заработал, на любую книжку (если запускать из консоли командой emacs kniga.fb2) пишет "File mode specification error: (void-function third)". Если в емаксе выполнить M-x fb2-mode пишет "setq: Symbol's function definition is void: third".
В исходнике у тебя нашел строку: (setq major-mode 'wpdl-mode). Это зависимость? У меня такого модуля не было. Скачал его на емаксвики, подключил так же как и твой модуль (до fb2-mode), но пишет все те же ошибки.
btimofeev to Andrew Lobanov (2017-09-08 06:31:03) [ссылка]

Re: emacs FB2-mode

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

Re: emacs FB2-mode

Ответ на сообщение
Difrex> Круто! Спасибо.
Да не за что. Если вдруг возникнут проблемы или будут найдены ошибки, просьба писать сюда. Секту я проверяю чаще гитхаба и почты =)
Andrew Lobanov to Difrex (2017-09-07 12:28:29) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
Круто! Спасибо.
Difrex to Andrew Lobanov (2017-09-07 08:23:05) [ссылка]

Re: emacs FB2-mode

Ответ на сообщение
AL> Захотелось мне тут на днях почитать Эрика Реймонда "Искусство программирования для Unix", а она у меня в fb2. Собирать FBReader не хотелось, а опакетить fbless было лень. Так что я быстренько переделал свой старый проект fb2-читалки для emacs. Раньше он был глючный и падучий, а сейчас жуёт даже книги, которые не соответствуют стандарту.
AL> Взять можно тут: https://github.com/spline1986/fb2-mode/
Обновил скриншот в репозитории, добавил небольшие возможности настройки модуля.
Andrew Lobanov to All (2017-09-07 05:02:51) [ссылка]

emacs FB2-mode

Захотелось мне тут на днях почитать Эрика Реймонда "Искусство программирования для Unix", а она у меня в fb2. Собирать FBReader не хотелось, а опакетить fbless было лень. Так что я быстренько переделал свой старый проект fb2-читалки для emacs. Раньше он был глючный и падучий, а сейчас жуёт даже книги, которые не соответствуют стандарту.

Взять можно тут: https://github.com/spline1986/fb2-mode/

Скриншотв репозитории пока старый, так что вот поновее: http://spline-online.tk/stuff/docs/pics/fb2-mode2.png

Киллер-фича: он подкладывает белый фон под картинки, чтобы картинки с прозрачным фоном хорошо смотрелись в тёмных темах. Для отображения картинок необходим emacs, собранный с поддержкой imagemagick (в slackware он точно так собирается, но как дела обстоят в других дистрибутивах я не знаю).

Пока что мода не имеет настроек, но зато имеет пару некритичных недочётов и кривостей, но я хочу исправить такое положение вещей =)
Andrew Lobanov to All (2017-09-07 04:27:37) [ссылка]

Re: Systemd рулит

Ответ на сообщение
> Я, честно говоря, никогда этот ZRAM не пробовал.
>> Дельцы кастомных прошивок андроида его чуть ли не постоянно используют.
Прочитал. Прикольная штука! тоже не знал про нее...
Peter to vit01 (2017-08-28 18:41:02) [ссылка]

Re: Systemd рулит

Ответ на сообщение
> Я, честно говоря, никогда этот ZRAM не пробовал.
Дельцы кастомных прошивок андроида его чуть ли не постоянно используют. Операционка немало жрёт, а на девайсах с меньше чем 1 гигом ОЗУ использовать свежатину хочется. Так что попробуй на своих виртуалках, вдруг легче жить будет.

Сервис systemd для настройки Swap, насколько мне известно, имеет некую интеграцию с зрам. В крайнем случае можно его тупо вручную включать.
vit01 to Difrex (2017-08-28 17:21:00) [ссылка]

Re: Systemd рулит

Ответ на сообщение
>Интересно, а как такие виртуалки поведут себя, если им увеличить память через своп на основе ZRAM?
А вот хз. Я, честно говоря, никогда этот ZRAM не пробовал.
Difrex to vit01 (2017-08-28 13:46:56) [ссылка]

Re: Systemd рулит

Ответ на сообщение
Difrex> В итоге взял 3x512RAM + 1x1GRAM.
Difrex> В таких условиях нужно ограничивать сервисы.
Интересно, а как такие виртуалки поведут себя, если им увеличить память через своп на основе ZRAM?
> systemctl start some_service@2
Превосходно! Возьму на вооружение
vit01 to Difrex (2017-08-28 10:53:16) [ссылка]

Systemd рулит

Сабж.

Покупал тут для своего проекта виртуалочки на DO. Пытался уложиться в мелкий бюджет - 20$.

В итоге взял 3x512RAM + 1x1GRAM.

В таких условиях нужно ограничивать сервисы. Городить туда Mesos очень не хотелось. В итоге все нагрузочно протестировалось на локальной виртуалке, посчиталось на листочке, сколько какому сервису нужно по-минимуму памяти и проца, написаль шаблоны для юнитов systemd - теперь можно динамически менять ресурсы для каждого из сервисов. Будь то докер или нет. :)

Пример юнита /etc/systemd/system/some_service@.service:
[Unit]
Description=Some API
After=docker.service

[Service]
Type=simple
ExecStart=/usr/bin/docker run --name some_service%i some_service:latest --listen 0.0.0.0:15282 -d
ExecStop=/usr/bin/docker stop -t 0 some_service%i
ExecStopPost=/usr/bin/docker rm -f some_service%i
MemoryLimit=8M
Restart=always

[Install]
WantedBy=multi-user.target
Все, теперь после тестов известно какую нагрузку выдерживает сервис при таких ограничениях. Снимаем метрики, при достижении порога, просто стартуем еще один:
systemctl start some_service@2
А нагрузку отбалансировать можно nginx, тем более в нем уже давно есть стриминг и lua, так что haproxy больше ненужен.
Difrex to All (2017-08-28 09:00:22) [ссылка]

Re: софт на Android

Ответ на сообщение
jmaks> Что-то не могу найти Turbo Editor на F-Droid. Или не так ищу?! В настройках даж выставил несовместимые приложения.
https://f-droid.org/packages/com.maskyn.fileeditorpro/

Видимо, приложение просто переместили в архивную репу, так как последний коммит был года 2 назад.
vit01 to jmaks (2017-08-12 11:05:38) [ссылка]

Re: софт на Android

Ответ на сообщение
Что-то не могу найти Turbo Editor на F-Droid. Или не так ищу?! В настройках даж выставил несовместимые приложения.
jmaks to vit01 (2017-08-12 08:01:42) [ссылка]

Re: Orange Pi PC2

Ответ на сообщение
WTorrent - это простой веб-гуй
Мне пришлось scgi-модули настраивать, чтобы всё получилось.

В качестве веб-сервера использую lighttpd, в конфигах надо в модули добавить

server.modules += ( "mod_scgi" )

И ещё зафигачить туда вот это:
scgi.server = (
 "/RPC2" => # RT_DIR
 ( "127.0.0.1" =>
  (
   "host" => "127.0.0.1", # Ip where rtorrent is listening
   "port" => 5000, # Port specified in .rtorrent.rc
   "check-local" => "disable"
  )
 )
)
Из дополнительных модулей PHP стоят php5-xmlrpc, php5-sqlite, php5-json и, может быть, что-то ещё.

А вот конфиг rtorrent
max_uploads = 8

download_rate = 0
upload_rate = 28
check_hash = yes

directory = /media/flashcard/
session = ~/.rtorrent.session/

schedule = watch_directory,5,5,load_start=/home/username/.rtorrent-files/*.torrent
schedule = low_diskspace,5,60,close_low_diskspace=100M

port_range = 6890-6999
port_random = yes

dht = auto
dht_port = 6881
peer_exchange = yes
scgi_port = localhost:5000
use_udp_trackers = yes
vit01 to jmaks (2017-08-10 15:17:31) [ссылка]

Re: Orange Pi PC2

Ответ на сообщение
vit01> В итоге пользуюсь теперь RTorrent + Wtorrent GUI, который работает через браузер. Совершенно не надо заморачиваться, и работает как часы.
Вот с этого места можешь подробнее? Что за WtorrentGUI, чем плох, хорош,
что там в конфигах.

Не так давно пытался завести rtorrent в связке с rutorrent (довольно
мощный веб-гуй), но что-то пока ума ему до конца не дал, на
серве, не может установить связь по неведомым причинам с сокетом rtorrent.
Хотя веб-гуй заводится и даже функционирует.
jmaks to vit01 (2017-08-09 15:31:42) [ссылка]

Re: Orange Pi PC2

Ответ на сообщение
Уии, нас здесь теперь двое - оранжевщиков

Для тех, кто уже забыл, вот дискуссия:

ii://i7czbEw24fC2HrOJRo0Q
ii://IiLEfmzL6ooWr1gFoccV
ii://jKlUAAL8XkaFGdWlirmJ
ii://b7I8izCzpdp8NWyUC7hR
ii://afEFWJyxTZpwV8ab2GzK
ii://FDJpAENUdheiaHVmdgaG
ii://Lp7Hge28NAnVBg7Xx1m7
ii://AggLWvcc4uwBXgpGzp0A
ii://uzBlcEAWWx3ovRQr6VX6

// Юзерам IDEC Mobile для просмотра недостающих в базе сообщений сначала нажать на ссылку, потом меню -> "Обновить с сервера"

Кстати, тем, кому интересно, как мой оранж поживает. Transmission-daemon я в конце концов снёс, потому что он был крайне неудобен с точки зрения конфига (каждую перезагрузку слетал логин-пароль из-за мнимой "безопасности") и ещё требовал клиента для подключения.
Десктопный transmission-remote-gtk сделан крайне топорно и постоянно глючил опять же в конфиге, который сохранял через раз.

В итоге пользуюсь теперь RTorrent + Wtorrent GUI, который работает через браузер. Совершенно не надо заморачиваться, и работает как часы.
vit01 to jmaks (2017-08-06 15:58:25) [ссылка]