настроечная таблица фолаут.жпг
«В ночь с 3 на 4 октября пользователи Telegram заметили в работе мессенджера сбой.» (с)
На сервере нужно под wine держать запущенную программку, после обновления программки поменяли безопасность и теперь она не рабоает.
Программка написана на .NET Framework 3.5 нормально работает только в wine 4.0 (Windows XP).
До обновления программки она подключалась по TLS 1.0 к заморским серверам и все нормально работало, после обновления оставили только протокол TLS 1.2, но он не работает нормально под wine.
В реестре сделаны настройки, которые не помогают.
Вываливает ошибку:
The specified value is not valid in the 'SslProtocolType' enumeration
Вопрос что еще сделать чтобы заработал TLS 1.2 для .NET Framework?
Вот данные из реестра:
[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727]
"SchUseStrongCrypto"=dword:00000001
"SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
"SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.0\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"SecureProtocols"=dword:00000a00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000a00
Нет, я серьезно. Вот вы находитесь в некой операционной системе: debian, fedora, arch, slackware, gentoo… и различных ее дериативов.
Есть куча видосов. Лежат в некоем месте. Вложенность директорий не ограничена.
Мне надо пройти скриптом и родить тумбнайл для каждого видео.
Скрипт я написал. Он пашет. Да вот не могу понять в каком месте я что-то сделал не так:
SHARED_MEDIA_DIR_PATH="/foo"
THUMBNAILS_DIR_PATH="/bar"
createThumbnails()
{
local CURRENT_DIR_PATH=$(readlink -f "${1}"
local FILE_NAME
ls "${CURRENT_DIR_PATH}" -A1 | while read FILE_NAME; do
local ITEM_PATH="${CURRENT_DIR_PATH}/${FILE_NAME}"
if [ -d "${ITEM_PATH}" ]; then
createThumbnails "${ITEM_PATH}"
continue
fi
local MD5_SUM=$(printf '%s' "${ITEM_PATH}" | md5sum | cut -d ' ' -f 1)
local THUMBNAIL="${THUMBNAILS_DIR_PATH}/${MD5_SUM}.jpg"
if [ -f "${THUMBNAIL}" ]; then
continue
fi
echo "${ITEM_PATH}"
#echo "${THUMBNAIL}"
ffmpeg \
-ss $(ffmpeg -i "${ITEM_PATH}" 2>&1 \
| grep Duration \
| awk '{print $2}' \
| tr -d , \
| awk -F ':' '{print ($3+$2*60+$1*3600)/2}') \
-i "${ITEM_PATH}" \
-an \
-vcodec mjpeg \
-vframes 1 \
-f rawvideo \
-y \
"${THUMBNAIL}" \
>> /dev/null 2>&1
done
}
createThumbnails "${SHARED_MEDIA_DIR_PATH}"
В некоей директории лежит 30 видео файлов с именами от 01 до 30 *.mp4.
Запускаю скрипт. Выводит:
/foo/бла бла/01.mp4
/foo/бла бла/.mp4
/foo/бла бла/03.mp4
/foo/бла бла/.mp4
/foo/бла бла/05.mp4
/foo/бла бла/6.mp4
/foo/бла бла/07.mp4
/foo/бла бла/8.mp4
/foo/бла бла/09.mp4
/foo/бла бла/.mp4
/foo/бла бла/11.mp4
/foo/бла бла/2.mp4
/foo/бла бла/13.mp4
/foo/бла бла/4.mp4
/foo/бла бла/15.mp4
/foo/бла бла/6.mp4
/foo/бла бла/17.mp4
/foo/бла бла/8.mp4
/foo/бла бла/19.mp4
/foo/бла бла/0.mp4
/foo/бла бла/21.mp4
/foo/бла бла/.mp4
/foo/бла бла/23.mp4
/foo/бла бла/4.mp4
/foo/бла бла/25.mp4
/foo/бла бла/6.mp4
/foo/бла бла/27.mp4
/foo/бла бла/8.mp4
/foo/бла бла/29.mp4
/foo/бла бла/0.mp4
И скрипт делает 15 тамбнейлов для 15 видео. Через один!!!
Вывод второго запуска отличается тем, что скрипт делает теперь 15 чётных:
/foo/бла бла/02.mp4
/foo/бла бла/3.mp4
/foo/бла бла/04.mp4
/foo/бла бла/5.mp4
/foo/бла бла/06.mp4
/foo/бла бла/7.mp4
/foo/бла бла/08.mp4
/foo/бла бла/9.mp4
/foo/бла бла/10.mp4
/foo/бла бла/.mp4
/foo/бла бла/12.mp4
/foo/бла бла/3.mp4
/foo/бла бла/14.mp4
/foo/бла бла/5.mp4
/foo/бла бла/16.mp4
/foo/бла бла/7.mp4
/foo/бла бла/18.mp4
/foo/бла бла/9.mp4
/foo/бла бла/20.mp4
/foo/бла бла/1.mp4
/foo/бла бла/22.mp4
/foo/бла бла/3.mp4
/foo/бла бла/24.mp4
/foo/бла бла/5.mp4
/foo/бла бла/26.mp4
/foo/бла бла/7.mp4
/foo/бла бла/28.mp4
/foo/бла бла/9.mp4
/foo/бла бла/30.mp4
И выводит какой-то мусор, на котором сам же спотыкается.
Что за хрень?
Интересно, что если закомментировать вызов ffmpeg, выводится всё правильно. Но как только я включаю собственно генерацию тамбнейлов — приехали.
ffmpeg как-то влияет на последовательность действий? Ставил sleep для каждой итерации — не помогло.
ЧЯДНТ?
Имею проект: https://github.com/xintrea/mytetra_dev
Коммит: f3c08a83 (ветка experimental), это просто последний коммит на текущий момент.
У меня есть класс EditorShowTextDispatcher (далее буду называть его просто Dispatcher), который переносится в отдельный поток относительно кода основного приложения. Перенос делается согласно памятке:
Последовательность переноса объекта в отдельный поток для Qt5
Код класса Dispatcher расположен по пути:
/app/src/libraries/wyedit/EditorShowTextDispatcher.cpp
Перенос в отдельный поток происходит в конструкторе данного класса. Перенос осуществляется методом moveToThread(), он вызывается, естественно, ДО настроек коннектов данного класса.
Настройка коннекта для вызова слота класса Dispatcher происходит в классе PeriodicCheckBase:
/app/src/libraries/PeriodicCheckBase.cpp
Настройка коннекта происходит в методе init(). Он вызывается после отработки конструктора класса Dispatcher, то есть после переноса класса Dispatcher в отдельный поток. В коннекте соединяются методы:
c=connect(this,
&PeriodicCheckBase::doUpdateDetachedWindows,
EditorShowTextDispatcher::instance(),
&EditorShowTextDispatcher::closeWindowForNonExistentRecords,
Qt::QueuedConnection);
Испускание сигнала doUpdateDetachedWindows() происходит в методе timerEvent() данного класса PeriodicCheckBase.
Создание коннекта происходит успешно, я проверяю результат работы connect(), там все в порядке. В консоль никаких ворнингов в рантайме не сыплется.
Проблема в том, что слот closeWindowForNonExistentRecords() не вызывается.
Если же поменять тип соединения на Qt:
Вопрос: где еще что надо докручивать, чтобы слот можено было вызвать в отдельном потоке?
Debian Buster x64.
Поставил davfs2
Исполняю: #mount.davfs https://webdav.yandex.ru /opt/y.d/disk
При вводе одних учётных данных - работает.
При вводе других и третьих - не работает.
Пишет:
mount.davfs: Mounting failed.
Could not authenticate to server: rejected Basic challenge
в чём может быть дело? Где то в яндексе есть настройка открывающая WebDAV пользователю?
Началось на другом компьютере. всегда работал под одним пользователем. Работало, решил замонтировать другого - фигвам. Чего только не пробовал. Включил другой комп, поставил davfs2 с нуля... то же самое...
Смотрю в ман yad’а и вижу что для (к примеру) создания шкалы выбора чего-нибудь есть yad –scale, для чекбоксов –field=«test:CHK». А как совместить это дело?
Допустим я хочу шкалу, а под ней чекбокс и/или кнопки. Прямо в одном окне.
Или кнопки и шкала прогресса. Как тогда быть?
Ubuntu/Mint ставить нет желания - там обязательно что-нибудь да отваливается. Хочу Debian но с моей видеокартой иксы не стартуют
rx 5700 xt
Установил Ubuntu.
Скопировал в /boot скомпиленное ранее ядро 5.6 для конкретно этого ПК. При ребуте получаю собственно САБЖ. Чозанах ?!
Эта же Убунта спокойно грузит свое 5.4 рядышком;
/sbin/init существует;
ФС - обычная ext4;
Граб переконфигурил без использования UUID а напрямую задавал /dev/nvme0n1p4;
fstab тоже правил ручками на предмет использования прямого пути к разделу;
Это же ядро работает например рядом на Манжаре по тому же самому принципу- скопировал в /boot, запустил grub-mkconfig и вуаля.
Хочу использовать 2 правила terminate в кальмаре. Выглядит это так (кусок естественно, не весь конфиг).
acl block_site_1 ssl::server_name "/etc/squid/filter/block_site_1"
acl block_site_2 ssl::server_name "/etc/squid/filter/block_site_2"
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump terminate block_site_1 all
ssl_bump terminate block_site_2 !noblock_client_ip
ssl_bump splice all
Логина такая. В первом списке то, что должно блокироваться у всех (пусть будет реклама). Во втором списке например социальные сети, и должно блокироваться не у всех. Кто в списке noblock_client_ip должны иметь доступ. ACL с адресами этих пользователей естественно так же есть в конфиге. И тут начинается то, что я не могу понять. Адреса из первого списка блокируются у всех. Все нормально. Но адреса из второго у всех работают. Будто нет этой блокировки даже. Меняю местами ssl_bump terminate block_site_1 all и ssl_bump terminate block_site_2 !noblock_client_ip и блокировка второго списка работает, а первого уже нет. То есть squid только один terminate отрабатывает. Тот что первый встречает. Кто использует ssl_bump, можете проверить? Версия кальмара собранная из репы Ubuntu 3.5.12. Думаю собрать кальмар 4 ветки. В манах/доках не нашел информации о подобной логике работы.
Вечер добрый, господа!
Пожалуй подобных вопросов было уйма, но помогите выбрать первый язык. Всего у меня 3 варианта:С++, Goolag(Go) и Python. Хотелось бы узнать преимущества и недостатки каждого их них, а также какой из них способен выработать хорошие привычки в написании кода которые помогут избежать быдлокодинга в будущем? Какой из них, по вашему мнению, будет востребованным в будущем, какой с самой высокой оплатой, а какой с низким порогом входа? Также интересен один момент, сколько необходимо времени изучать язык чтобы после попробовать заняться фрилансом?(Естественно перед этим изучив алгоритмы и работу с базами данных(Ну и посоветуйте пж книжек на эту тему)). Буду работать в основном под Linux и писать программы под него соответственно
Пусть будет множество процессов, каждый из которых состоит из событий А и Б. Для каждого процесса можно посчитать процент событий А от известной выборки и предположив что это его вероятность, посчитать арифметическую среднюю вероятность для всех процессов. Так же пособирав такие вероятности, можно посчитать возможные границы вероятности процесса А для любого последующего подобного процесса.
Примерно такие же рассуждения можно делать на Гауссовских средних, но меня интересует расчет вероятностей. Использовать это можно для расчета прогнозирования.
Как упомянул, для каждого процесса, делается предположение вероятности А по ограниченной выборке.
А если большинство процессов возможно наблюдать маленькое количество раз? Например всего лишь 5 раз, и в нем 4 раза было событие. 4 из 5 это слишком не определенно какая в итоге будет вероятность. Какое распределение вероятностей для выборочной вероятности одного процесса понимание имеется. Так же понятно какие границы у множества вероятностей, если эти вероятности известны, но в ограниченном количестве.
Вопрос, как можно сложить несколько вероятностных вероятностей для расчета средней и границ? Ведь по сути 5 наблюдений, или 100 наблюдений, все равно остается разброс возможной вероятности для одного процесса. Значит даже при сложении вероятностей из 100 или 100500 наблюдений, все равно должен применяться некий коэффициент взвешивания зависимый от количества наблюдений.
Есть еще отдельный вопрос, как можно учесть в этой сумме те процессы, в которых наблюдений было всего один раз, т.к. если таких было много, то ихняя средняя по наличию и отсутствию события будет то же в какой то степени средней вероятностью.
Есть на эту тему какие либо описания?
- Выстроил по алфавиту.
- Проприетарщина, оффтопик не игнорируются.
- Песочницы, вроде Jail(FreeBSD) - не рассматриваются, т.к. интересует статистика по VMам, способным запускать более одной ОС (DOSBox катит, т.к. кроме MS-DOS способен запускать любую x86-DOSку).
- Поддерживаемые платформы не интересуют, но подбор был под x86/amd64.
VitrualBox | 3 |
KVM (все модификации) | 1 |
Bochs | 0 |
DOSBox | 0 |
Hyper-V | 0 |
Parallels Workstation | 0 |
QEMU (все модификации) | 0 |
Virtual PC | 0 |
VMware (все модификации) | 0 |
Другое - указать в комментариях | 0 |
Bhyve | 0 |
Всего голосов: 4 | |
Всего проголосовавших: 3 |
Ubuntu 18.04
i3 version 4.18
В момент загрузки оконного менеджера i3, до того как отрисуется обоина (посредством nitrogen), появляется на несколько мгновений светлый фон, который нигде в конфигах не прописан. Выходит, что-то просвечивается, быть может из настроек рута… Кто-нибудь пытался разобраться?
Неприятная белая вспышка при запуске раздражает, хотелось бы от неё избавится.
Если кто-то интересовался что там, как и чего ожидать в будущем. Так вот, для страждущих, кому уже не терпится попробовать:
https://download-chromium.appspot.com/?platform=Linux_x64&type=snapshots (130 MiB)
unzip chrome-linux.zip
cd chrome-linux/
./chrome --ozone-platform=wayland --enable-features=UseOzonePlatform --user-data-dir=/tmp/chrome-wayland
Анимации плавненькие, графика без тиринга, не единого разрыва, вот тут вообще красота, любо-дорого стало смотреть: https://phoboslab.org/wipeout/
Ждём по умолчанию, что могу сказать. Пока конечно остались мелкие баги с позиционированием курсора и отрисовкой заголовка окна, но к релизу их должны поправить.
P.S. Сборки идут прямо из транка, поэтому могут быть странные глюки.
#!/bin/sh
get_mtu_static () {
local IF=$1 MTU # ПЛОХО ПОНИМАЮ
arp -i $IF | grep -ci xx:xx:xx:xx:xx:xx && MTU=2000 #home
arp -i $IF | grep -ci xx:xx:xx:xx:xx:xx && MTU=1500 #cafe
# НЕ ПОНИМАЮ КАК РАБОТАЕТ, НУЖНО ЧТОБЫ ФУНКЦИЯ ВОЗВРАЩАЛА $MTU ИЛИ НИЧЕГО
}
IF=enp5s0
MTU_MAX=9000
if ЕСЛИ get_mtu_static ВОЗВРАЩАЕТ $MTU # ЗДЕСЬ ОЧЕНЬ СЛОЖНО МНЕ
MTU=get_mtu_static $IF # ЗДЕСЬ ОЧЕНЬ СЛОЖНО МНЕ
else
MTU=MTU_MAX
fi
if НУЖНА ПРОВЕРКА ТЕКУЩЕГО ЗНАЧЕНИЯ MTU
ip link set $IF mtu $MTU
fi
нужна помощь
get_mtu_static () {
local IF=$1
arp -i $IF | grep -ci xx:xx:xx:xx:xx:xx && 2000 #home
arp -i $IF | grep -ci xx:xx:xx:xx:xx:xx && 1500 #cafe
}