# Re: Несетевые проекты
btimofeev (station13, 13) → All – 12:03:53 2016-05-19
У меня из проектов на гитхабе самое интересное https://github.com/btimofeev/emuchip
Это была моя попытка написать эмулятор простейшего компьютера, на примере Chip8 и SuperChip. Все игры для этих систем работают (за исключением одной, кажется). Но в эмуляторе есть пара ошибок, которые я так и не решил (одна связана с размером окна Qt, вторая с указателями c++).
// а вообще я всегда хотел написать эмулятор Sega Mega Drive, но думаю не дорос еще))
btimofeev (station13, 13) → All – 12:03:53 2016-05-19
У меня из проектов на гитхабе самое интересное https://github.com/btimofeev/emuchip
Это была моя попытка написать эмулятор простейшего компьютера, на примере Chip8 и SuperChip. Все игры для этих систем работают (за исключением одной, кажется). Но в эмуляторе есть пара ошибок, которые я так и не решил (одна связана с размером окна Qt, вторая с указателями c++).
// а вообще я всегда хотел написать эмулятор Sega Mega Drive, но думаю не дорос еще))
# Re: Несетевые проекты
vit01 (mira, 1) → Difrex – 08:51:52 2016-05-18
Difrex> ЗЫ: Покажи свои проекты, интересно :)
Если зайдёшь ко мне на гитхаб, то убедишься в том, что смотреть там особо нечего :)
// за исключением сетевых проектов, только это не в счёт
Хотя есть кое-что: https://github.com/vit1-irk/timeleft
Андроид-приложение для товарищей школьников, которое позволяет отслеживать расписание занятий (уроки/пары, перемены). Появилось после экспериментов в ii://linux.14 по NDK: ii://RZdZbVEHDhzU8UcpWJsF
Простое, как валенок, но зато имеет неплохой UI и поддерживает уведомления.
vit01 (mira, 1) → Difrex – 08:51:52 2016-05-18
Difrex> ЗЫ: Покажи свои проекты, интересно :)
Если зайдёшь ко мне на гитхаб, то убедишься в том, что смотреть там особо нечего :)
// за исключением сетевых проектов, только это не в счёт
Хотя есть кое-что: https://github.com/vit1-irk/timeleft
Андроид-приложение для товарищей школьников, которое позволяет отслеживать расписание занятий (уроки/пары, перемены). Появилось после экспериментов в ii://linux.14 по NDK: ii://RZdZbVEHDhzU8UcpWJsF
Простое, как валенок, но зато имеет неплохой UI и поддерживает уведомления.
# Re: azot
vit01 (mira, 1) → Difrex – 08:51:51 2016-05-18
Difrex> Например, у меня на федоре иксы через примерно час начинают отлупливать соединения от Azot, типа, слишком часто. Скорее всего надо один раз подключаться и работать в пределах этой сессии, но как это сделать - я не знаю.
Заглянул в исходники X.py из азота. Там такой интересный кусок кода:
Смущает очень сильно, что ты инициализируешь объект display через display.Display() каждый запуск этой функции. Если учесть, что это происходит постоянно раз в секунду, я не удивляюсь, что иксам это сильно надоедает ;)
>> Читать далее
vit01 (mira, 1) → Difrex – 08:51:51 2016-05-18
Difrex> Например, у меня на федоре иксы через примерно час начинают отлупливать соединения от Azot, типа, слишком часто. Скорее всего надо один раз подключаться и работать в пределах этой сессии, но как это сделать - я не знаю.
Заглянул в исходники X.py из азота. Там такой интересный кусок кода:
def get_cursor_position():
while 1:
try:
data = display.Display().screen().root.query_pointer()._data
return {'x': data['root_x'], 'y': data['root_y']}
Смущает очень сильно, что ты инициализируешь объект display через display.Display() каждый запуск этой функции. Если учесть, что это происходит постоянно раз в секунду, я не удивляюсь, что иксам это сильно надоедает ;)
>> Читать далее
# Re: azot
Difrex (mira, 14) → vit01 – 07:06:13 2016-05-18
>Для производительности можно переписать сабж на Си, но вряд ли будет сильный прирост.
Я думал на счет Go :). Но проблема не в этом.
>Что думаешь?
Например, у меня на федоре иксы через примерно час начинают отлупливать соединения от Azot, типа, слишком часто. Скорее всего надо один раз подключаться и работать в пределах этой сессии, но как это сделать - я не знаю.
>удивило, кстати, что python2, а не python3
Привык я ко второму питону, но там под третий совсем немного переписывать.
ЗЫ: Покажи свои проекты, интересно :)
Difrex (mira, 14) → vit01 – 07:06:13 2016-05-18
>Для производительности можно переписать сабж на Си, но вряд ли будет сильный прирост.
Я думал на счет Go :). Но проблема не в этом.
>Что думаешь?
Например, у меня на федоре иксы через примерно час начинают отлупливать соединения от Azot, типа, слишком часто. Скорее всего надо один раз подключаться и работать в пределах этой сессии, но как это сделать - я не знаю.
>удивило, кстати, что python2, а не python3
Привык я ко второму питону, но там под третий совсем немного переписывать.
ЗЫ: Покажи свои проекты, интересно :)
# Re: azot
vit01 (mira, 1) → Difrex – 12:53:21 2016-05-16
Difrex> Жрет ресурсы не в себя. Там постоянно опрашивается положение курсора.
Вроде бы, это единственный рабочий способ для иксов.
Решил проверить, как реализуются действия с углами в аналогах сабжа. Откопал программу brightside (есть в дебиановских репах), посмотрел исходники и обнаружил, что там отслеживание тоже делается с помощью своеобразного таймера, который смотрит положение.
На уровне оконных менеджеров это должно делаться так же.
// тем более, они в любом случае за курсором постоянно следят.
Для производительности можно переписать сабж на Си, но вряд ли будет сильный прирост.
// удивило, кстати, что python2, а не python3
Что думаешь?
vit01 (mira, 1) → Difrex – 12:53:21 2016-05-16
Difrex> Жрет ресурсы не в себя. Там постоянно опрашивается положение курсора.
Вроде бы, это единственный рабочий способ для иксов.
Решил проверить, как реализуются действия с углами в аналогах сабжа. Откопал программу brightside (есть в дебиановских репах), посмотрел исходники и обнаружил, что там отслеживание тоже делается с помощью своеобразного таймера, который смотрит положение.
На уровне оконных менеджеров это должно делаться так же.
// тем более, они в любом случае за курсором постоянно следят.
Для производительности можно переписать сабж на Си, но вряд ли будет сильный прирост.
// удивило, кстати, что python2, а не python3
Что думаешь?
# Re: Несетевые проекты
Difrex (mira, 14) → vit01 – 10:25:26 2016-05-16
Жрет ресурсы не в себя. Там постоянно опрашивается положение курсора.
Было бы круто использовать что-то типа Inotify, но для X, а не FS.
Difrex (mira, 14) → vit01 – 10:25:26 2016-05-16
Жрет ресурсы не в себя. Там постоянно опрашивается положение курсора.
Было бы круто использовать что-то типа Inotify, но для X, а не FS.
# Re: Несетевые проекты
vit01 (mira, 1) → Difrex – 08:20:44 2016-05-16
Difrex> Не заинтересует такая штука? https://github.com/Difrex/azot
Забавная вещь. И каковы планы по её улучшению? Делает своё дело, судя по видео, вполне исправно.
vit01 (mira, 1) → Difrex – 08:20:44 2016-05-16
Difrex> Не заинтересует такая штука? https://github.com/Difrex/azot
Забавная вещь. И каковы планы по её улучшению? Делает своё дело, судя по видео, вполне исправно.
# Re: Несетевые проекты
Difrex (mira, 14) → vit01 – 08:14:04 2016-05-16
>Итак, в PM вроде всё устоялось с фичами (если появятся ещё какие-нибудь хотелки, то пусть Денис пишет, поломаю голову).
Да, большое спасибо за коммиты :)
>Что можете предложить из того, что не связано с нашей сеткой, но интересно было бы сделать вместе?
Не заинтересует такая штука?
https://github.com/Difrex/azot
Difrex (mira, 14) → vit01 – 08:14:04 2016-05-16
>Итак, в PM вроде всё устоялось с фичами (если появятся ещё какие-нибудь хотелки, то пусть Денис пишет, поломаю голову).
Да, большое спасибо за коммиты :)
>Что можете предложить из того, что не связано с нашей сеткой, но интересно было бы сделать вместе?
Не заинтересует такая штука?
https://github.com/Difrex/azot
# Re: Несетевые проекты
vit01 (mira, 1) → vit01 – 16:27:12 2016-05-15
Итак, в PM вроде всё устоялось с фичами (если появятся ещё какие-нибудь хотелки, то пусть Денис пишет, поломаю голову).
Надо ещё и больше.
Что можете предложить из того, что не связано с нашей сеткой, но интересно было бы сделать вместе?
// могу и сам чего-нибудь предложить, но сначала подожду
vit01 (mira, 1) → vit01 – 16:27:12 2016-05-15
Итак, в PM вроде всё устоялось с фичами (если появятся ещё какие-нибудь хотелки, то пусть Денис пишет, поломаю голову).
Надо ещё и больше.
Что можете предложить из того, что не связано с нашей сеткой, но интересно было бы сделать вместе?
// могу и сам чего-нибудь предложить, но сначала подожду
# Re: PM
vit01 (mira, 1) → Difrex – 11:32:26 2016-05-09
Difrex> Есть только проблема с отображением, если uri в ресурсе очень длинный - табличку корежит
Difrex> Я, в принципе, знаю как это поправить.
Там таблица строится очень просто - обычным дополнением пробелов справа.
Если получится починить, то очень хорошо. Сам просто не придумал, как такие случаи обрабатывать. Только если обрезать строку, но это не очень правильно.
vit01 (mira, 1) → Difrex – 11:32:26 2016-05-09
Difrex> Есть только проблема с отображением, если uri в ресурсе очень длинный - табличку корежит
Difrex> Я, в принципе, знаю как это поправить.
Там таблица строится очень просто - обычным дополнением пробелов справа.
Если получится починить, то очень хорошо. Сам просто не придумал, как такие случаи обрабатывать. Только если обрезать строку, но это не очень правильно.
# Re: PM
Difrex (mira, 14) → vit01 – 11:20:46 2016-05-09
Очень классно получилось.
Есть только проблема с отображением, если uri в ресурсе очень длинный - табличку корежит: https://cloud.difrex.ru/index.php/s/txaZ77bL1KlJ562
Я, в принципе, знаю как это поправить. Спасибо, смержил в тестинг :)
Difrex (mira, 14) → vit01 – 11:20:46 2016-05-09
Очень классно получилось.
Есть только проблема с отображением, если uri в ресурсе очень длинный - табличку корежит: https://cloud.difrex.ru/index.php/s/txaZ77bL1KlJ562
Я, в принципе, знаю как это поправить. Спасибо, смержил в тестинг :)
# PM
vit01 (mira, 1) → Difrex – 09:05:08 2016-05-09
В своём репозитории сабжа сделал ветку testing.
В этой ветке сделал вывод в красивую таблицу и исправил твой костыль с дублированием кода при выводе информации.
Протестируй и выскажи своё мнение.
vit01 (mira, 1) → Difrex – 09:05:08 2016-05-09
В своём репозитории сабжа сделал ветку testing.
В этой ветке сделал вывод в красивую таблицу и исправил твой костыль с дублированием кода при выводе информации.
Протестируй и выскажи своё мнение.
./pm.pl -s -n all
# Re: PM
Difrex (mira, 14) → vit01 – 11:26:13 2016-05-04
>Difrex> Да вот красивый вывод в pm -sn all, только хочется. Все руки не дошли до того, чтобы сделать это.
vit01> Он разве слишком некрасивый? Там даже цвет есть, насколько видно.
Я просто хотел сделать, как в mysql/pgsql - табличка, чтобы рисовалась.
>Попробую почитать что-нибудь на эту тему. А sqlite действительно не очень хорошо здесь смотрится. Скорее, это проблема самой перловой реализации (сделали только самые базовые вещи).
Там делов-то немного. Переписать только функции из DB.pm, я вечерком, может займусь =)
Difrex (mira, 14) → vit01 – 11:26:13 2016-05-04
>Difrex> Да вот красивый вывод в pm -sn all, только хочется. Все руки не дошли до того, чтобы сделать это.
vit01> Он разве слишком некрасивый? Там даже цвет есть, насколько видно.
Я просто хотел сделать, как в mysql/pgsql - табличка, чтобы рисовалась.
>Попробую почитать что-нибудь на эту тему. А sqlite действительно не очень хорошо здесь смотрится. Скорее, это проблема самой перловой реализации (сделали только самые базовые вещи).
Там делов-то немного. Переписать только функции из DB.pm, я вечерком, может займусь =)
# Re: PM
vit01 (mira, 1) → Difrex – 10:53:48 2016-05-04
Difrex> Да вот красивый вывод в pm -sn all, только хочется. Все руки не дошли до того, чтобы сделать это.
Он разве слишком некрасивый? Там даже цвет есть, насколько видно.
Хотя всё-таки есть, чего улучшить. У меня вот в терминале тема оформления светлая, поэтому поле ID не видно совсем.
Difrex> Еще есть проблема в SQL, там нет уникального ключа по имени.
Ну это на раз-два.
Difrex> Да и вообще, я думаю, что стоит перейти на что-то noSQL, хотябы на perl Storable. + в этом, что избавимся в зависимостях от sqlite.
Попробую почитать что-нибудь на эту тему. А sqlite действительно не очень хорошо здесь смотрится. Скорее, это проблема самой перловой реализации (сделали только самые базовые вещи).
vit01 (mira, 1) → Difrex – 10:53:48 2016-05-04
Difrex> Да вот красивый вывод в pm -sn all, только хочется. Все руки не дошли до того, чтобы сделать это.
Он разве слишком некрасивый? Там даже цвет есть, насколько видно.
Хотя всё-таки есть, чего улучшить. У меня вот в терминале тема оформления светлая, поэтому поле ID не видно совсем.
Difrex> Еще есть проблема в SQL, там нет уникального ключа по имени.
Ну это на раз-два.
Difrex> Да и вообще, я думаю, что стоит перейти на что-то noSQL, хотябы на perl Storable. + в этом, что избавимся в зависимостях от sqlite.
Попробую почитать что-нибудь на эту тему. А sqlite действительно не очень хорошо здесь смотрится. Скорее, это проблема самой перловой реализации (сделали только самые базовые вещи).
# Re: PM
Difrex (mira, 14) → vit01 – 06:48:00 2016-05-04
>Помогу и сделаю пулл-реквест (или сейчас сделаю, если хочешь).
Делай пулл-реквест(только в AUTHORS себя не забудь добавить :), я потестю на своей базе из ~150 паролей и смержу в мастер.
>Скажи, что ещё хотел бы сделать.
Да вот красивый вывод в pm -sn all, только хочется. Все руки не дошли до того, чтобы сделать это.
Еще есть проблема в SQL, там нет уникального ключа по имени. Да и вообще, я думаю, что стоит перейти на что-то noSQL, хотябы на perl Storable. + в этом, что избавимся в зависимостях от sqlite.
Difrex (mira, 14) → vit01 – 06:48:00 2016-05-04
>Помогу и сделаю пулл-реквест (или сейчас сделаю, если хочешь).
Делай пулл-реквест(только в AUTHORS себя не забудь добавить :), я потестю на своей базе из ~150 паролей и смержу в мастер.
>Скажи, что ещё хотел бы сделать.
Да вот красивый вывод в pm -sn all, только хочется. Все руки не дошли до того, чтобы сделать это.
Еще есть проблема в SQL, там нет уникального ключа по имени. Да и вообще, я думаю, что стоит перейти на что-то noSQL, хотябы на perl Storable. + в этом, что избавимся в зависимостях от sqlite.
# Re: PM
vit01 (mira, 1) → Difrex – 13:38:34 2016-05-01
Форкнул сабж и написал туда чуть-чуть:
https://github.com/vit1-irk/PM
Изменения:
* Теперь можно импортировать БД из файла
* При автогенерации пароля можно при желании задать его длину
* Место расшифрованной БД поменял на /dev/shm
Третий пункт сделал из-за того, что /tmp люди не всегда монтируют, как tmpfs (некоторые просто на диске его держат), а /dev/shm всегда автоматически ставится в tmpfs.
Скажи, что ещё хотел бы сделать. Помогу и сделаю пулл-реквест (или сейчас сделаю, если хочешь).
vit01 (mira, 1) → Difrex – 13:38:34 2016-05-01
Форкнул сабж и написал туда чуть-чуть:
https://github.com/vit1-irk/PM
Изменения:
* Теперь можно импортировать БД из файла
* При автогенерации пароля можно при желании задать его длину
* Место расшифрованной БД поменял на /dev/shm
Третий пункт сделал из-за того, что /tmp люди не всегда монтируют, как tmpfs (некоторые просто на диске его держат), а /dev/shm всегда автоматически ставится в tmpfs.
Скажи, что ещё хотел бы сделать. Помогу и сделаю пулл-реквест (или сейчас сделаю, если хочешь).
# Re: PM
vit01 (mira, 1) → Andrew Lobanov – 16:53:31 2016-04-29
Оно хранится в зашифрованном (через GPG) виде в $HOME. При каждом взаимодействии база расшифровывается, находясь в /tmp, и сразу же удаляется.
Небезопасность заключается в том, что из /tmp расшифрованный файл базы можно позднее восстановить, если этот самый /tmp не примонтирован в виде tmpfs.
// а я тем временем обнаружил, что sqlite-модуль даже текстовые дампы не поддерживает
// надо бы в самом деле на что-то другое переписать
vit01 (mira, 1) → Andrew Lobanov – 16:53:31 2016-04-29
Оно хранится в зашифрованном (через GPG) виде в $HOME. При каждом взаимодействии база расшифровывается, находясь в /tmp, и сразу же удаляется.
Небезопасность заключается в том, что из /tmp расшифрованный файл базы можно позднее восстановить, если этот самый /tmp не примонтирован в виде tmpfs.
// а я тем временем обнаружил, что sqlite-модуль даже текстовые дампы не поддерживает
// надо бы в самом деле на что-то другое переписать
# Re: PM
Andrew Lobanov (tavern,1) → All – 16:33:12 2016-04-29
А как вообще в сабже с безопасностью? В каком виде оно хранится? А то я чёт перловые исходники совсем не разумею, а времени на кемел бук нет пока.
Andrew Lobanov (tavern,1) → All – 16:33:12 2016-04-29
А как вообще в сабже с безопасностью? В каком виде оно хранится? А то я чёт перловые исходники совсем не разумею, а времени на кемел бук нет пока.
# Re: PM
vit01 (mira, 1) → vit01 – 15:12:14 2016-04-29
Итак, Named Pipes эта штука так же не поддерживает. А жаль, потому что в MySQL можно было нормально сделать LOAD DATA INFILE, и всё бы пахало, как часы.
Лучше было бы вообще не sqlite использовать, а json какой-нибудь, с ним бы точно проблем не было.
vit01 (mira, 1) → vit01 – 15:12:14 2016-04-29
Итак, Named Pipes эта штука так же не поддерживает. А жаль, потому что в MySQL можно было нормально сделать LOAD DATA INFILE, и всё бы пахало, как часы.
Лучше было бы вообще не sqlite использовать, а json какой-нибудь, с ним бы точно проблем не было.
# Re: PM
vit01 (mira, 1) → Difrex – 13:10:21 2016-04-29
Difrex> * Подсунуть базу драйверу sqlite как файл, т.е. через \$bd
И как бы это примерно выглядело? Непонятно, что под этим ты имеешь в виду.
Вместо хранения дампа можно сделать в том числе и Named Pipe, именно так лучше и попробую.
vit01 (mira, 1) → Difrex – 13:10:21 2016-04-29
Difrex> * Подсунуть базу драйверу sqlite как файл, т.е. через \$bd
И как бы это примерно выглядело? Непонятно, что под этим ты имеешь в виду.
Вместо хранения дампа можно сделать в том числе и Named Pipe, именно так лучше и попробую.
# Re: Несетевые проекты
Difrex (mira, 14) → btimofeev – 06:29:07 2016-04-29
>Сорри за оффтоп, но чем pass не устроил? https://www.passwordstore.org/
Мне он был не удобен. Мне нужен был именно плоский вывод имен, т.к. я часто использую подобное:
Так же мне хотелось xdg-open, чтобы сразу перейти по ссылке. Хотелось комментариев к паролям, и.т.д.
Короче, pass мне был не удобен и я написал свой велосипед. :)
Difrex (mira, 14) → btimofeev – 06:29:07 2016-04-29
>Сорри за оффтоп, но чем pass не устроил? https://www.passwordstore.org/
Мне он был не удобен. Мне нужен был именно плоский вывод имен, т.к. я часто использую подобное:
pm -sn all | tail -3
Так же мне хотелось xdg-open, чтобы сразу перейти по ссылке. Хотелось комментариев к паролям, и.т.д.
Короче, pass мне был не удобен и я написал свой велосипед. :)
# Re: PM
Difrex (mira, 14) → vit01 – 06:16:01 2016-04-29
>и обнаружил, что ни DBI, ни сам sqlite не поддерживают загрузку бинаря базы данных из RAM.
Да, я знаю про это. Вообще я думал попробовать так:
* Расшифровать базу в память - тут все норм
* Подсунуть базу драйверу sqlite как файл, т.е. через \$bd
>В таком случае БД придётся даже в зашифрованном виде хранить не в виде sqlite-файла, а в виде sql-дампа. Грустно и медленно, но зато 100% безопасно.
>Если тебя устроит данный способ взаимодействия, то могу форкнуть и приделать.
Если получится, то было бы круто =)
Difrex (mira, 14) → vit01 – 06:16:01 2016-04-29
>и обнаружил, что ни DBI, ни сам sqlite не поддерживают загрузку бинаря базы данных из RAM.
Да, я знаю про это. Вообще я думал попробовать так:
* Расшифровать базу в память - тут все норм
* Подсунуть базу драйверу sqlite как файл, т.е. через \$bd
>В таком случае БД придётся даже в зашифрованном виде хранить не в виде sqlite-файла, а в виде sql-дампа. Грустно и медленно, но зато 100% безопасно.
>Если тебя устроит данный способ взаимодействия, то могу форкнуть и приделать.
Если получится, то было бы круто =)
# Re: Несетевые проекты
btimofeev (station13, 13) → Difrex – 18:16:59 2016-04-28
Difrex> Вот, например, чем я пользуюсь постоянно - pm https://github.com/Difrex/PM. Консолькный менеджер паролей для X. Писал потому что ничего удобнее(для меня) нет.
Сорри за оффтоп, но чем pass не устроил? https://www.passwordstore.org/
btimofeev (station13, 13) → Difrex – 18:16:59 2016-04-28
Difrex> Вот, например, чем я пользуюсь постоянно - pm https://github.com/Difrex/PM. Консолькный менеджер паролей для X. Писал потому что ничего удобнее(для меня) нет.
Сорри за оффтоп, но чем pass не устроил? https://www.passwordstore.org/
# Re: PM
vit01 (mira, 1) → Difrex – 14:39:33 2016-04-28
Кстати, решил изучить вопрос по вот этому TODO:
> Store decrypted DB into RAM not in /tmp/
и обнаружил, что ни DBI, ни сам sqlite не поддерживают загрузку бинаря базы данных из RAM.
Единственный быстрый путь решения, который представляется возможным (и который предлагают люди), заключается в том, чтобы создавать пустую базу в памяти и загружать в неё данные из дампа через CREATE TABLE ...
В таком случае БД придётся даже в зашифрованном виде хранить не в виде sqlite-файла, а в виде sql-дампа. Грустно и медленно, но зато 100% безопасно.
Если тебя устроит данный способ взаимодействия, то могу форкнуть и приделать.
vit01 (mira, 1) → Difrex – 14:39:33 2016-04-28
Кстати, решил изучить вопрос по вот этому TODO:
> Store decrypted DB into RAM not in /tmp/
и обнаружил, что ни DBI, ни сам sqlite не поддерживают загрузку бинаря базы данных из RAM.
Единственный быстрый путь решения, который представляется возможным (и который предлагают люди), заключается в том, чтобы создавать пустую базу в памяти и загружать в неё данные из дампа через CREATE TABLE ...
В таком случае БД придётся даже в зашифрованном виде хранить не в виде sqlite-файла, а в виде sql-дампа. Грустно и медленно, но зато 100% безопасно.
Если тебя устроит данный способ взаимодействия, то могу форкнуть и приделать.
# Re: PM
Difrex (mira, 14) → vit01 – 14:10:55 2016-04-28
>Жаль, что перл, а то бы TODO-шка твоя быстро опустела :) Хотя подозреваю, что там не все планы.
Ридми давно не апдейтил, а хелп в самом коде так и подавно =) Запушил
Difrex (mira, 14) → vit01 – 14:10:55 2016-04-28
>Жаль, что перл, а то бы TODO-шка твоя быстро опустела :) Хотя подозреваю, что там не все планы.
Ридми давно не апдейтил, а хелп в самом коде так и подавно =) Запушил