LINUX.ORG.RU

Сообщения PPP328

 

Нормальный клиент GDrive

Форум — Desktop

Какой есть автоматический клиент для GDrive?

Нужно:
* Автоматическая синхронизация каталога в фоне с оперативным обновлением.
* Клиент под ubuntu 16.04 и Win XP/7.
* GUI не нужен, просто чтобы не нужно было в консоли руками каждый файл синкать.

Нужен главным образом с телефона фотки синкать.

P.S. Поиски связаны с этими криворукими обезьянами: https://i.postimg.cc/yddvnM7G/2018-11-07-10-39-44.png чего они ожидают? Что я систему нафиг снесу чтобы диск отформатировать? Или что буду перекидывать файлы между дуалбутом через интернет (сейчас ext3 linux, ntfs 50 gb buffer [dropbox], ntfs 100 gb windows xp)?

 ,

PPP328
()

Зачем закапывают почту? Ненависти псто.

Форум — Talks

Ненависти пост.

Сидел, никого не трогал. Вдруг заметил, что у меня при старте thunderbird не свернулся в трей. Дратути. Полез смотреть - эта **** сама обновилась (дело под ubuntu, т.е. обновилась в обход пакетного менеджера, в настройках отключить эту срань нельзя), из-за чего слетела половина аддонов - minimizeToTray и FireTray.

Отлично, теперь нет: сворачивания в трей, чтобы не висеть на панели и в alt+tab, теперь нет иконки количества непрочитанных в трее. Кто вообще этих маркетологических ****сов на это подговорил?

Думаю, все, последняя капля, пошло оно все куда подальше, поставлю другой клиент. Сходу нашел статью https://itsfoss.com/best-email-clients-linux/ , итак:

1. Mailspring (Previously known as Nylas Mail)

Без денег порезано вхлам. Требует создания Mailspring ID и постоянно шлет телеметрию куда ты кликаешь. Стоит 560 рублей в месяц. Я за интернет меньше плачу. В мусорку.

2. Hiri

Работает только под M$ серверами, нормальные почтовые сервисы идут лесом.

3. Thunderbird

Поехало куда-то не туда, не влить в основной клиент такую важную фичу как показ количества непрочитанных - ****!

4. Evolution

Некоторое время пользовался, потом ушел. Лучше всего мои эмоции описывает эта цитата с реддита:

I started using Evolution as my primary email client in the early 2000s, but stopped a few years ago. The last thing I want to do is spread FUD about a FOSS project, so please take what I wrote below with a grain of salt, since I don't know if things have gotten better recently.
It was not just that it was ugly, slow, buggy, and not nearly as usable as a modern webmail interface (or even Thunderbird). I also had problems with data loss, specifically with message metadata and message contents sometimes being seemingly randomized from time to time. So I'd click on a real email from a real contact and see spam, and vice versa - except when my spam filter automatically deleted my «spam» which actually contained my real messages! That was the last straw for me.
...
I don't know which distro you were using, but Ubuntu was shipping a more than 2 year out of date version for several releases. Because Ubuntu.

5. KMail

При попытке установить тянет в систему почти весь KDE начиная от akonadi-server и кончая редактором тем. На системах отличных от KDE-based пользоваться нереально, он все равно будет выглядеть как говно не подцепляя системную тему.

6. Geary

Not running GNOME 3?
Geary is designed for the GNOME 3 desktop, and as such depends on a number of standard desktop services provided by GNOME by default. While it is possible to run Geary under other desktop environments such as KDE, XFCE, Mate, and so on, you may need to ensure that the services Geary depends on are installed and correctly configured for your desktop yourself.

Nuff said, никаких уведомлений, сворачиваний и корректной работы без тонны гомосервисов.

7. Sylpheed

Поставил. Продолбался два часа, с gmail связать не смог даже с учетом генерации одноразовых паролей. Тупо не сканирует ящик не выводит сообщения об ошибках или успехах. В топку.
P.S. Скорее всего мейнтенеры бубунты наркоманы, при установке:

Предлагаемые пакеты:
  jpilot pilot-link kpilot gnome-pilot evolution claws-mail sylpheed-doc
  claws-mail-tools bogofilter bsfilter

8. Claws Mail

Поставил. Пара ящиков зашла, а рабочая почта не работает - потому что claws «не соответствует стандартам безопасности». Поэтому google без всяких альтернатив блокирует доступ этого приложения в почту.

9. Mutt

Для консолезадротов. Половина современных писем там не отображаются, потому что используют html.

Такие дела, пользоваться нечем.

 ,

PPP328
()

Простейшая функция для теста: приватный и паблик ключи

Форум — Development

Привет!

Нужна простейшая функция для генерации\шифровки\дешифровки с помощью пары приватный ключ\паблик ключ. Нужно проверить один прототип, и очень не хочется долбаться с подключением библиотеки крипто и проч. Хотелось бы что-то что можно самостоятельно закодить в 20 строк каждую.

Кто может подсказать? Заранее спасибо!

 ,

PPP328
()

Заговор молчания о HTTP2

Форум — Talks

В свое время было столько ора о том что HTTP2 спасет мир, что везде будет счастье, что не будет больше хаков с spritemap, что сайты будут грузиться на 80% быстрее, что волосы будут мягкими и шелковистыми и х будет снова стоять.

Прошло 4 года...

И где это все? Когда-то отчитывались, что 70% сайтов поддержвают HTTP2 и хром с лисой сами делают upgrade. Даже SPDY от радости прикопали и обоссали.

 

PPP328
()

Горение от libc в Minix

Форум — Development

Код:

#define TEST_SPEED_FABS_LOOPS  ((U32_MAX >> 3) + bxi_randu8())

static void check_fabs_speed(void)
{
    u32 i;
    f64 iterator = 1.1;
    f64 value    = 0.0;
    f64 sum_org   = 0;
    f64 sum_new   = 0;
    u32 loops = TEST_SPEED_FABS_LOOPS;

    test_time_start();
    {
        for (i = 0; i < loops; i++)
        {
            iterator *= -1.5;
            value    += iterator;
            sum_org  += fabs(value - 50.0);
            if (value > 1e8)
                value = 0.0;
            if (iterator > 1e8)
                iterator = 1.1;
        }
    }
    test_time_finish();
    test_time_print("fabs");

    iterator = 1.1;
    value    = 0.0;
    test_time_start();
    {
        for (i = 0; i < loops; i++)
        {
            iterator *= -1.5;
            value    += iterator;
            sum_new  += bxi_fabs(value - 50.0);
            if (value > 1e8)
                value = 0.0;
            if (iterator > 1e8)
                iterator = 1.1;
        }
    }
    test_time_finish();
    test_time_print("bxi_fabs");

    printf("%f\n%f\n", sum_org, sum_new);

    if (sum_org != sum_new)
        test_failed();
}
+ rand добавлен для того, чтобы компилятор это не свернул в `mov eax 24355184302566256`.

Суть кода - проверяет скорость и точность самописного fabs. Два блока кода почти идентичны, за исключением имени функции. Запускаем на Ubuntu 16.04, libc-2.23, x86_64:

24355184302566256.000000
24355184302566256.000000
То есть функция работает точно, различия только в скорости. Теперь переносим это на машину с Minix, libc-12-187, x86:
24355184305680488.000000
24355184302566256.000000
А теперь собственно, вопрос - А КАКОГО ФИГА? Первое число - сумма вычисленная системным fabs. Самописный посчитал одинаково на обоих платформах. Что там можно было сделать не так? Там нет математических вычислений, fabs(x) = |x|! Там 2 условия должно быть:
if (isnan(x)) return -x; 
return x > 0 ? x : -x;

В общем у меня подгорает - автоматические тесты фейлятся, система говорит что я дурак, а баг на самом деле в разработчиках Minix.

Что делать? Как это решить? Почему разный результат?

 , ,

PPP328
()

GCC пищит или sizeof(u32) != 4

Форум — Development

Сабж

/* DISCLAIMER:
 *     I'm aware of "magic constants" in this file, 
 *     but they stay here because of strange gcc behaviour:
 *
 *     return val >> n | val << (32 - n);
 *
 *     unrolls to
 *
 *     mov     eax, DWORD PTR [rbp-8]
 *     mov     edx, DWORD PTR [rbp-4]
 *     mov     ecx, eax
 *     ror     edx, cl                 ← fast ror here
 *     mov     eax, edx
 *
 *     (x86-64 gcc 5.3, -O0),
 *
 *     but
 *
 *     return val >> n | val << (sizeof(val) * 8 - n);
 *
 *     unrolls to
 *
 *     mov     eax, DWORD PTR [rbp-8] ─┐
 *     mov     edx, DWORD PTR [rbp-4]  │
 *     mov     esi, edx                │
 *     mov     ecx, eax                │
 *     shr     esi, cl                 │
 *     mov     eax, 32                 ├─ no ror
 *     sub     eax, DWORD PTR [rbp-8]  │
 *     mov     edx, DWORD PTR [rbp-4]  │
 *     mov     ecx, eax                │
 *     sal     edx, cl                 │
 *     mov     eax, edx                │
 *     or      eax, esi               ─┘
 */

Пруф: https://godbolt.org/g/rMdXMF

Да, на -O0, но очень часто приходится собирать в debug для прод-узлов, а там -O0. SHA1 сильно базируется на rol, для отладки нужна дебажная инфа, файлы чекаются по 200+ ГБ, тут каждая секунда уже помогает.

 , ,

PPP328
()

libssl/crypto валится с сегфолтом

Форум — Development

Есть такой код:

RError RDeviceSSLCreate(RDevice device)
{
    u32 portindex = 0;

    while (warehouse.devices.data[device].port[portindex])
    {
        warehouse.devices.data[device].ssl[portindex] =
            SSL_new(warehouse.devices.data[device].ctx);
        if (!warehouse.devices.data[device].ssl[portindex])
        {
            ERR_print_errors_fp(stdout);
            return R_ERROR_BADSSL;
        }

        if (!SSL_set_fd(warehouse.devices.data[device].ssl[portindex], warehouse.devices.data[device].socket[portindex]))
        {
            ERR_print_errors_fp(stdout);
            return R_ERROR_BADSSL;
        }

        if (SSL_connect(warehouse.devices.data[device].ssl[portindex]) == -1)
        {
            ERR_print_errors_fp(stdout);
            return R_ERROR_BADSSL;
        }

        portindex++;
    }
    return R_ERROR_SUCCESS;
}

Все стадии кроме последней идут успешно. Вываливается не всегда, а в 1-0.5% случаев. Обычно когда переподключение приходится делать несколько раз (устройство режектит или проблемы связи). Успешно проходит через все стадии и валится на SSL_connect. Примерно так:

#2  0xb727bba0 in ?? () from /lib/libcrypto.so.0
#3  0xb727bc4a in ?? () from /lib/libcrypto.so.0
#4  0xb727c32c in ERR_get_state () from /lib/libcrypto.so.0
#5  0xb727ae91 in ERR_clear_error () from /lib/libcrypto.so.0
#6  0xb7339091 in ssl23_connect () from /lib/libssl.so.0
#7  0xb7348dea in SSL_connect () from /lib/libssl.so.0
#8  0xb7535cd9 in RDeviceSSLCreate (device=5)
    at ./code/libratatoskr/devices/devices.c:255

Иногда сваливается на отправке:

Program terminated with signal 11, Segmentation fault.
#0  0xb734576c in ssl3_write () from /lib/libssl.so.0
#0  0xb734576c in ssl3_write () from /lib/libssl.so.0
#1  0xb735afa2 in SSL_write () from /lib/libssl.so.0
#2  0xb754cc78 in sendall (index=1, bytes=..., portindex=0)
    at ./code/libratatoskr/definitions/serials.c:114

Может надо что-то еще проверять? Нагуглить удалось только один подобный случай (код матч 99%), но там не сегфолт, а просто без ошибки выходило - оказалось что у него был неблокирующий сокет (у нас блокирующий) и просто не успевало подключиться.

 , ,

PPP328
()

inkscape, trace bitmap зеленые ободки

Форум — General

Пытаюсь затрейсить изображение, ставлю по цвету, 256 слоев, ставлю все галки типа «оптимизировать», «убрать фон» и пр, жму «ок», жду 15 минут и получаю зеленые ободки вокруг каждой группы. При экспорте в png сохраняются, так что дело не в баге отрисовки, оно реально делает группу слоев с border color = green.

До: https://pp.userapi.com/c847020/v847020746/4312c/pbbNH18EWso.jpg
После: https://pp.userapi.com/c847020/v847020746/43122/l4w_bE9HDsY.jpg

Пробовал играться с галками, время обработки растет, зеленые границы не уходят.

 ,

PPP328
()

Повторить объединенные запросы для каждой строки

Форум — Development

Дело происходит в LibreOfficeBase (HSQLDB), так как эта зараза не умеет в умную группировку с сабсуммами в отчетах, приходится делать SQL-view с этой самой группировкой.

Вот я написал блок группы:

SELECT 'Категория'        as "col1", 
       ' '                as "col2",
       "Категории"."name" as "col3"
  FROM "Категории"
 WHERE "Категории"."key" = 2

UNION ALL

SELECT "Расходы"."date" as "col1",
       "Расходы"."sum"  as "col2",
       "Расходы"."name" as "col3"
  FROM "Расходы"
 WHERE DATEDIFF( 'day', "Расходы"."date", CURRENT_DATE ) < 30
   AND "Расходы"."category" = 2

UNION ALL

SELECT ' '                  as "col1",
       sum("Расходы"."sum") as "col2",
       'Сумма'              as "col3"
  FROM "Расходы"
 WHERE DATEDIFF( 'day', "Расходы"."date", CURRENT_DATE ) < 30
   AND "Расходы"."category" = 2
GROUP BY
    "Расходы"."category"

UNION ALL

SELECT ' ' as "col1",
       ' ' as "col2",
       ' ' as "col3"
  FROM "DUAL"

Теперь мне надо повторить этот блок для каждой строки таблицы «Категории» (поля key и name), заменяя 2 на «Расходы».«key».

Я пробовал сделать `select * from ( ... = B2.key ) as B1, Расходы as B2`, но ругаемси на то что B2.key не существует.

 ,

PPP328
()

Неиспользуемые функции в си-проекте

Форум — Development

Есть какая-нибудь тулза чтобы показать что ххх() не используется в проекте?

Уточнение - проект с кастомными скриптами сборки, около 100 файлов.

 ,

PPP328
()

Какой же отвратительный этот ваш Libre Office Base

Форум — Development

Про то, что он лагает я молчу.
Про то, что у него миллионы багов отрисовки я молчу. https://s13.postimg.org/ayam1xt6f/2018-03-19_16-14-03.png
Про то, что он может вылететь при создании отчета из трех строк я тоже молчу

Но блин, когда он select union select не считает запросом селект это как? При этом в «Сервис -> Выполнить SQL» ВНЕЗАПНО это хороший запрос, а как VIEW это плохой запрос. Как тогда в этом кривом барахле делать отчет с полем «общая сумма»?

https://s13.postimg.org/6nvy6bt87/2018-03-19_16-02-54.png
https://s13.postimg.org/zdiu2z4xz/2018-03-19_16-06-37.png

Притом если вместо 0 ставить просто пустые строки (", ", "), чтобы не сильно похабить отчет - то, парам-пам-пам, выскакивает вообще java exception по поводу кривой конвертации.

SELECT "A"."amount" 
            + IFNULL( ( SELECT COALESCE ( SUM( "I2"."sum" ), 0 ) FROM "Доходы"  AS "I2" WHERE "I2"."active" = "A"."key" GROUP BY "I2"."active" ), 0 ) 
            - IFNULL( ( SELECT COALESCE ( SUM( "I3"."sum" ), 0 ) FROM "Расходы" AS "I3" WHERE "I3"."active" = "A"."key" GROUP BY "I3"."active" ), 0 ) AS "result", 
       "A"."name" AS "name", 
       "V"."short" AS "cur",
       ("A"."amount" 
            + IFNULL( ( SELECT COALESCE ( SUM( "I2"."sum" ), 0 ) FROM "Доходы"  AS "I2" WHERE "I2"."active" = "A"."key" GROUP BY "I2"."active" ), 0 ) 
            - IFNULL( ( SELECT COALESCE ( SUM( "I3"."sum" ), 0 ) FROM "Расходы" AS "I3" WHERE "I3"."active" = "A"."key" GROUP BY "I3"."active" ), 0 )) * "V"."rate" AS "in_rub"
FROM "Активы" AS "A", 
     "Валюты" AS "V" 
WHERE "A"."currency" = "V"."key"

UNION ALL

SELECT  '0' AS "result", 
        '0' AS "name", 
        '0' AS "cur",
        SUM(("A"."amount" 
            + IFNULL( ( SELECT COALESCE ( SUM( "I2"."sum" ), 0 ) FROM "Доходы"  AS "I2" WHERE "I2"."active" = "A"."key" GROUP BY "I2"."active" ), 0 ) 
            - IFNULL( ( SELECT COALESCE ( SUM( "I3"."sum" ), 0 ) FROM "Расходы" AS "I3" WHERE "I3"."active" = "A"."key" GROUP BY "I3"."active" ), 0 )) * "V"."rate") AS "in_rub"
  FROM "Активы" AS "A", 
       "Валюты" AS "V" 
WHERE "A"."currency" = "V"."key"

Вопросы: фиксится ли его кривизна отрисовки?
Как нормальные люди делают строчку total?

 

PPP328
()

Я не так готовлю libreoffice base?

Форум — Desktop

Есть таблица «активы», есть таблица «доходы». Связка `[actives.id (1) -> (n) incomes.active]`. Когда пару лет назад делал себе базу учета, то текущее значение суммы актива вычислялось как начальное + sum(select value from incomes). Вопрос: так и надо делать, или есть способ модифицировать значение incomes.value, чтобы запрос на текущее состояние счета не требовал сложения 2000 столбцов?

 

PPP328
()

Авторизация клиент-клиент

Форум — Development

Пишу тут как хобби мессенджер с end-point шифрованием и возможностью защищенной работы при захвате сервера.

Хочу реализовать следующие фичи:
* Отсутствие базы на сервере
* Как следствие - отсутствие авторизации на сервере
* Передача public ключа между пользователями физически («на флешках»), чтобы избежать его палева по сети.

Пока уперся в следующую проблему:
Алиса хочет послать сообщение Бобу.
Алиса шифрует сообщение своим приватным и публичным Боба
Алиса шлет сообщение на сервер с пометкой «Бобу»
Сервер видит, что у него залогинено три Боба.

Дальше два варианта развития событий:
1. Сервер шлет сообщение Алисы всем Бобам, ведь все равно расшифровать его сможет только тот, кому адресовано.
2. Сервер запрашивает у Бобов образец сообщения (например текущее время, шифрованное с публичным ключом Алисы), потом шлет все эти сообщения Алисе и после того как Алиса скажет кто из них кто отсылает сообщение нужному Бобу.

Первой вариант - плохо, потому что требует выслать всем Бобам «лишние» сообщения. Если их 100, то они будут получать непрерывный поток хлама, адресованный не им.
Второй вариант - плохо, потому что если Бобов 100, то это займет очень много времени.

Как такую задачу уже решили? Хочу авторизацию через клиентов и чтобы на сервере не было публичных ключей пользователей.

 , ,

PPP328
()

Астра Линукс оказался не готов

Форум — Talks

https://geektimes.ru/post/297819/

Управление делами президента (УДП) РФ не сумело в срок выполнить заявленные показатели по импортозамещению и перейти с американской ОС Windows на российскую Astra Linux. Согласно графику, в 2017 году доля использования отечественной ОС Astra Linux Special Edition производства НПО «РусБИТех» должна была составить 10%, а по факту составила 0%.

Согласно опубликованному на сайте УДП плану-графику перехода на использование отечественного офисного ПО в 2017–2020 годах, импортозамещение текстовых редакторов и коммуникационного ПО также составляет 0%. Доля отечественных почтовых приложений пока тоже 0%.

Причиной невыполнения плана в УПД назвали недостаточную готовность Astra Linux. Тестирование продуктов показало преждевременность их внедрения. Разработчикам этой ОС поручили «доработать дистрибутив и код программного обеспечения».

А нефиг потому что было GPL нарушать!

 ,

PPP328
()

Подскажите, где можно надыбать бесплатный слабый сервер

Форум — Talks

Нужен чтобы поднять там 24\7 приложение в 5-10 мб объемом. Трафик 5-20 МБ в сутки.

Перемещено tailgunner из development

 

PPP328
()

Не выключается 16.04

Форум — General

https://s13.postimg.org/61dmbb4on/2018-01-15_22.45.06.jpg

На вот этой надписи может всю ночь провисеть. На CTRL+ALT+DELETE реагирует ребутом как и положено.

 , ,

PPP328
()

После обновления начал щелкать звук перед его активацией

Форум — Desktop

Щелкает (и очень громко) даже если просто листать 9gag с выключенным звуком, где все ролики по умолчанию в mute. Щелкает не только встроенными колонками, но и в наушниках, если они вставлены.

Началось после недавнего обновления на Ubuntu 16.04

 , ,

PPP328
()

Max частота на AC

Форум — General

Чет не нашел я как в бубунте (16.04) искаропки сделать чтобы при подключении адаптера питания сразу стало MAX частота процессора, а при вытыкании снова powersafe?

 ,

PPP328
()

Программно залипают клавиши

Форум — Desktop

На xU16.04 (lenovo thinkpad L560) наблюдаю следующую проблему - периодически (раз-два в неделю) залипает клавиша на клавиатуре - обычно либо влево, либо пробел, либо backspace либо ctrl. В связи с этим только одно решение - ребут, ибо на сочетания клавиш из-за залипания не реагирует (даже в tty не перейти). После ребута все ок, так что подозреваю софтовую проблему. В /var/log/syslog ничего подозрительного.

Зависает обычно в starbound (влево) или в QtCreator (пробел\ctrl). Иногда (редко) решает так - включением и отключением режима FnLk. В wow не залипало никогда, так что подозреваю что дело в одновременном нажатии какого-то ряда клавиш.

При залипании функциональные клавиши продолжают работать (Fn+F2 - звук тише и проч).

Как отладить и решить? Может это вообще какой-то режим типа виндового shiftx5 включается?

dmesg забит

[ 2372.596719] ACPI: \_SB_.PCI0.LPCB.EC0_.ECRD: 1 arguments were passed to a non-method ACPI object (RegionField) (20150930/nsarguments-230)
[ 2382.604509] ACPI: \_SB_.PCI0.LPCB.EC0_.ECRD: 1 arguments were passed to a non-method ACPI object (RegionField) (20150930/nsarguments-230)
[ 2382.604557] ACPI: \_SB_.PCI0.LPCB.EC0_.ECRD: 1 arguments were passed to a non-method ACPI object (RegionField) (20150930/nsarguments-230)
, когда-то пытался решить, но неосилил после исправления этого косяка исправить еще 200+ ошибок компиляции.

 , ,

PPP328
()

Как разрешить круговую зависимость структур?

Форум — Development
typedef void (* B)(C *);

typedef struct
{
    [..]

    B b;
} A;

typedef struct
{
    [..]

    A * a;
} C;

Уже битый час бьюсь, не могу понять, можно ли решить это нормальным способом. В C всего лишь указатель на A, поэтому скорее всего можно как-то задекларить.

 

PPP328
()

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