Позднее Ctrl + ↑

Unknown option «-​-enable-cuda-sdk».

Забавная опечатка в официальной инструкции Nvidia по сборке ffmpeg для работы с CUDA.

Пишут, что для конфигурации надо сделать:

./configure --enable-nonfree -–enable-cuda-sdk –enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64

Если это нагло скопипастить и выполнить, то получим такую вот ошибку:

Unknown option "-–enable-cuda-sdk".

Молодцы они эдакие, в своем копипастном примере взяли и поменяли знак минуса на дефис. Я почти уверен, что текст верстали под macOS, она любит такие автозамены проворачивать.

Надо вот так:

./configure --enable-nonfree --enable-cuda-sdk --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64

А если получим варнинг:

WARNING: Option --enable-cuda-sdk is deprecated. Use --enable-cuda-nvcc instead.

То вообще вот так:

./configure --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64

Ну все, теперь можно компилить и пользоваться.

P.S. Забавно, движок блога Эгея тоже сливает два минуса в дефис, если они находятся вне тэга «код», поэтому в заголовке я их разделил пробелом нулевой длины.

Передача большого количества картинок между серверами

Допустим, вам, как и мне сейчас, потребовалось перекинуть пару сотен тысяч картинок с одного сервера на другой. Передача файлов по одному займет неадекватное количество времени. Хочется как-то их все собрать в один файл и передать уже его разом по сети.

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

Какой есть выход из этой ситуации? Верно, создать архив без сжатия:

Вот так, если предпочитаете tar:

tar -cf ./archive.tar /path/to/folder

И так, если больше нравится zip:

zip -qq -0 -r ./archive.zip /path/to/folder

Но как показывают замеры времени, tar справляется с задачей простой сборки файлов в один в разы быстрее.

После передачи файла по сети распаковать его можно так:

Для tar архива:

tar -xf ./archive.tar

И для zip архива:

unzip -qq ./archive.zip

Обрабатываем некорректно сохраненные в лог JSON данные

С месяц назад, при записи JSON данных в лог, забыл отформатировать их json.dumps из питоновского dict’a в нормальный вид, а просто записал его при форматной печатью, преобразовав dict в str. Само собой, получил кучу данных в неудобоваримом виде, эх.

Как исправить? Стандартный json.loads теперь не воспримет такую строку как корректный JSON, т. к. с точки зрения формата она не валидна. Можно решить эту проблему при помощи функции ast.literal_eval.

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

Пример работы:


import ast
import json

# Наш преобразованный в строку dict()
s = "{'a': 'Text with \\'quotes\\''}"
j = json.loads(s)
# Получаем ошибку парсинга из-за одинарных кавычек
>> json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

# Парсим строку в dict
j = ast.literal_eval(s)
print(j)
>> {'a': "Text with 'quotes'"}
# Теперь уже дампим данные корректно
print(json.dumps(j))
>>{"a": "Text with 'quotes'"}

Слив данных ИПшников в ВТБ?

Знакомые часто говорят, что налоговая, якобы, «сливает» данные новых ИПшников, т. к. им сразу же после регистрации начинают обрывать телефон банки, предлагая подключить у них услугу РКО. Я вот, несколько лет назад, вообще узнал об успешности регистрации своего ИП не из налоговой, а от колл-центра Тинькова, хехе.

На самом деле, эта информация официально доступна через API налоговой за некоторую сумму денег, так что юридически тут все чисто. А банки просто грамотно используют подвернувшуюся возможность.

Так вот, три года была тишина, никто мне не звонил и не надоедал. Недавно сходил, открыл себе дополнительный счет в ВТБ. Ибо комиссии пониже, год бесплатного обслуживания и все такое. И практически сразу же получил предложения открыть р/с еще от пары банков. Возникает закономерный вопрос, а не сливает ли кто-то в ВТБ данные новых клиентов другим банкам?

BCO плагин для ВТБ Бизнес Онлайн на macOS Catalina

Вляпался вот в BCO System Cryptographic Plugin на macOS Catalina, в процессе подключения к РКО ВТБ. Оценки и комментарии к этому плагину сразу внушили уважение и обещали приятный вечер, полный изысканных речевых оборотов.

Без этого ПО у вас не получится создать себе ключ доступа для пользователя ВТБ Бизнес Онлайн, а значит и не даст завершить процедуру открытия расчетного счета.

После установки плагина, важно перезапускать браузер иначе не заработает вообще ничего. Инструкция по установке говорит, что плагин на macOS может работать в Safari и Chrome. Но, по факту, в Safari 13 он вообще не завелся, как я не старался, видел надпись «Unsupported Plug-in». В Chrome 87 сам плагин завелся, но отказалась работать криптографическая часть, то бишь, не генерировались ключи доступа.

Решение оказалось довольно простым: надо следовать инструкции дословно. Во время установки предложенного на сайте pkg файла, нужно выбирать опцию «Установить только для меня».

Если установить для всех, как сделал я (ачотакова, да?), то ничего работать не будет. По какой причине — не ясно.

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

P.S. А публичную часть созданного ключа, вам придется распечатать на бумажке в двух экземплярах и отнести ногами в офис...

Ранее Ctrl + ↓