LINUX.ORG.RU

Сообщения annerleen

 

Почему уродуют софт?

Форум — Talks

Привет, ЛОР.

Многобукв не будет, просто вопрос.
В сабже.

Пример: вот был XFCE 4.12.
Там была замечательная вещь под названием Orage.
Это легковесный календарик, который умел в добавление ивентов и напоминания, замечательно интегрируясь в системную панель.

Xfce переписали на Gtk3.
Orage больше нет. Замены не завезли.

Итого: после порта на Gtk3 функциональность (лично для меня) рабочего окружения заметно упала, при этом (!) потребление памяти выросло в полтора раза.


Пошто, товарищи?
Может, задонатить им или разработчика нанять, чтобы портанули календарик?

С Xfce то некуда бежать.

 ,

annerleen ()

OTR в Gajim 1.0+ (Gtk3)

Форум — Desktop

С выходом Gajim 1.0 на Gtk3 разработчики дропнули поддержку OTR-шифрования, объяснив это тем, что нинужна это небезопасно/технически невозможно/ещё куча разных оправданий.

В общем, делать было совершенно нечего...

В общем, вопрос: это кому-то кроме меня нужно? (если да, не поленюсь и допилю до production-ready, если нет — для себя «и так сойдёт»)

 

annerleen ()

Bounty Python3 Gajim

Форум — Job

Привет, ЛОР!

Есть, значит, один Jabber-клиент, Gajim.
Есть у него такой плагин/фича HTTP Upload Plugin

Если перетащить файл drag-and-drop'ом в окно чата, файл передаётся посредством этого плагина: https://i.imgur.com/39p3R7o.png.
(Хотя я не уверен, что это не одна _из_ реализаций способа передачи файлов — может, дело совсем не в плагине, но это вряд-ли играет роль)

Задача
При нажатии Ctrl+V в окне чата, в том случае, если в буфере обмена находится что-то отличное от текста (например, изображение) — действовать так же, как и при drag-n-drop'е в окно чата — инициировать передачу файла.


Предлагаю $250 в BTC эквиваленте (либо по курсу на карту любого российского банка) за реализацию данной возможности.


Думаю те, кто знаком с PyGTK, с лёгкостью справятся.
Если где-то есть неучтённый подводный камень — покажите, да, условия могут поменяться.

 ,

annerleen ()

Количество подключенных USB-устройств

Форум — General

Доброго времени суток!
Дано: Linux-машина с двумя USB3.0 портами, в каждом — USB3.0 хаб на 7 портов, к каждому подключено по четыре USB2 устройства.

В dmesg:

[ 861.015836] usb 3-6: Not enough host controller resources for new device state.
[ 870.028315] usb 3-8: Not enough host controller resources for new device state.
[ 870.028334] usb 3-8: can't set config #1, error -12

Вопросы:

- Где и какой лимит на количество подключенных устройств?
- Что такое «usb 3»? Номер шины? Bus 003 в lsusb — это оно?
- Внешние PCI-USB3 контроллеры попадают под этот лимит или они спасут ситуацию?
Если на них тоже есть этот лимит — то какой?

Спасибо.

 ,

annerleen ()

Учился делать Telegram-бота

Форум — Development

Привет, ЛОР!
Есть один...

В общем, пытался в Python и Telegram API, не уверен в правильности кода и/или некоторых решений, хочу, чтобы Python-гуру оценили код и подсказали что и где неплохо бы исправить.

Бот ещё не допилен, но желающие могут его себе, т.к. все известные мне с похожим функционалом — closed-source, а значит скорее всего сливают логи из ваших чатов доброму создателю.

Из возможностей — разного рода рулеточки, статистика (WIP), запись логов и что-то ещё.
Можно легко добавлять свои собственные команды, если хоть немного знакомы с удавом.
А, ну и я осилил интерфейс конфигурирования бота с собстенными конфигами для каждой конфы — этого вообще нет нигде (ибо ограничения Telegram API) и реализовывать пришлось через одно место.

Зачем тред? Всё вышеописанное, да и просто так, чтобы, так скзть, добро не пропадало даром.
Спасибо за внимание.

NB! Если зашли в тред напомнить, что Телеграм не нужен — все и так это знают, не нужно на это тратить байты!

 ,

annerleen ()

Возможно ли в один запрос...

Форум — Development

Есть таблица с направлениями и телефонными кодами вида:

billing=> select * from directions where id = 1075;
  id  |            direction            | code | min_len | max_len | int_code 
------+---------------------------------+------+---------+---------+----------
 1075 | United Kingdom Special Services | 4450 |      12 |      12 |     4450
 1075 | United Kingdom Special Services | 448  |      12 |      12 |      448
 1075 | United Kingdom Special Services | 4455 |      12 |      12 |     4455
 1075 | United Kingdom Special Services | 449  |      12 |      12 |      449
 1075 | United Kingdom Special Services | 4456 |      12 |      12 |     4456
 1076 | United Kingdom Freephone | 44800 |      10 |      14 |    44800
 1076 | United Kingdom Freephone | 44808 |      10 |      14 |    44808


Задача: получить список вида «id - direction - code (все с этим id)»
Как бы distinct on direction, но он, естественно, оставляет только первый code.

Вопрос: возможно ли одним запросом?

 

annerleen ()

Zhabogram 0.8 — Транспорт из Telegram в Jabber

Новости — Open Source
Группа Open Source

Zhabogram — транспорт (мост, шлюз) из сети Jabber (XMPP) в сеть Telegram, написанный на Ruby. Преемник tg4xmpp.

  • Зависимости:

    • Ruby >= 1.9
    • ruby-sqlite3 >= 1.3
    • xmpp4r == 0.5.6
    • tdlib-ruby == 2.0 и скомпилированная tdlib == 1.3
  • Возможности:

    • Авторизация в Telegram, в т.ч. с двухфакторной авторизацией (паролем)
    • Синхронизация списка чатов с ростером
    • Синхронизация статусов контактов с ростером
    • Добавление и удаление Telegram-контактов
    • Поддержка VCard с аватарками
    • Отправка, приём, редактирование и удаление сообщений
    • Обработка цитат и пересланных сообщений
    • Отправка и приём файлов и специальных сообщений (поддержка фото, видео, аудио, документов, голосовых сообщений, стикеров, анимаций, геолокаций, системных сообщений)
    • Поддержка секретных чатов
    • Создание, управление и модерирование чатов/супергрупп/каналов
    • Сохранение сессий и автоматическое подключение при входе в сеть XMPP
    • Получение истории и поиск по сообщениям
    • Управление аккаунтом Telegram

Для установки потребуется собственный Jabber-сервер. Рекомендуется получить API ID и API HASH в Telegram для более стабильной работы. Подробную инструкцию можно найти в файле README.md.

Фичреквесты и баг-репорты принимаются на noreply@sportloto.eu.

>>> Mercurial-репозиторий

 , ,

annerleen ()

Telegram в Jabber (Zhabogram v0.8)

Форум — Talks

Привет, ЛОР!
Позволю себе наглость создать ещё одну тему про транспорт XMPP в Telegram.

Новость на LOR
Скриншот
Mercurial-репозиторий (HTTP)

Отличия от первой версии

- Синхронизация статусов
- Поддержка VCard и юзерпиков
- Добавление и удаление Telegram-контактов
- Отправка, приём и редактирование сообщений
- Обработка цитат и forward messages
- Отправка и приём файлов
- Секретные чаты
- Создание и управление группами и каналами
- Поиск по сообщениям и получение истории с сервера
- Управление аккаунтом Telegram
- Сохранение сессий, автоматический реконнект, получение часового пояса от Jabber-клиента
- Выпилены Threads, полностью перешли на асинхронную модель событий, должно повысить стабильность
- Пытаемся выжить после неожиданного закрытия потока (такое бывает, да)

Зачем это всё?

- Общение в Telegram используя любой Jabber-клиент
- Возможность использовать свой XMPP-сервер, что положительно скажется на приватности и сохранности данных и сообщений

P.S. не нужно напоминать о том, что в Telegram регистрация по номеру телефона.
SIM-карты можно купить и без документов, а в крайнем случае — воспользоваться онлайн-сервисом по приёму SMS.

ann@westfall ~> sudo apt purge telegram-desktop
[sudo] password for ann: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libminizip1 libxxhash0
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  telegram-desktop*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 44.4 MB disk space will be freed.
Do you want to continue? [Y/n] 

 , ,

annerleen ()

Zhabogram 0.1 — Транспорт из Telegram в Jabber

Новости — Open Source
Группа Open Source

Zhabogram — транспорт (мост, шлюз) из сети Jabber (XMPP) в сеть Telegram, написанный на Ruby, преемник tg4xmpp.
Данный релиз посвящается команде Telegram, которая решила, что третьи лица имеют право затрагивать историю переписки, находящуюся на моих устройствах.

( читать дальше... )

>>> Mercurial-репозиторий

 , ,

annerleen ()

telegram <.>jabber

Форум — Talks

Привет, ЛОРчик! Это очередной нытик тред.

Недавно Паша Дуров & Ко. принесли в Telegram* очередную киллер-фичу — теперь собеседник может удалять любые сообщения из вашего с ним диалога.
Даже твои. Даже те, что ты отправлял год назад. И они тихо и незаметно исчезнут со всех девайсов.

У меня настолько бомбануло, что я решил с концами перекатиться на Jabber-транспорт, и пусть себе хоть обудаляются на здоровье.
Пилили мы как-то tg4xmpp, однако код там страшнее чикатило, ещё и на древних либах, поэтому было реешно перепиливать заново.

За пару бессонных ночей выкатился Жабограм, он уже умеет авторизацию, синхронизацию ростера, переписку, приём файлов и сохранение состояний.
Написан на Ruby+tdlib+xmpp4r.

Если у кого есть Jabber-сервер — милости прошу в бета-тестеры.
Остальные могут писать пожелания и предложения.

Спасибо.

______________________________________________________________

* — запрещено на территории РФ.

 ,

annerleen ()

Lua type checking library

Форум — Development

Добрый вечер, ЛОР!
Пишем для своих целей, но может кому-то понадобится.

Что это: библиотека для проверки типов и размера (границ) переменных.
Зачем это: для проверки передаваемых значений извне в API, например.

Документация и примеры внутри.
Ссылка: https://pastebin.com/7dxm5J3u

Критика/идеи/предложения приветствуются.

 

annerleen ()

cgroups для браузеров

Форум — Desktop

Привет, ЛОР!
Есть ли способ ограничить жор память браузерами (Firefox)?

Раньше работал cgroups, но теперь он плодит новые процессы, а лимит работает только на один процесс, а не на всю кучку.

 

annerleen ()

Реализация «групп»

Форум — Development

Есть абстрактный веб-сервис, в нём есть пользователи, есть группы пользователей.

Вопрос, как это правильнее реализовать на уровне БД и почему?

Вариант 1.
------------------

В таблице `users` есть массив `groups[]`, в котором указаны группы, к которым принадлежит пользователь;


Вариант 2.
------------------

В таблице `groups` есть массив `users[]`, в котором перечислены члены группы;

 

annerleen ()

Если не <table>, то что?

Форум — Talks

Привет, ночной.
Сегодня вопрос такой.

Есть какая-то большая таблица с данными, которую нужно отображать на редактирование.
Пусть это будет такая.

Сейчас это огромная форма и она же таблица, и её открытие в, например, firefox >= 58 приводит к дичайшим тормозам даже на i7 8550U.

В связи с этим, нас не покидает ощущение, что делаем мы что-то не так.
Вопрос — как это реализовывается нынче так, чтобы всё это не тормозило на любом железе и работало с любым браузером? (читай без кучи js-фреймворков)

 

annerleen ()

Freeswitch mod_lua заменить Lua на Tarantool

Форум — Job

Доброго времени суток, ЛОР!
Задача нынче следущая.

Есть замечательный FreeSwitch 1.8.2, в котором есть не менее замечательный модуль mod_lua, который линкуется с liblua5.2.

Есть не менее замечательный Tarantool, тот же Lua, однако с поддержкой лёгких потоков (fibers), да и к тому же работает раз эдак в 10 быстрее Lua, оставаясь обратно совместимым.
Беглым взглядомdiff'ом пробежал по заголовкам, которые шли в пакете tarantool-dev, и вроде бы как бы да, на первый взгляд всё совместимо.

Однако, при попытке «создать» mod_tarantool я потерпел фиаско, что в принципе неудивительно, так как Tarantool имплементирует Lua API 5.1, а mod_lua линкуется с liblua5.2.

Дальше мои знания, к сожалению, всё.

________________________________________________________________

Итак, уважаемые знатоки!
Предлагаю $200 в Bitcoin-эквиваленте тому, кто добавит поддержку Tarantool в Freeswitch 1.8.2.

 , ,

annerleen ()

Котокрыса

Галерея — Скриншоты

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

Что тут у нас?
Железо: Lenovo Thinkpad T480.
Софт:

— Debian GNU/Linux testing (buster)
— XFCE 4.12
— Fish 3.0 (пакеты для Debian брать здесь)
— Firefox ESR (текущие падают, не было печали)
— Mesa 18.3 и nvidia-drivers 410.78 из experimental

Остальное всё стандартное для Debian и/или видно на скриншоте.
Доброе утро!

>>> Просмотр (2560x1440, 1150 Kb)

 ,

annerleen ()

Кто чем бэкапит кучу разных серверов?

Форум — Admin

inb4: rsync/tar+ssh/сам напиши, чо, не мужик шоле?

Знаю, что вопрос поднимался сотни раз, но на дворе 2019 год, как-никак, может, поменялось что?

Задача:

- Бэкапить данные с кучи мелких серверов на пару больших по ftp, ssh;
- Простенький веб-интерфейс со списком и статусом серверов, бэкапов, хранилищ;
- Возможность выполнять кастомные команды до/после бэкапа;
- Естественно, опенсорс;
- Шифрование сжимаемых и передаваемых по сети данных;

Пожалуй, всё.

 

annerleen ()

Альтернатива self-hosted gitlab

Форум — Development

Привет, ЛОР.

Есть какая-то альтернатива self-hosted gitlab'у для нетребовательной команды из пары разработчиков?

Из требований только кастомизируемый веб-интерфейс к DVCS с возможностью скачать/просмотреть.

Gitlab ОЧЕНЬ жирный.

Git не принципиален, можно hg.

 

annerleen ()

Firefox постоянно падает

Форум — Desktop

Хочу спросить, у всех так?
Если нет, из-за чего может быть?

Скачивал бинарную сборку с офф.сайта, Beta, Nightly — результат один — краш.
Баг-рапортъ есть.

[183143.945718] Chrome_~dThread[14951]: segfault at 0 ip 00007f7b47f1df56 sp 00007f7b3f4b9aa0 error 6
[183143.945723] Chrome_~dThread[15305]: segfault at 0 ip 00007fb64cb74f56 sp 00007fb644110aa0 error 6
[183143.945725]  in libxul.so[7f7b445b0000+4dce000]
[183143.945728] Code: 8b 0d d6 7e 75 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 7b b9 69 fc 48 8d 05 9c 1a 5b 01 48 8b 0d b5 7e 75 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 5a b9 69 fc 66 2e 0f 1f 84 00
[183143.945732] Chrome_~dThread[14639]: segfault at 0 ip 00007f2a4703df56 sp 00007f2a3e5d9aa0 error 6
[183143.945734]  in libxul.so[7fb649207000+4dce000]
[183143.945736]  in libxul.so[7f2a436d0000+4dce000]
[183143.945739] Code: 8b 0d d6 7e 75 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 7b b9 69 fc 48 8d 05 9c 1a 5b 01 48 8b 0d b5 7e 75 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 5a b9 69 fc 66 2e 0f 1f 84 00
[183143.945742] Code: 8b 0d d6 7e 75 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 7b b9 69 fc 48 8d 05 9c 1a 5b 01 48 8b 0d b5 7e 75 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 5a b9 69 fc 66 2e 0f 1f 84 00
[183143.946017] Chrome_~dThread[15147]: segfault at 0 ip 00007f0f8027af56 sp 00007f0f77816aa0 error 6 in libxul.so[7f0f7c90d000+4dce000]
[183143.946025] Code: 8b 0d d6 7e 75 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 7b b9 69 fc 48 8d 05 9c 1a 5b 01 48 8b 0d b5 7e 75 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 5a b9 69 fc 66 2e 0f 1f 84 00
[183143.946174] Chrome_~dThread[14729]: segfault at 0 ip 00007f155cf07f56 sp 00007f15544a3aa0 error 6 in libxul.so[7f155959a000+4dce000]
[183143.946183] Code: 8b 0d d6 7e 75 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 7b b9 69 fc 48 8d 05 9c 1a 5b 01 48 8b 0d b5 7e 75 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 5a b9 69 fc 66 2e 0f 1f 84 00
[193987.740233] Chrome_~dThread[16354]: segfault at 0 ip 00007f7092da7cd6 sp 00007f7089e3aa80 error 6
[193987.740237] Chrome_~dThread[985]: segfault at 0 ip 00007f21f4aadcd6 sp 00007f21ebb40a80 error 6
[193987.740240] Chrome_~dThread[16625]: segfault at 0 ip 00007f16c41cdcd6 sp 00007f16bb260a80 error 6
[193987.740243]  in libxul.so[7f21f0ded000+5317000]
[193987.740246]  in libxul.so[7f16c050d000+5317000]
[193987.740249] Code: 8b 0d b6 5a 84 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 53 9b 34 fc 48 8d 05 03 da 7a 01 48 8b 0d 95 5a 84 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 32 9b 34 fc 66 2e 0f 1f 84 00
[193987.740251]  in libxul.so[7f708f0e7000+5317000]
[193987.740254] Code: 8b 0d b6 5a 84 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 53 9b 34 fc 48 8d 05 03 da 7a 01 48 8b 0d 95 5a 84 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 32 9b 34 fc 66 2e 0f 1f 84 00
[193987.740258] Code: 8b 0d b6 5a 84 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 53 9b 34 fc 48 8d 05 03 da 7a 01 48 8b 0d 95 5a 84 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 32 9b 34 fc 66 2e 0f 1f 84 00
[193987.740349] Chrome_~dThread[31379]: segfault at 0 ip 00007f43ce0decd6 sp 00007f43c5171a80 error 6 in libxul.so[7f43ca41e000+5317000]
[193987.740354] Code: 8b 0d b6 5a 84 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 53 9b 34 fc 48 8d 05 03 da 7a 01 48 8b 0d 95 5a 84 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 32 9b 34 fc 66 2e 0f 1f 84 00
[193987.740440] Chrome_~dThread[1641]: segfault at 0 ip 00007f1aeb0d7cd6 sp 00007f1ae216aa80 error 6 in libxul.so[7f1ae7417000+5317000]
[193987.740446] Code: 8b 0d b6 5a 84 03 48 89 01 c7 04 25 00 00 00 00 2d 02 00 00 e8 53 9b 34 fc 48 8d 05 03 da 7a 01 48 8b 0d 95 5a 84 03 48 89 01 <c7> 04 25 00 00 00 00 df 09 00 00 e8 32 9b 34 fc 66 2e 0f 1f 84 00



Дебаггером поймать не удаётся.
С чистым профилем — тоже безрезультатно.

Firefox ESR работает, но там другая проблема (отключение аппаратного ускорения не помогает)

Куда копать?

 ,

annerleen ()

Увольняюсь из systemd хейтеров

Форум — Talks

Привет, ЛОР!
Решил тут уволиться из systemd-хейтеров.

Предыстория.

Поднимали мы тут инстанс btcpay, соответственно, нужно было позаботиться о том, чтобы демоны btcpayserver с его прислужниками, а так же bitcoind, litecoind постоянно были запущены, не падали и перезапускались если вдруг что.

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

Ну, и поехали, минута в гугле и был написан следущий юнитскрипт:

[Unit]
Description=btcpay
After=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=3
User=btcpay
Group=btcpay
WorkingDirectory=/var/btcpay/btcpayserver-1.0.3.36
ExecStart=/var/btcpay/btcpayserver-1.0.3.36/run.sh --chains btc,ltc --externalurl https://btcpay.ourdomain.name

[Install]
WantedBy=multi-user.target


И ещё один --

[Unit]
Description=bitcoind
After=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=3
User=btcpay
Group=btcpay
ExecStart=/var/btcpay/bitcoin/bitcoin-0.17.0/bin/bitcoind

[Install]
WantedBy=multi-user.target


 # systemctl enable bitcoind && systemctl enable btcpay && reboot


Выкуриваем сигаретку, пинаем сервер — опа!
Всё поднялось и работает. Если что упадёт — перезапускает.
Логи показывает по $ journalctl -u bitcoind.
Ну что ещё нужно для счастья на сервере?

#вся_суть_systemd_хейтеров

_____________________________________________________________

А вот за то, что его прибивают гвоздями к десктопному линуксу и без него, например, не работает networkmanager — это всё ещё крайне и крайне печально.

 

annerleen ()

RSS подписка на новые темы