[>]
Re: Безумных идей
ii.14
spline(station13, 1) — vit01
2015-08-27 09:17:17
>Тогда "подводных камней" здесь нет, и это мне нравится. Осталось только придумать механизм отдачи на ноде, и всё.
Да. Реализация должна быть в духе ii. Простая донельзя. Поверх http это очень просто делается, а другой ноды я не держу и не пишу пока. В конце концов, насколько я помню, /x это как XEP у XMPP. То есть необязательное для поддержки расширение стандарта.
[>]
Re: Caesium
ii.14
vit01(mira, 1) — spline
2015-08-27 08:56:34
> Честно говоря, на мой вкус Tk победил по аккуратности шрифта.
У каждого свои вкусы, но суть ты понял. Просто они должны сочетаться с остальными элементами интерфейса, с родными системными шрифтами.
> Вот если ты приведёшь в порядок работу на андроиде, это будет круто.
Попробую пошаманить ещё =)
> Клиент мечты всё таки =)
Окей, понимаю =)
[>]
Re: Caesium
ii.14
spline(station13, 1) — vit01
2015-08-27 08:38:09
>http://ii-net.tk/ii/files/VX71VFW7eqgYroOh06wm.png
>Слева tk интерфейс, справа Qt. Разница видна невооружённым глазом.
Честно говоря, на мой вкус Tk победил по аккуратности шрифта. Но я понял о чём ты.
>Если что, готов помочь с цезием, только напиши. Ибо мне он понравился.
Вот если ты приведёшь в порядок работу на андроиде, это будет круто. Другим pull-реквестам я тоже рад, конечно, но не факт, что приму всё в апстрим. Клиент мечты всё таки =)
[>]
Re: Caesium
ii.14
Difrex(mira, 14) — vit01
2015-08-27 10:25:56
>http://ii-net.tk/ii/files/VX71VFW7eqgYroOh06wm.png
Ух ты! Как погоду в i3bar рисуешь?
[>]
Re: Безумных идей
ii.14
vit01(mira, 1) — spline
2015-08-27 08:56:34
> В таком виде мне это привиделось по крайней мере. Возня со строкой авторизации нужна, потому что наше законодательство всяко может боком выйти =)
> Файлообмен между нодами этот вариант не предусматривает (и правильно, на мой взгляд), файлы может выкладывать только сисоп.
Тогда "подводных камней" здесь нет, и это мне нравится. Осталось только придумать механизм отдачи на ноде, и всё.
[>]
Re: Безумных идей
ii.14
vit01(mira, 1) — spline
2015-08-27 13:03:00
> Если ты под метаданными индекс подразумеваешь, то у него будет формат, схожий с /list.txt. То есть <имя файла>:<опциональное описание>.
Именно на это и надеюсь. При этом запрос на получение будет выглядеть, как
POST /ii-point.php?q=/x/file
pauth=строка_авторизации&filename=имяфайла.jpg
по аналогии с /u/point? Осталось лишь придумать названия схем, и всё.
[>]
Re: Caesium
ii.14
spline(station13, 1) — Difrex
2015-08-27 10:55:02
>>http://ii-net.tk/ii/files/VX71VFW7eqgYroOh06wm.png
>Ух ты! Как погоду в i3bar рисуешь?
Это кнопка меню. И это awesome =)
[>]
Re: Caesium
ii.14
vit01(mira, 1) — Difrex
2015-08-27 12:20:00
> Ух ты! Как погоду в i3bar рисуешь?
Во-первых, это Awesome. Во-вторых, это не погода, а менюшка. Внешний вид кнопки - отсылка на эху, на которую ты не подписан =)
[>]
Re: Безумных идей
ii.14
vit01(mira, 1) — spline
2015-08-27 12:28:54
Да, верно. Только в метаданных (списке) должно быть имя файла, иначе придётся возиться с mimetypes.
[>]
Re: Безумных идей
ii.14
spline(station13, 1) — vit01
2015-08-27 12:39:46
>Да, верно. Только в метаданных (списке) должно быть имя файла, иначе придётся возиться с mimetypes.
Если ты под метаданными индекс подразумеваешь, то у него будет формат, схожий с /list.txt. То есть <имя файла>:<опциональное описание>.
[>]
Re: iiplc v0.2
ii.14
vit01(mira, 1) — Difrex
2015-08-27 12:30:03
Пробовал раньше iiplc, но почему-то он даже не фетчил ничего. Попробую снова.
[>]
Re: Caesium
ii.14
vit01(mira, 1) — spline
2015-08-27 12:13:43
> Правда это опять таки не меняет сути дела, так как речь идёт о клиенте для девочек =)
А как тебе WxPython? Я его тыкал раньше, он мне понравился.
[>]
Caesium
ii.14
spline(station13, 1) — All
2015-08-27 13:07:32
Очередная пачка коммитов:
* Исправлен баг с отправкой сообщений в обратном порядке.
* Добавлена функция отрисовки окон сообщений (взамен хардкода в функции сохранения).
* Добавлен функционал для работы с избранными сообщениями (через метаэху favorites).
* Получение списка сообщений для режима чтения вынесено в отдельную функцию.
* Добавлена проверка на пустую эху при опросе клавиатуры в режиме чтения.
* Теперь выйти из клиента можно и из режима чтения (после этого замечания Виктора мне стало не хватать такой штуки =)
Решение с избранными сообщениями с одной стороны не очень удачное, а с другой - это позволяет держать избранное прямо в стандартной базе.
[>]
Re: iiplc v0.2
ii.14
vit01(mira, 1) — Difrex
2015-08-27 14:49:54
Попытался собрать пакет perl-plack в арче из AUR, у него куча рекурсивных зависимостей с глубиной рекурсии минимум 4-5 =)
Причём некоторые не удовлетворены.
На дебиане попробую потом.
[>]
Re: Безумных идей
ii.14
spline(station13, 1) — vit01
2015-08-27 15:04:02
>> По некоторому размышлению подумал, сделать ли <имя файла><размер>:<опциональное описание>? Причём размер сразу текстом и в человекочитаемом формате, чтобы была возможность ручного чтения файла-индекса.
>Размер тоже неплохо бы. Но лучше в байтах, чтобы клиент мог всё распарсить. К примеру, файл 2 гигабайта, и клиент сам проверит, хватит ли места на ЖД для него, или нет.
Я сперва именно в байтах думал, но потом пожалел потенциальных пользователей клиентов без поддержки этой схемы =)
Спорный вопрос, в общем. Надо голосовать.
[>]
Re: Безумных идей
ii.14
vit01(mira, 1) — spline
2015-08-27 15:15:52
> Я сперва именно в байтах думал, но потом пожалел потенциальных пользователей клиентов без поддержки этой схемы =)
А разве клиенты вводят вручную схему параметров?
Нет, ну лично я могу в браузере зайти на /u/e/эха или /m/сообщение, чтобы посмотреть и отдебажить всё, но девочки это делать не будут =)
Клиент сам всё распарсит, предусмотрит локаль (Килобайт или Kilobytes) + не будет неоднозначностей с десятичными или двоичными префиксами (в настройках можно пункт сделать).
[>]
Re: Безумных идей
ii.14
spline(station13, 1) — vit01
2015-08-27 13:09:43
>Именно на это и надеюсь. При этом запрос на получение будет выглядеть, как
Ну если уже есть вполне сформировавшийся формат, то зачем изобретать велосипед?
>POST /ii-point.php?q=/x/file
>pauth=строка_авторизации&filename=имяфайла.jpg
>по аналогии с /u/point? Осталось лишь придумать названия схем, и всё.
Именно так я и хочу это реализовать. Может даже имеет смысл запихнуть всё в одну схему: есть параметр filename -- шлём файл, ежели нет - шлём индекс.
[>]
Re: Безумных идей
ii.14
vit01(mira, 1) — spline
2015-08-27 14:47:47
> Может даже имеет смысл запихнуть всё в одну схему: есть параметр filename -- шлём файл, ежели нет - шлём индекс.
Хорошая идея.
> По некоторому размышлению подумал, сделать ли <имя файла><размер>:<опциональное описание>? Причём размер сразу текстом и в человекочитаемом формате, чтобы была возможность ручного чтения файла-индекса.
Размер тоже неплохо бы. Но лучше в байтах, чтобы клиент мог всё распарсить. К примеру, файл 2 гигабайта, и клиент сам проверит, хватит ли места на ЖД для него, или нет.
[>]
Re: Безумных идей
ii.14
spline(station13, 1) — vit01
2015-08-27 13:14:24
>> Если ты под метаданными индекс подразумеваешь, то у него будет формат, схожий с /list.txt. То есть <имя файла>:<опциональное описание>.
По некоторому размышлению подумал, сделать ли <имя файла><размер>:<опциональное описание>? Причём размер сразу текстом и в человекочитаемом формате, чтобы была возможность ручного чтения файла-индекса.
[>]
Caesium
ii.14
spline(station13, 1) — All
2015-08-28 09:19:17
Новые коммиты в сабже.
* Исправлен баг, вызывающий падение клиента при нажатии клавиши вправо при просмотре последнего сообщения в эхе.
* Исправлен баг, блокирующий выход из пустой эхоконференции клавишей "в право".
* Исправлен баг, в некоторых случаях приводивший к "забыванию" последнего прочитанного сообщения в эхе.
* Метаэхоконференция favorites больше не запрашивается у ноды при получении почты.
* Исправлен баг с обновлением экрана при удалении последнего избранного сообщения.
* Добавлена проверка доступности ноды. Теперь клиент не падает в случае отсутсвия связи.
[>]
Re: Caesium
ii.14
vit01(mira, 1) — spline
2015-08-28 10:07:13
> * Исправлен баг, в некоторых случаях приводивший к "забыванию" последнего прочитанного сообщения в эхе.
Видимо, на андроиде из-за этого чуть изменилось поведение :)
Клавиша End теперь увеличивает номер прочитанного сообщения на единицу и выходит в список эх. Раньше не увеличивала.
[>]
Re: Caesium
ii.14
vit01(mira, 1) — spline
2015-08-28 12:26:40
> Копать надо в сторону Esc-последовательностей на андроиде или в том ncurses, который у тебя на аппарате. Суть в том, что всякие там функциональные клавиши, Home, End и прочие PageUp'ы через такие вот последовательности обрабатывают. То есть ловится esc или из-за медленной отправки сканкода или из-за кривости терминала.
Подключился к телефону по ssh. Полёт цезия нормальный, значит дело в терминале. Перепробовал 3 терминала на телефоне в разных режимах эмуляции, всё без толку с Home/End. Значит придётся просто заменить клавиши, т.к. Esc последовательности просто криво идут.
Кстати, обнаружил ещё, что получение сообщений нельзя запустить во время чтения эхи.
Также нашёл вот такую ошибку при нажатии на PageDown:
http://ii-net.tk/ii/files/9zw8f4k0tXEoeZyFB0Ax.png
[>]
В тему сети и её наполнения
ii.14
spline(station13, 1) — All
2015-08-28 11:42:35
Перечитывал тут от бессонницы архив болталки и подумал, что прямой RSS это тупик всё таки. Разве что по заголовкам пробежаться. В связи с чем к выходным планирую скрыть из спика своих эх ЛОР и ifiction и начать репостить всё вручную в отдельные эхи, а роботов в последствии переселить на отдельную служебную ноду. Как только поддержку нескольких нод доделаю в цезии.
Преимущества очевидны: не надо будет гулять по ссылкам, чтобы прочитать полные версии статей или новостей, а всё в одном месте и отварматированно. Как минимум эти два ресурса я потяну, а дальше видно будет.
[>]
Re: В тему сети и её наполнения
ii.14
vit01(mira, 1) — spline
2015-08-28 12:26:41
> Преимущества очевидны: не надо будет гулять по ссылкам, чтобы прочитать полные версии статей или новостей, а всё в одном месте и отварматированно.
Когда кто-то высказывался против этого, аргументом было, что "а как мы определим, какие новости интересные, а какие - нет? лучше делать кратко, чтобы решать для себя, читать или нет".
[>]
Qt5
ii.14
vit01(mira, 1) — All
2015-08-27 17:02:20
ii-client-qt с минимальными модификациями работает на сабже. Коммит имеется, PKGBUILD в AUR поправлен на сабж.
Только вот автоматический ресайз окна почему-то глючит, но это из-за старого ui-файла, скорее всего.
[>]
Re: Caesium
ii.14
spline(station13, 1) — vit01
2015-08-28 10:18:28
>> * Исправлен баг, в некоторых случаях приводивший к "забыванию" последнего прочитанного сообщения в эхе.
>Видимо, на андроиде из-за этого чуть изменилось поведение :)
>Клавиша End теперь увеличивает номер прочитанного сообщения на единицу и выходит в список эх. Раньше не увеличивала.
Копать надо в сторону Esc-последовательностей на андроиде или в том ncurses, который у тебя на аппарате. Суть в том, что всякие там функциональные клавиши, Home, End и прочие PageUp'ы через такие вот последовательности обрабатывают. То есть ловится esc или из-за медленной отправки сканкода или из-за кривости терминала.
Насчёт увеличения номера сообщения. Это нормальное поведение. То есть, если я читал-читал, а потом вышел, то я увижу не последнее прочитанное мной сообщение, а то, которое сразу за ним.
[>]
Re: Caesium
ii.14
vit01(mira, 1) — spline
2015-08-28 16:23:26
> Это я в апстрим не возьму. Клиент никогда не позиционировался как приложение для мобильных платформ и затачивался строго на *NIX на десктопе/лаптопе.
Я и не предлагал брать это в апстрим. Клиент твой, сочетания клавиш твои. Просто уточнил, что буду делать при создании Caesium-FixEsc патча.
[>]
Re: Caesium
ii.14
vit01(mira, 1) — spline
2015-08-29 14:48:42
Сегодня пока не получилось, ибо сижу на даче и усиленно собираю урожай =)
Но как освобожусь, напишу и выложу.
Ещё собирался сделать вынос параметров сочетаний клавиш наверх скрипта, но это и без учёта андроидов полезно будет :)
[>]
Re: Caesium
ii.14
spline(station13, 1) — vit01
2015-08-28 13:10:29
>Значит придётся просто заменить клавиши, т.к. Esc последовательности просто криво идут.
Это я в апстрим не возьму. Клиент никогда не позиционировался как приложение для мобильных платформ и затачивался строго на *NIX на десктопе/лаптопе.
>Кстати, обнаружил ещё, что получение сообщений нельзя запустить во время чтения эхи.
Это описано в README. И это очень правильно, ящитаю. Изначально я вообще хотел разделить на разные приложения мейлер, тоссер и ридер, но потом передумал.
>Также нашёл вот такую ошибку при нажатии на PageDown: http://ii-net.tk/ii/files/9zw8f4k0tXEoeZyFB0Ax.png
Поправил. Глупая в сущности ошибка.
[>]
Re: Qt5
ii.14
vit01(mira, 1) — vit01
2015-08-28 20:49:57
> Только вот автоматический ресайз окна почему-то глючит, но это из-за старого ui-файла, скорее всего.
Исправил баг с помощью небольшого хака. Кстати, на openbox его не проявлялось, он был на Awesome (но поскольку сам на авесоме сижу, то это критично).
И да, к ui-файлу это не относилось.
В багтрекере Qt висит несколько похожих багов, но почему-то их не спешат исправлять.
Надо теперь фичами заниматься =) Но это завтра, а сейчас спать.
[>]
Re: Caesium
ii.14
spline(station13, 1) — vit01
2015-08-29 13:43:51
>> Это я в апстрим не возьму. Клиент никогда не позиционировался как приложение для мобильных платформ и затачивался строго на *NIX на десктопе/лаптопе.
>Я и не предлагал брать это в апстрим. Клиент твой, сочетания клавиш твои. Просто уточнил, что буду делать при создании Caesium-FixEsc патча.
Патч вышли. Патчи буду рядом складывать, чтобы пользователь сам патчил при желании =)
[>]
Re: В тему сети и её наполнения
ii.14
spline(station13, 1) — vit01
2015-08-28 13:10:28
>> Преимущества очевидны: не надо будет гулять по ссылкам, чтобы прочитать полные версии статей или новостей, а всё в одном месте и отварматированно.
>Когда кто-то высказывался против этого, аргументом было, что "а как мы определим, какие новости интересные, а какие - нет? лучше делать кратко, чтобы решать для себя, читать или нет".
Я не собираюсь фильтровать новости. Благо с этих двух ресурсов их не так много. К тому же никто не мешает писать отсутствующие новости в эху нескольким человекам.
[>]
Re: Caesium
ii.14
vit01(mira, 1) — vit01
2015-08-29 17:44:40
Патч для юзерфрендли-переопределения клавиш (ничего своего не заменял, клавиши все дефолтные):
13,32d12
< keys = {
< "prevmsg": curses.KEY_LEFT,
< "nextmsg": curses.KEY_RIGHT,
< "up": curses.KEY_UP,
< "down": curses.KEY_DOWN,
< "screen_up": curses.KEY_PPAGE,
< "screen_down": curses.KEY_NPAGE,
< "firstmsg": curses.KEY_HOME,
< "lastmsg": curses.KEY_END,
< "fetch_mail": [ord("g"), ord("G")],
< "send_mail": [ord("s"), ord("S")],
< "enter_echo": [10, curses.KEY_RIGHT],
< "exit_client": curses.KEY_F10,
< "savemsg": [ord("w"), ord("W")],
< "save_favorites": [ord("f"), ord("F")],
< "answer": [ord("q"), ord("Q")],
< "deletemsg": curses.KEY_DC,
<
< }
<
313c293
< elif key == keys["up"] and cursor > 0:
---
> elif key == curses.KEY_UP and cursor > 0:
317c297
< elif key == keys["down"] and cursor < len(echoareas) - 1:
---
> elif key == curses.KEY_DOWN and cursor < len(echoareas) - 1:
321c301
< elif key == keys["screen_up"]:
---
> elif key == curses.KEY_PPAGE:
327c307
< elif key == keys["screen_down"]:
---
> elif key == curses.KEY_NPAGE:
333c313
< elif key == keys["firstmsg"]:
---
> elif key == curses.KEY_HOME:
336c316
< elif key == keys["lastmsg"]:
---
> elif key == curses.KEY_END:
340c320
< elif key in keys["fetch_mail"]:
---
> elif key == ord("g") or key == ord("G"):
342c322
< elif key in keys["send_mail"]:
---
> elif key == ord("s") or key == ord("S"):
358c338
< elif key in keys["enter_echo"]:
---
> elif key == 10 or key == curses.KEY_RIGHT:
370c350
< elif key == keys["exit_client"]:
---
> elif key == curses.KEY_F10:
569c549
< elif key == keys["prevmsg"] and msgn > 0:
---
> elif key == curses.KEY_LEFT and msgn > 0:
575c555
< elif key == keys["nextmsg"] and msgn < len(msgids) - 1:
---
> elif key == curses.KEY_RIGHT and msgn < len(msgids) - 1:
581c561
< elif key == keys["nextmsg"] and (msgn == len(msgids) - 1 or len(msgids) == 0):
---
> elif key == curses.KEY_RIGHT and (msgn == len(msgids) - 1 or len(msgids) == 0):
584c564
< elif key == keys["up"] and y > 0:
---
> elif key == curses.KEY_UP and y > 0:
587c567
< elif key == keys["screen_up"]:
---
> elif key == curses.KEY_PPAGE:
592c572
< elif key == keys["screen_down"]:
---
> elif key == curses.KEY_NPAGE:
597c577
< elif key == keys["down"]:
---
> elif key == curses.KEY_DOWN:
601c581
< elif key == keys["firstmsg"]:
---
> elif key == curses.KEY_HOME:
607c587
< elif key == keys["lastmsg"]:
---
> elif key == curses.KEY_END:
621c601
< elif key in keys["savemsg"]:
---
> elif key == ord("w") or key == ord("W"):
623c603
< elif key in keys["save_favorites"]:
---
> elif key == ord("f") or key == ord("F"):
625c605
< elif not archive and (key in keys["answer"]):
---
> elif not archive and (key == ord ("q") or key == ord("Q")):
642c622
< elif favorites and key == keys["deletemsg"]:
---
> elif favorites and key == curses.KEY_DC:
654c634
< elif key == keys["exit_client"]:
---
> elif key == curses.KEY_F10:
Это пока не все клавиши, просто некоторые там введены числом, и я ещё не смотрел, что они делают.
[>]
Re: В тему сети и её наполнения
ii.14
vit01(mira, 1) — spline
2015-08-28 16:23:27
> Я не собираюсь фильтровать новости. Благо с этих двух ресурсов их не так много. К тому же никто не мешает писать отсутствующие новости в эху нескольким человекам.
В таком случае нам всё равно надо распределяться по эхам. Если что, я согласен репостить вручную 1-2 эхи.
Пусть ещё кто-нибудь из сетян выскажется за или против.
[>]
Caesium
ii.14
spline(station13, 1) — All
2015-08-31 07:57:40
Сабж обзавёлся несколькими полезными скриптами.
rmecho.py
Удаляет эхоконференцию из базы. Название эхи передаётся скрипту параметром. Удаляет и индекс-файл и сообщения.
txt2sqlite.py
Как не трудно догадаться из названия, скрипт требует sqlite3 и перегоняет базу в sqlite3-формат. Делает это на удивление быстро. Так как сабж пока не умеет работать с такой базой, то может оказаться полезен для резервного копирования и переноса базы одним файлом.
sqlite2txt.py
Производит действия обратные предыдущему скрипту.
Скрипты надо запускать из директории tools/. sqlite2txt.py разворачивает базу в этой же директории. Так сделано для того, чтобы ненароком не поломать существующую базу, так как с кривыми эхами (привет, creepy.14) могут возникать проблемы.
Offtopic: creepy.14 я поправлю в ближайшие дни. Все, кто потретил драгоценное место на харде под эту эху, имейте в виду: её надо будет перефетчить во имя добра.
[>]
lor.news.15
ii.14
spline(station13, 1) — All
2015-08-31 11:02:52
У меня на ноде появилась сабжевая эха на пробу. Пока скрытая.
От RSS её отличает полный объём новостей и прилагающиеся ссылки, присутствующие в тексте новости.
[>]
Re: Caesium
ii.14
vit01(mira, 1) — spline
2015-08-30 17:37:30
> Пожалуй, оформлю это себе в виде модуля позже =)
Тогда подожду пока с патчем андроидовским. Там ведь совсем чуть-чуть надо, просто хочу, чтобы это в коде красивее выглядело :)
[>]
Caesium
ii.14
spline(station13, 1) — All
2015-08-31 18:43:13
С прискорбием сообщаю, что я ламер. До сегодняшнего вечера сабж не работал на python 3.2 точно и, возможно, на 3.3. Но теперь это недоразумение исправлено и теперь он радоает и на 3.2 и на 3.4. Может даже на 3.5 работать будет =)
P.P.S.: Не работал дебандл при фетчинге. base64.b64decode, если быть точным.
[>]
Re: Caesium
ii.14
spline(station13, 1) — vit01
2015-08-31 18:39:10
>Ничего, если я позаимствую у тебя код txt2sqlite.py и sqlite2txt.py для своих ii-db-utils? А то экспорт/импорт в бандлы там есть, но в sqlite ещё нет.
Конечно можно. Можно даже не спрашивать.
[>]
Re: Caesium
ii.14
vit01(mira, 1) — spline
2015-08-31 18:31:45
Ничего, если я позаимствую у тебя код txt2sqlite.py и sqlite2txt.py для своих ii-db-utils? А то экспорт/импорт в бандлы там есть, но в sqlite ещё нет.
[>]
Re: Caesium
ii.14
spline(station13, 1) — vit01
2015-08-30 17:25:02
>Патч для юзерфрендли-переопределения клавиш (ничего своего не заменял, клавиши все дефолтные):
Пожалуй, оформлю это себе в виде модуля позже =)
[>]
Re: Qt-клиент
ii.14
vit01(mira, 1) — vit01
2015-09-05 15:13:53
Добавил нужную для user-friendly фичу - удаление исходящих и отправленных сообщений. Бывает, случайно нажмёшь кнопку ответа или нового сообщения, а потом его нужно вручную затирать (либо в каталоге out/ по 200-300 файлов лежит, как у меня). Сейчас это происходит через удобный диалог.
[>]
Re: Qt-клиент
ii.14
vit01(mira, 1) — vit01
2015-09-05 17:45:01
Сделал поддержку вышеописанного также для окна получения сообщений (где вообще разметки не было раньше), исправил возможность засунуть рабочий html клиенту извне.
Если честно, эти "свистелки" мне даже самому нравятся. =)
Осталось только с конфигуратором разобраться, но тут ещё подумать надо.
[>]
iiplc
ii.14
vit01(mira, 1) — All
2015-09-01 16:13:06
Пробовал сабж на двух дебианах (оба jessie), и нигде оно не может зафетчить сообщения. И с /u/, и без него.
Ещё тут вот такая ошибка в консоль лезет:
Use of uninitialized value in concatenation (.) or string at /home/user/iiplc/iiplc.app line 78
А при самом первом фетче он вообще зависает намертво. Дальше просто ничего не делает.