И это всё МОЁ

ШВИМ, товарищи! Ура!

Или это новость, достойная главной?








 








И это всё МОЁ

настроечная таблица фолаут.жпг

«В ночь с 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 для каждой итерации — не помогло.

ЧЯДНТ?








 , ,








И это всё МОЁ
Представлен выпуск платформы Nextcloud Hub 20, предоставляющей самодостаточное решение для организации совместной работы сотрудников предприятий и команд, развивающих различные проекты. Одновременно опубликована лежащая в основе Nextcloud Hub облачная платформа Nextcloud 20, позволяющая развернуть облачное хранилище с поддержкой синхронизации и обмена данными, предоставляющее возможность просмотра и редактирования данных с любого устройства в любой точке сети (при помощи web-интерфейса или WebDAV). Сервер Nextcloud можно развернуть на любом хостинге, поддерживающем выполнение PHP-скриптов и предоставляющем доступ к SQLite, MariaDB/MySQL или PostgreSQL. Исходные тексты Nextcloud распространяются под лицензией AGPL.



И это всё МОЁ

Имею проект: 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:<img src=" src="static.diary.ru/picture/1131.gif">irectConnection, то слот отрабатывает нормально.

Вопрос: где еще что надо докручивать, чтобы слот можено было вызвать в отдельном потоке?








 , , , ,








И это всё МОЁ

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 наблюдений, все равно должен применяться некий коэффициент взвешивания зависимый от количества наблюдений.


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


Есть на эту тему какие либо описания?









 








И это всё МОЁ

  1. Выстроил по алфавиту.

  2. Проприетарщина, оффтопик не игнорируются.

  3. Песочницы, вроде Jail(FreeBSD) - не рассматриваются, т.к. интересует статистика по VMам, способным запускать более одной ОС (DOSBox катит, т.к. кроме MS-DOS способен запускать любую x86-DOSку).

  4. Поддерживаемые платформы не интересуют, но подбор был под x86/amd64.







VitrualBox3
KVM (все модификации)1
Bochs0
DOSBox0
Hyper-V0
Parallels Workstation0
QEMU (все модификации)0
Virtual PC0
VMware (все модификации)0
Другое - указать в комментариях0
Bhyve0
Всего голосов: 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
}








 ,