LINUX.ORG.RU

Сообщения annerleen

 

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

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

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

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

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

 

annerleen ()

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

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

Есть замечательный 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 ()

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

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

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

Задача:

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

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

 

annerleen ()

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

Привет, ЛОР.

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

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

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

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

 

annerleen ()

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

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

Скачивал бинарную сборку с офф.сайта, 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 хейтеров

Привет, ЛОР!
Решил тут уволиться из 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 ()

NFC Field и считывание координат

Добрый вечер, ЛОР!

Дано: 60 уникальных «меток», есть «поле» размером, допустим, 1х1 метр, эти метки распределены по полю.
Задача: детектить, когда и откуда метку убрали и положили.

Первое на ум пришло NFC, верно ли?
Есть ли какой-то способ одним NFC-ридером определить «координаты» (относительно него, например) убранной/поставленной метки?

Решение с 60 NFC-ридерами кажется каким-то оверкиллом.
Не обязательно это должно быть NFC, может, есть что-то другое?

Пните в нужном направлении, пожалуйста.
Заранее спасибо!

 

annerleen ()

ООП в Python

Добрый день, ЛОР.
Учусь ООП (точнее, его подобию) в Питуне.

Сходу вопрос: как можно разбить класс на несколько файлов?
Очевидное наследование, однако голова кипит и пока не могу сообразить, как и куда его пихать.

Допустим, есть класс, в нём есть метод logger(), который формирует и возвращает лог-строку с полезной информацией:

class BotInstance:

    chat_id = None
    users = []
    bot_debug = False

    def logger(self, message = ''):
        info = "[Chat {0}] [{1} users]".format(self.chat_id, len(self.users))
        return info + message


Как правильнее всего вынести эту функцию в отдельный файл?

 

annerleen ()

Выключить sleep mode при подключении bluetooth гарнитуры

Сабж.
Чем такое можно реализовать на андроиде?

Спасибо заранее.

 

annerleen ()

Избежать кучи таблиц в Postgres'е

Привет, ЛОР.
Вопрос такой: есть сервис, есть его БД в постгресе, у этого сервиса, допустим, 1000 пользователей.

Для каждого пользователя имеется возможность создания таблички кастомной обработки правил (пусть это будут правила совершения вызовов на телефон пользователя), так вот, вопрос — как правильнее всего поступить?


1 вариант — табличка обработки вызовов для всех общая;

table_rules
---------------------------------
owner | phone | ruleid | ...


И к каждому правилу мы приписываем owner и phone, что, как мне кажется, не есть правильно.

2 вариант — табличка под каждый номер телефона:

table_12000000001_rules
---------------------------------
ruleid | ...


Но тогда в «корне» БД будут сотни, тысячи таких таблиц, что тоже, наверное, не есть хорошо.

Может, есть ещё какие-то варианты?
Как это грамотнее реализовать в postgresql?

 

annerleen ()

Настройка IPv6 DHCP

Добрый вечер, ЛОР.
Хочу поддаться веяниям моды и настроить себе IPv6.

Провайдер сию возможность даёт.
Интернеты по VDSL, модем Zyxel VMG1312-B10D в режиме бриджа.

При попытке запустить dhclient -v -6:

root@lightbringer ~ # dhclient -v -6 world0
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on Socket/world0
Sending on   Socket/world0
PRC: Soliciting for leases (INIT).
XMT: Forming Solicit, 0 ms elapsed.
XMT:  X-- IA_NA "\d<Y"
XMT:  | X-- Request renew in  +3600
XMT:  | X-- Request rebind in +5400
XMT: Solicit on world0, interval 1010ms.
RCV: Advertise message on world0 from fe80::200:5eff:fe00:1.
RCV:  X-- IA_NA "\d<Y"
RCV:  | X-- starts 1540999784
RCV:  | X-- t1 - renew  +0
RCV:  | X-- t2 - rebind +0
RCV:  | X-- [Options]
RCV:  | !-- Status code of no addrs, IA_NA discarded.
RCV:  X-- Server ID: 00:03:00:01:84:26:2b:61:31:71
PRC: Lease failed to satisfy.
XMT: Forming Solicit, 1010 ms elapsed.


Если мопед перевести в режим Routing, то он получает адрес и каким-то образом работает.

Шо это може быть?

 

annerleen ()

new macbook air

Ну чё пацаны, анонсировали новый Макпук Air :)

- Два USB-C порта, ни одного USB 3.0 Type-A порта
- 13.3" 2560 х 1600
- Впаянные SSD, RAM
- i5 8200Y
- ДО 12 часов автономной работы

*(!*№«ец... И это же покупать будут! За $1200 в базовой комплектации, и это в США!

Лет 5 назад восхищался высокотехнологичными, удобными прошками с отличными показателями автономности, а теперь что?
Эх, Стиви перевернулся в могиле раз девять вокруг своей оси от анонса.

___________________________________________________________________

P.S. этот псто написан с Thinkpad T480 с i7 8550U, 16G RAM, 512 NVMe SSD, 14" 2560x1440, NVidia MX150, который обеспечивает около 30 часов автономной работы, всё это ценой в €1600.
У меня всё.

 ,

annerleen ()

NVidia Optimus / Primus / Vulkan

Привет, ЛОР!
Если ты не в курсе, то на онтопике в лэптопах в конфигурациях с двумя видеокартами (Intel+Nvidia) при использовании нормальных проприетарных драйверов и bumblebee/optirun — не работает Vulkan: https://github.com/Bumblebee-Project/Bumblebee/issues/769

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

Сабж: https://github.com/felixdoerre/primus_vk

Я скомпилировал, протестировал — действительно работает, однако, FPS в несколько раз ниже как в тестах, так и в игрульках.

Просьба счастливых обладателей ноутбуков с оптимусом скомпилять и проверить у себя (хотя бы в том же vulkan-smoketest) — сколько сантиметров выдаёт по сравнению с Интелем

Мои результаты:

Intel = 210 FPS
Nvidia + primus_vk = 40 FPS
Nvidia + nvidia-xrun (отдельный X-сервер) = 560 FPS

Особенно приветствуются пользователи рачика, у которых свежие драйвера/вулканы/пуканы, потому что в моём тухлодебиане всё протухло ещё до того, как успело релизнуться.

 , , , ,

annerleen ()

XMPP научился в синхронизацию между девайсами?

Я тут НЕОЖИДАННО обнаружил, что история между девайсами — ПК (Gajim) и смартфоном (Conversations) синхронизируется.

Сама. Из коробки.

Тут, вроде бы, Jabber говном поливали за то, что он-де этого не умеет, а вот эти ваши VK/Telegram'ы — умеют.


Единственное «но» — не синхронизируются чаты с OTR-шифрованием.
Ну и не надо.

 

annerleen ()

Шифрованный раздел после hard reboot

Дратути.

После внезапного ребута сервера куда-то делся шифрованный раздел.
Он был в RAID1 дисков sda3 и sdb3.

В гугле ситуации «luks after hard reboot» ещё не было, поэтому пишу вам, может, кто знает.

edx-ng ~ # cryptsetup luksDump /dev/md3
Device /dev/md3 is not a valid LUKS device.


/dev/md3:
        Version : 0.90
  Creation Time : Tue Nov  1 12:10:46 2016
     Raid Level : raid1
     Array Size : 1932506048 (1842.98 GiB 1978.89 GB)
  Used Dev Size : 1932506048 (1842.98 GiB 1978.89 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 3
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Mon Apr 23 08:54:45 2018
          State : active 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : 87979b7a:0bb9b950:a4d2adc2:26fd5302
         Events : 0.44028

    Number   Major   Minor   RaidDevice State
       0       8        3        0      active sync   /dev/sda3
       1       8       19        1      active sync   /dev/sdb3


# hexdump -C -n 2048 /dev/md3

http://paste.org.ru/?tvwz0j


______________________________

По отдельности, без рейда, диски, соответственно, тоже не монтируются.
Что это может быть и есть ли варианты оживить его?
Может, я что-то не так понимаю? Как мог raid1 с luks рассыпаться от хард ребута?

 ,

annerleen ()

Пускать клиентов роутера через другой default route

Дано:

- Роутер —

  world0: Интерфейс для связи с внешним миром
  {eth0,wlan0,ath0} объединены в br0: Локальная сеть
  tun0: OpenVPN-клиент
  

Нужно, чтобы сам роутер ходил в интернет через world0, а клиенты, которые подключены к нему — через VPN (tun0).

Как такое сделать?
Как гуглить такое — без понятия:)

 

annerleen ()

debian stretch без systemd

Q: Как выпилить systemd из Debian Stretch (stable), но чтобы графические утилиты вроде логаута (xfce4-session-logout) и network-manager работали?

A:

1) /etc/apt/preferences:

Package: *dbus* *polkit* *policykit* *consolekit* *libck* *disks* *libnm* *network-manager* *init* *syslog* *xfce* *mount* *blk* *fdisk* *procps* *uuid* *linux* *dbus*:i386 *polkit*:i386 *policykit*:i386 *consolekit*:i386 *libck*:i386 *disks*:i386 *libnm*:i386 *network-manager*:i386 *init*:i386 *syslog*:i386 *xfce*:i386 *mount*:i386 *blk*:i386 *fdisk*:i386 *procps*:i386 *uuid*:i386 *linux*:i386  
Pin: release o=Devuan,a=ascii
Pin-Priority: 1000

Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 900

2) /etc/apt/sources.list.d/00devuan

deb     http://auto.mirror.devuan.org/devuan ascii main
deb-src http://auto.mirror.devuan.org/devuan ascii main
deb     http://auto.mirror.devuan.org/devuan ascii-updates main
deb-src http://auto.mirror.devuan.org/devuan ascii-updates main
deb     http://auto.mirror.devuan.org/devuan ascii-proposed-updates main
deb-src http://auto.mirror.devuan.org/devuan ascii-proposed-updates main
deb     http://auto.mirror.devuan.org/devuan ascii-security main
deb-src http://auto.mirror.devuan.org/devuan ascii-security main

3) apt-get update && apt-key adv --keyserver keyserver.ubuntu.com --recv 94532124541922FB && apt-get update && apt-get install sysvinit sysvinit-core && apt-get dist-upgrade

4) Перезагружаемся, убеждаемся в работоспособности без systemd и можем смело делать apt-get purge systemd

_______________________________________________________

За работоспособность не отвечаю, но УМВР.
Из минусов: ниасилил, как настроить apt-pinning для мультилиба, поэтому если у вас мультилиб и стоят i386-пакеты, скорее всего, они снесутся.

Если расскажете, как пофиксить — буду благодарен.


UPD: исправлено.
_______________________________________________________

P.S. во избежание взаимного перекидывания говнецом: тема про как выпилить, а не про зачем выпилить

 

annerleen ()

Удаление аккаунта со всеми сообщениями

Возможно ли?
(В целях приватности.)

/cast maxcom

В выдаче Google находится то, что не должно находиться.
Да, это очень критично.

Заранее спасибо.

 

annerleen ()

Регэксп для замены секции *.ini

Добрый вечер, ЛОР!
Есть следущий *ini-файл:

[sectionA]
key=value

[sectionB]
key=value

[sectionC]
key=value

Нужно безопасно, из shell-скрипта (накостылить скрипт на питуне, который считывает файл в память и там разбирается с секциями — не вариант) заменить все данные в нужной секции.

Что-то похожее на работающий вариант:

perl -i -pe "s/\[sectionA\].*\[/\[sectionA\]\nOUR_CUSTOM_DATA\n\[/s"  

Однако, если мы таким образом попытаемся изменить данные в секции A — секция B исчезнет вникуда (логично, потому что перл будет искать до последнего [, котоырый у нас в секции С, и только потом уже реплейсить — оно и понятно, что B затрётся к чертям)

Выручай, ЛОР!

 ,

annerleen ()

OVH лежит

Уже часа джва.
Глобально и надёжно!

 

annerleen ()

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