среда, 16 мая 2018 г.

Openssl и многопоточка.

Всё меняется, растёт, развивается - в OpenSSL более не требуется настраивать набор локов при использовании в многопоточном приложении!

УРА!!!

Натыкался на это, примерно лет 10 назад.
Было забавно.
Заходит глава саппорта, фанат альтернативного решения, развиваемого в той же конторе, и говорит так по отечески, с легкой болью общения с непрофессионалами, окончившими учебные заведения с главным зданием слишком маленькой высоты  - "там Серёга с багом в опенссл столкнулся, вы тоже на это напоретесь, идите и посмотрите. Вот идите." Мы всегда рады расти. Ведь у нас невысокие здания в наших университетах. Во всех, кроме одного, где и готовят Специалистов. Не комплексуем, но почему-то терпим это отеческое псевдокомпетентное. Ну может действительно чему-то научили ребят, в отличие от нас, кто знает?
Ну  и захожу к соседям, и там мне "Вован, тут такая тема, надо ссл_аццепт локом обрамлять, при использовании в нескольких потоках" и я так сходу - "man threads не помог?" и мне "что-что?" и уже как-то сразу ясно стало, почему мы не столкнулись с этим, а вот альтернатива, так скажем, влетела, при всём своём несомненном опыте. Сколько таких моментов было, и всё мы скромно терпели, и зря. Надо было драться с напыщенными саппортерами.  Вообще такие случаи отличный маркер нездорового отношения, должен был аларм завыть у менеджмента, это кристально ясно через десяток лет. Ну что было, то стало.

среда, 26 июля 2017 г.

Представление о конечном пользователе ПО как о полном дебиле, которому надо всё по возможности запретить, оставив только заявленный функционал, часто приводит к ситуации, когда эта жопорукая тупая обезьяна оказывается умнее большей части коллектива. И вот это навязываемое ложное представление вызвано на самом деле страхом выявить недостаток собственных компетенций в области применения данного ПО. 

четверг, 23 февраля 2017 г.

Multiple copy/paste buffers в GNU Screen

[Дополнено через полгода использования] Давно была потребность в нескольких буферах обмена между открытыми консольными сессиями. Труднонабираемые пароли, которые нужно повторить в нескольких консолях в разных последовательностях, длинные пути и тп.  Использую GNU Screen.  Без лишних предисловий, решение, из которого всё понятно:

понедельник, 18 июля 2016 г.

Ускорение анализатора сетевого трафика Snort при помощи библиотеки Hyperscan.

Осенью прошлого года компания Intel открыла исходники библиотеки быстрого поиска совпадений для регулярных выражений Hyperscan. Проект был куплен двумя годами ранее. Предназначением этого удачного стартапа было ускорение DPI приложений за счёт использования SIMD compiler intrinsics. Использование новых наборов инструкций позволяет добиться значительного прироста производительности в самом узком месте анализаторов трафика: в поиске совпадений по образцу.  Snort  - самое известное DPI-приложение с открытым кодом - получил поддержку Hyperscan только в начале этого лета. Представленный патч предназначен для версии Snort 2.9.8.2 но без проблем накладывается на 2.9.8.3 и может быть портирован и на предыдущие релизы Snort. В статье описывается установка зависимостей и сборка снорт на дистрибутивах Gentoo и Ubuntu.

понедельник, 4 июля 2016 г.

прохождение тестов при параллельной сборке libpcre в несколько потоков

При сборке libpcre:

 
./configure
make
make test
                
                                                                                                                      
vvk ~/tmp/pcre-8.34 $ make test
...
============================================================================
Testsuite summary for PCRE 8.34
============================================================================
# TOTAL: 5
# PASS:  3
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
В test-suite.log:

FAIL: RunTest
=============


причина и решение:

 

т.е. причиной в данном случае является параллельное выполнение целей make. при отключении jobserver и сборке в один поток ошибок нет.

make -j 1 test