LINUX.ORG.RU

Сообщения Rot1

 

Защита от SYN флуда в микротике

Форум — Admin

На вики микротика рекомендуют так:

add chain=forward protocol=tcp tcp-flags=syn connection-state=new action=jump jump-target=SYN-Protect
add chain=SYN-Protect protocol=tcp tcp-flags=syn limit=400,5 connection-state=new action=return
add chain=SYN-Protect protocol=tcp tcp-flags=syn connection-state=new action=drop

Разве так не правильней будет?

add chain=input protocol=tcp tcp-flags=syn action=jump jump-target=SYN-Protect
add chain=forward protocol=tcp tcp-flags=syn action=jump jump-target=SYN-Protect
add chain=SYN-Protect limit=400,5 action=return
add chain=SYN-Protect action=drop

И еще пара вопросов.

В данном случае лимит срабатывает, если частота пакетов не превышает 400 в секунду? Это не слишком высокая планка? Может лучше написать что-то вроде 100/min?

connection-limit=100,32 срабатывает, когда источник установил 100 соединений или всего установлено 100 соединений?

 , , , ,

Rot1
()

Обучаемая NER модель для русских

Форум — Development

Доброго времени суток. Нужно получить определенные сущности из текста на русском. Какую библиотеку посоветуете? Помимо стандартных сущностей вроде имени есть и специфические, поэтому нужна возможность обучить модель. Можно предлагать варианты, где обучение требуется с нуля. Знаком с несколькими библиотеками для решения этой задачи, но не могу определиться, какая будет наиболее подходящей. Не хочется тащить в проект монстра, от которого я буду использовать лишь сотую часть.

 , , , ,

Rot1
()

SVG анимация в Qt

Форум — Development

Почему анимации нет? Я делаю что-то не так? SVG на CSS

QSvgWidget *wgtSvg = new QSvgWidget(":/example.svg");
connect(wgtSvg->renderer(), SIGNAL(repaintNeeded()), wgtSvg, SLOT(repaint()));

Qt 5.12.3, Arch, Sway, qt5-svg стоит

 ,

Rot1
()

Кривой libreoffice или ...

Форум — Desktop

Это норма?

https://ibb.co/257Cskp

ПС. Юзаю arc theme и sway

 , , ,

Rot1
()

Книга по матану

Форум — General

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

 , , , ,

Rot1
()

Очередной тред про ноутбуки для GNU/Linux

Форум — Linux-hardware

Здравствуйте, товарищи. Хочу взять новый ноутбук, такой чтобы ssd, ips, 15" и amd (процессор можно intel). И чтобы не древний, бюджет до 80к. Искал с предустановленной GNU, чтобы проблем не было с поддержкой железа - не нашел. Правда на один внимание обратил - dell inspiron 5570. Но его сильно критикуют, мол дорогой, старый и неудобный. Есть у кого-нибудь рекомендации? Может кто-нибудь брал ноутбук с подобными характеристиками на венде, а потом ставил GNU и проблем не испытывал никаких?

 , ,

Rot1
()

Иконки стереотипов в StarUML

Форум — Development

Иконки были в первой версии (которая на sourceforge). Как их добавить в третей или правильно отобразить?

https://ibb.co/6mBcYb3

 , ,

Rot1
()

Простая обработка естественного языка

Форум — Development

Привет. Вкратце поясню, с чем работаю. Есть сервис, а точнее навык Алисы от Яндекса на сервере. Туда приходят запросы пользователя в текстовом виде с параметрами. В качестве параметра может выступать ФИО, например. Чтобы правильно выбирать функцию обработки запроса, я использую классификатор, основанный на методе ближайших соседей, в качестве соседей выступают семантические векторы возможных запросов. Тут все просто.

Дело в том, что система должна уметь отвечать в контексте предыдущего вопроса. Например, если пользователь спросит: «Кто такой Семен Семенович?», то затем должен иметь возможность спросить: «А как мне его найти?». Требуется также обратное: «Как мне найти Семен Семеныча?», «А кто он такой?». Запрос типа «Как мне найти ...» может относится не только к человеку. Скажем, пользователь может спросить, как ему найти мероприятие, которое сейчас проводит Семен Семенович.

Из этого у меня возникают такие вропросы. Учить классификатор находить намерение «найти что-то» или «найти человека» и «найти мероприятие» отдельно? Если первый вариант, то в запросе типа «Как мне найти мероприятие „Синяя птица“, которое проводит Семен Семенович» как определить, что именно хочет найти пользователь? Если второй вариант, то как быть с относительными запросами (звучат в ответ предыдущего), которые могут относится к нескольким классам, например «Где искать?».

Опыта в ML у меня немного, особенно в NLP, поэтому хочется услышать советы, как правильно реализовывать таких несложных голосовых помощников.

 , , , ,

Rot1
()

Видимость символов (компилятора)

Форум — Development

Почему в С/C++ до сих пор нет стандартизации управления видимостью символов, что упросило бы процесс переноса разделяемых библиотек на уровне исходного кода на системы с отличным компилятором? Макроопределения, в зависимости от задачи, могут сильно разрастаться и уродовать код. В С++ ведь уже давно есть спецификация атрибутов для передачи дополнительной информации компилятору. Ожидается ли в стандарте специальный атрибут для специализации символов?

PS. Речь о символах из секции .dynsym в elf файле, например

 , , , ,

Rot1
()

Как научить нейронную сеть экстраполировать

Форум — Development

Доброго времени суток. Есть набор векторов со значениями, например

[1,2,3,4,2,1,2]
[3,9,5,2,1,1,1]
[3,2,2,0,2,1,1]
...
[6,7,3,5,2,0,0]
Можно ли научить нейронную сеть тренду изменения компонент, чтобы на выходе получить что-то похожее?

Я пробовал учить парами, последовательно. X - текущий вектор, Y - следующий. Но если прогнозировать десяток таких векторов, то точность получается около 10 процентов. Вообще, точность прогноза одного следующего вектора либо 1, либо 0. Что я делаю не так? Может, оценивать точность таким образом некорректно для такого решения?

ЗЫ: У меня сеть прямого распространения, с одним скрытым слоем с 10 нейронами. Рекуррентную сеть таким методом обучить не получается вообще: на выходе вектор из nan...

 , , ,

Rot1
()

Нубский вопрос об определении массива C++

Форум — Development

Почему?

#include <iostream>
#include <vector>
#include <array>

void foo(int a)
{
    size_t s;
    if (a < 1)  
        s = 100;
    else
        s = a;

    int sa[s]; // ок!
    std::cout << sizeof(sa) << std::endl; // размеры разные

    //std::array<int, s> a; // ошибка!
}

int main()
{
    foo(-1);
    foo(10);

    return 0;
}
Понятно, что C VLA имеет автоматическую длительность хранения и определяется по ходу выполнения в стеке. Что не так с C++ массивом? Зачем для него вычислять размер во время компиляции?

 , ,

Rot1
()

Проприетарный ПЛИС

Форум — Linux-hardware

Доброго времени суток. Я новенький в этом направлении. Подскажите, действительно ли все так плохо с низкоуровневым программированием в GNU/Linux? По моим наблюдениям, производители делают упорт на венду, что очень меня удивляет. Мне казалось, что с такими вещами работать будет удобней в GNU/Linux, ведь здесь сообщество, открытый код, гибкость и все такое.

И второй вопрос. У производителей монополии на свои чипы? Можно ли мне, например, прошить альтеровский MAX II без квартуса?

 , , , ,

Rot1
()

Отваливается ssd/ошибка nvme

Форум — Linux-hardware

Всем доброго времени суток. Прикупил себе INTEL SSD 7 и уже замучился с ним. Сначала оказалось, что он не полностью поддерживается моим ноутбуком аппаратно: версия чипсета ниже требуемой. Ладно, поставил загрузчик на прошлый hdd. Теперь, когда я работаю, спустя различные промежутки времени диск просто отваливается вместе со всей системой.

$ dmesg
...
[  258.742660] nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0x10
[  258.796252] print_req_error: I/O error, dev nvme0n1, sector 186646824
[  258.796267] print_req_error: I/O error, dev nvme0n1, sector 186646832
[  258.796272] print_req_error: I/O error, dev nvme0n1, sector 186646840
[  258.796276] print_req_error: I/O error, dev nvme0n1, sector 186646848
[  258.796279] print_req_error: I/O error, dev nvme0n1, sector 186646856
[  258.796282] print_req_error: I/O error, dev nvme0n1, sector 186646864
[  258.796286] print_req_error: I/O error, dev nvme0n1, sector 186646872
[  258.796289] print_req_error: I/O error, dev nvme0n1, sector 186646880
[  258.796292] print_req_error: I/O error, dev nvme0n1, sector 186646888
[  258.796295] print_req_error: I/O error, dev nvme0n1, sector 186646896
[  258.822691] nvme 0000:05:00.0: enabling device (0000 -> 0002)
[  258.822878] nvme nvme0: Removing after probe failure status: -19
[  258.849535] EXT4-fs error (device nvme0n1p3): __ext4_get_inode_loc:4630: inode #2228225: block 8912928: comm ls: unable to read itable block
[  258.849556] Buffer I/O error on dev nvme0n1p3, logical block 0, lost sync page write
[  258.849560] EXT4-fs (nvme0n1p3): I/O error while writing superblock
[  258.942759] nvme nvme0: failed to set APST feature (-19)
...
Сначала я думал, что диск слишком прогрессивный и ждал новых версий ядра. Но новые версии выходят, а проблема не исчезает. Есть мысли по этому поводу?

ЗЫ:

$ uname -a
Linux Alyona 4.18.16-arch1-1-ARCH #1 SMP PREEMPT Sat Oct 20 22:06:45 UTC 2018 x86_64 GNU/Linux

PS2:

$ sudo badblocks -v -o badblocks_test.txt /dev/nvme0n1

Checking blocks 0 to 125034839
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)

PS3:

$ sudo smartctl -a /dev/nvme0n1
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.18.16-arch1-1-ARCH] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       INTEL SSDPEKKW128G8
Serial Number:                      BTHH75130PMA128A
Firmware Version:                   001C
PCI Vendor/Subsystem ID:            0x8086
IEEE OUI Identifier:                0x5cd2e4
Controller ID:                      1
Number of Namespaces:               1
Namespace 1 Size/Capacity:          128,035,676,160 [128 GB]
Namespace 1 Formatted LBA Size:     512
Local Time is:                      Tue Nov  6 15:33:14 2018 MSK
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Maximum Data Transfer Size:         64 Pages
Warning  Comp. Temp. Threshold:     75 Celsius
Critical Comp. Temp. Threshold:     80 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     9.00W       -        -    0  0  0  0        0       0
 1 +     4.60W       -        -    1  1  1  1        0       0
 2 +     3.80W       -        -    2  2  2  2        0       0
 3 -   0.0450W       -        -    3  3  3  3     2000    2000
 4 -   0.0040W       -        -    4  4  4  4     6000    8000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02, NSID 0x1)
Critical Warning:                   0x00
Temperature:                        32 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    600,927 [307 GB]
Data Units Written:                 600,245 [307 GB]
Host Read Commands:                 7,643,154
Host Write Commands:                19,189,649
Controller Busy Time:               106
Power Cycles:                       226
Power On Hours:                     194
Unsafe Shutdowns:                   45
Media and Data Integrity Errors:    72
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0

Read Error Information Log failed: NVMe Status 0x02

PS4

Memtest86+ ошибок не встречает

nvme_core.default_ps_max_latency_us=0 не помогает

обновление прошивки диска не помогло. Но диск стал отваливаться гораздо реже. Как правило это проиходит спустя короткий промежуток времени после запуска системы, либо вообще не происходит. Здесь либо новая версия ядра частично помогла, либо свежая прошивка диска.

 , , ,

Rot1
()

geoip + letsencrypt == pain

Форум — Admin

Доброго времени суток. Имеется bind, имеется замечательный скрипт отсюда https://geoip.site/, который структурирует информацию о геолокации клиента в виде acl записей, имеется dns-rfc2136 плагин для certbot'а.

Проблема заключается в том, что, по всей видимости, во время челенджа для получения сертификата текстовая запись добавляется в базу для европейского континента, а проверяется уже в базе для другого континента. В результате получаю такую ошибку:

Failed authorization procedure. domain.here (dns-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: No TXT record found at _acme-challenge.domain.here

Вопрос: можно ли, используя фильтр из view, каким-нибудь образом направить letsencrypt в одну базу? Или использовать geoip с letsencrypt не вариант?

PS: letsencrypt не выдают свои адреса.

PS2: named.conf.local примерно такой

key "keyname." {
        algorithm hmac-sha512;
        secret "secrethere";
};

include "/etc/bind/GeoIP.acl";

view "australia" {
       match-clients { AU; };
       recursion no;
       zone "domain.here" {
               type master;
               file "/var/lib/bind/db.domain.here-australia";

               update-policy {
                       grant keyname. name _acme-domain.here. txt;
               };

               allow-transfer {                                                                                                                       
                       1.2.3.4;                                                           
               };
               notify yes;
       };
};

...

view "other" {
        match-clients { any; };
        recursion no;
        zone "domain.here" {
                type master;
                file "/var/lib/bind/db.domain.here-other";

                update-policy {
                        grant keyname. name _acme-challenge.domain.here. txt;
                };

                allow-transfer {                                                                                                
                        1.2.3.4;                                                                
                };
                notify yes;
        };
};

PS3: из журнала бинда:

client 2.3.4.5#44736/key keyname: view europe: updating zone 'domain.here/IN': adding an RR at '_acme-challenge.bf00-domain.here' 

client 2.3.4.5#44740/key keyname: view europe: updating zone 'domain.here/IN': deleting an RR at _acme-challenge.bf00-domain.here
отсюда видно, куда добавлятся запись

 , , , ,

Rot1
()

Синхронизация в P2P сети

Форум — Development

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

 , , ,

Rot1
()

gpg -c программно на openssl (libcrypto, C/C++)

Форум — Security

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

  1. Где хранить вектор инициализации?
  2. Где хранить соль?
  3. Правильно ли использовать RAND_bytes для генерации соли? (Я понимаю, что генерируются байты, а не символы ASCII)
  4. Какая длинна соли и сколько итераций являются оптимальными?
  5. gpg неплохо сжимает данные после шифрования. Как добится такого же эффекта? Нужно использовать отдельную библиотеку для сжатия?
  6. Как определить, что пользователь ввел неверный пароль для расшифровки?

 , , , ,

Rot1
()

Text Based UI в 2к 18-ом (С/C++)

Форум — Development

Доброго времени суток. Посоветуйте современную библиотеку для разработки TUI на С/C++. Ncurses конечно популярна, но она не протухла? Наличие ады в коде пугает, если честно. Жирные фреймворки типа Qt не интересуют.

 , , , ,

Rot1
()

Не определяется SSD.

Форум — Linux-install

Доброго времени суток. Купил SSD с разъемом M.2 (Intel 760p Series [SSDPEKKW128G8XT]), поставил, отображается в /dev, разметил с помощью parted. Установил загрузчик и заметил, что во-первых, диск не видно в интерфейсе прошивки (UEFI), во-вторых, все загрузочные записи на этот диск игнорируются и сбрасываются после перезагрузки. По итогу я имею систему и загрузчик, который не может загрузить EFI. Венда тоже не ставится на этот SSD, история та же: установка системы проходит без ошибок, просьба перезагрузиться, перезагрузка обратно в установщик т.к вендовый загрузчик просто игнорируется и в загрузочном меню кроме флешки ничего нет.

На прошлом HDD такой проблемы нет. Как можно пофиксить?

 , , , ,

Rot1
()

непонятки с ns записями

Форум — Admin

Доброго времени суток. Часто попадаются примеры настройки зоны вроде таких:

; zone example.com
...
@               IN      SOA     ns.example.com. root.example.com.  
...
@               IN      NS      ns.example_slave.com.
@               IN      NS      ns.example.com.
...
www             IN      A       1.2.3.4
ns              IN      A       1.2.3.4
@               IN      A       1.2.3.4
Для чего делегировать зону на сервера ns.example.com и ns.example_slave.com, если она настраивается на текущем сервере (см. @ и www A записи)? Почему нельзя написать так?
; zone ns1.example.com
...
@               IN      SOA     ns1.example.com. root.ns1.example.com.  
...
www             IN      A       1.2.3.4
@               IN      A       1.2.3.4
А слейв сервер указать в конфигурации bind'а?

 , , , ,

Rot1
()

openjdk << openjfx ?

Форум — Development

Доброго времени суток. Объясните, как обстоят дела с проектами в загаловке на сегодняшний день. В репозитории арча лежит пакет с openjdk10, но openjfx до сих пор остается 8 версии и поставляется отдельно... Я почитал openjdk wiki. Там пишут, что из-за модульной системы, которая была добавлена в jdk9, теперь сборка openjfx не накладывается поверх существующего jdk, а подключается путем пересборки openjdk. Также пишут: «The FX modules are now an integral part of the runtime environment for the desktop». Какая же это модульность, если они интегрируют компоненты в систему, а не наоборот? И почему тогда в репозиториях нет готовых сборок openjdk с openjfx? Хотелось бы разобраться.

 , , ,

Rot1
()

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