LINUX.ORG.RU

Сообщения kvpfs

 

Vim, автодополнение

Форум — General

Приветствую. Имею nvim с дефолтным автодополнение (CTRL-P/N, без всяких плагинов). Хочется дополнять теги вводя вводя буквы с пропусками, например - helloworld можно дополнить введя hewor. Можно? Без всяких гигабайтных плагинов размером с самолёт.

 ,

kvpfs ()

Кренка, перегрев, stm32 мёртвый

Форум — Science & Engineering

Всех приветствую. Была отладочная stm32, взял кренку на 5V (L7905CV с теплоотводом), и запитал от неё МК и относительно моощную нагрузку, которая управлялась этим МК. Кренка перегрелась и отключилась (видимо ушла в защиту т.к. после охлаждения заработала). Всё бы ничего, но контроллер сдох, что за х-ня? Кренки любят давать сюрприз в виде высоковольтного выброса или это китайское дерьмо такое? Ну мне чисто на будущее, чтобы не палить контроллеры. Думал что они там всё по уму сделали, а не так, ладно бы сама сдохла, так ещё и за собой потянула.

Перемещено hobbit из talks

 ,

kvpfs ()

Литература по химии

Форум — Talks

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

В общем надоело. Найти бы такую книжицу по неорганической химии (можно на англ) с чисто прикладной информацией, основные закономерности реакций и принципы подбора реагентов. Чтобы опираясь на данный материал и собственный аналитический расчёт, и имея потребность в веществе X можно бы было синтезировать его из чего-то более доступного.

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

 ,

kvpfs ()

УФ чернила

Форум — Talks

Привет. Нужны UV чернила (не для принтера), написать на стене хочу, в обычном свете вообще не видны должны быть. В данный момент лампу ещё не собрал, время идёт. Отсюда вопрос - можно ли самому приготовить такие чернила из подручных средства (аптека, магазин хим реактивов), или же не выёживаться и заказать? Кто-нибудь делал? Я видел советы растворять кислотно-зелёный маркер и прочее, но могут ли сравниться подобные способы со спец чернилами и светиться без 100500 киловатной лампы?

 

kvpfs ()

Симметричное шифрование, проверка валидности пароля

Форум — General

Привет. Шифрую файл:

gpg --cipher-algo AES256 --batch --passphrase "${password}" --output - --symmetric input | ...

И если далее пытаться его расшифровать, то в случае ввода неправильного пароля выдаётся соответствующее сообщение. Хочется чтобы расшифровка проходила успешно всегда при передаче любого пароля (т.е. алгоритм отрабатывал всегда и давал выхлоп, пусть и результат там невалидный бред). Я не вникал в суть алгоритма, но предположу, что должна вычисляться некая контрольная сумма от результата и сравниваться со значением зашитым в исходный/зашифрованный файл. Хочется не сохранять никаких контрольных сумм для сверки валидности, и, естественно, такой режим должен уметь не только лишь gpg, а любой дешифратор на данном алгоритме.

Если AES не умеет, можно ли заюзать какой-то другой алгоритм?

 ,

kvpfs ()

Приватная директория для шелл скрипта

Форум — Admin

Привествую. Представим, что запущен некий шелл скрипт, он расшифровывает какие-то данные, сохраняет что-то в /tmp, запускается редактор, скрипт зашифровывает и удаляет промежуточный файл. Очевидно, что есть некоторая уязвимость в период существования промежуточного файла в расшифрованном виде. Можно примонтировать tmpfs только для данного юзера и сохранять туда, но хочется ещё надёжней - создать директорию, которая существует в ОЗУ и лишь в период работы данной сессии скрипта и видна лишь процессам порожденным из скрипта. Эдакий временный приватный загончик. Есть какие-нибудь варианты? Только без всякой левой экзотики, лишь стандартными средствами.

Перемещено hobbit из general

 

kvpfs ()

smtp клиент

Форум — General

Приветствую. Хочу настроить клиент msmtp и отправлять с него письма на нужные ящики (по сути что-то вроде системы резервного копирования важной инфы, автоматом создавать копии в некскольких местах). По-хорошему - я вообще не понимаю для чего мне нужна аутентификация, может есть какой публичный SMTP сервер, куда я могу слать свою писанину? Если нет, то есть ли тут живые люди, которые настроили msmtp в связке с mail.ru? В мыльном кабинете я получил пароль для внешних приложений, ввёл его в конфиг:

$ cat ~/.msmtprc
account addr@bk.ru
host smtp.mail.ru
port 465
tls on
tls_starttls off
auth on
user addr
from addr@bk.ru
password password_for_external_app

account default : addr@bk.ru

при попытке послать письмо:

$ echo "-" | mail --subject "qqq" to@gmail.com
sendmail: authentication failed (method PLAIN)
sendmail: server message: 535 5.7.0 NEOBHODIM parol prilozheniya https://help.mail.ru/mail/security/protection/external / Application password is REQUIRED
sendmail: could not send mail (account default from ~/.msmtprc)
~/dead.letter 8/143
mail: ... message not sent

У кого-нибудь работает? Чего не хватает в конфиге? Видимо ребята из mail.ru считают мой клиент не причным приложением, а какой-то второсортной какашкой. Пробовал гуглопочту, но там совсем закрыли возможность коннекта по паролю, регаться где-то ещё - лениво, скорее брошу затею).

 ,

kvpfs ()

Крипта, хранение, POS

Форум — Talks

Всем привет. Объясните пожалуйтса 2 вопроса:

  1. Как хранятся биткоины (или любые другие) в эфирной сети (или любой другой)? Т.е. когда монеты являются инородными для данной сети. Смотрю на способы вывода с биржи и въехать не могу.

  2. Proof of stake, как и кто выбирает следующего валидатора (тот, что вроде майнера в PoW)? Неужели есть какой-то центр?

 

kvpfs ()

Размыть поляризованный свет

Форум — Talks

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

 ,

kvpfs ()

Криптовалютная история транзакций

Форум — Talks

Всех приветствую. Интересует история, которая хранится в блокчейне, очевидно, что она раздувается со временем, однажды она станет настолько жирной, что это станет проблемой. Какой план на этот счёт (он вообще есть)? Напрашивается провести какой-то клиринг и начать с чистого листа.

Хочу немного понять то, во что хочу влезть.

 

kvpfs ()

Плата на aliexpress из рф

Форум — Talks

Всем привет. Подскажите пожалуйста, как на данный момент - можно ли платить на алике создав виртуальную карту QIWI? «Обычную» (не через карту) оплату недавно прикрыли, а работает ли так? Мне нужно зарегиться, верифицироваться, влупить бабла и только потом узнать, что всё зря, слишком сложно.

 

kvpfs ()

Плавный переход между двумя кадрами (анимациями)

Форум — Multimedia

Привет. Суть такая - есть две анимации одного объекта. Поза в конце первой условно похожа на позу в начале второй. Если их склеить топорно (показывая на одном фоне), то переход слишком явный, как бы сделать его сглаженным? Я бы хотел что-то, что действует по следующему алгоритму - 1 На вход принимает два кадра, и количество кадров, которое нужно сгенерить для перехода; 2 - рассчитывается цвет в каждом пикселе первого и второго кадра; 3 - генерятся промежуточные кадры, где каждый пиксель переходит между двух состояний.

Речь идёт о небольших переходах, которые возникли при удалении кадров. Т.е. я не собраюсь переводить человека из «сидя в стоя».

Можно ли это чем-то сделать?

PS: это может быть даже не blender.

 

kvpfs ()

Функция от current frame number

Форум — Multimedia

Всех приветствую. Ребята, допустим хочу - есть картинка и видос на руках, хочу плавно перемещать картинку по экрану по мере воспроизведения фонового ролика. Т.е. есть ли какая-то нода в композиторе вроде Transform, где можно указать x=FramePtr*val?

 

kvpfs ()

Сделать прозрачной область в видеокадрах

Форум — General

Приветствую. Решил «поиграться» с хромакеем. Отснял на «зелёнке» фрагмент, где я руками в цветных перчатках двигаю объект. Теперь на ролике присутствуют куски моего тела от которых нужно совсем избавиться. Т.е. нужна какая-то нода в разделе «Compositing», которой можно сказать - начиная с Х по У кадр отреж (сделай прозрачным) область с координатами 0:0-100:100. Ну а потом уже фильтровать по цвету. Как называется нода для обрезки по координатам? Ну или там надо какую-то маску сделать чем-то, чем? Должно быть совсем элементарщина, но я не знаю как загуглить это, разве что просмотреть какой-нибудь многочасовой туториал.

 

kvpfs ()

Unix like софт в виндовом репозитории vcpkg

Форум — Development

Всех приветствую. Для пример - нахожу в vcpkg libiconv, читаю «Compatibility:✓ x64-windows», делаю vcpkg install, оно пытается скомпилить и падает с ошибкой. В общем я не очень понял - там все сборки «нативные» (раз указано в Compatibility), или же нужно обмазываться mingw? Если нужно тащить какое-то окружение, то дальше рабираться и читать доки не стану (ибо в проекте много всякого std20, сильно сомневаюсь, что скомпилится).

 ,

kvpfs ()

Код не отрабатывает как ожидается

Форум — Development

Я не понимаю почему в консоль печатается лишь «f::tick_2»? Ождилаось «f::tick_1 f::tick_2». Так ведут себя Шланг, ГЦЦ, и Мелкомягий.

#include <iostream>
using namespace std;

template <typename T, int I>
struct Ev {
    struct DD {
    };

    template <typename ...Fn>
        struct Ovl : Fn... {
        using Fn::operator()...;
    };
    template<typename ...Fn> Ovl(Fn...) -> Ovl<Fn...>;
};

template <typename T, int I, typename V>
struct Tb {
    V v;
};

template <typename T, int I, typename V>
void f(Tb<T, I, V> &tb) {
    if (requires {tb.v(declval<Ev<T, I>::DD>());})  // #1
        cout << "f::tick_1\n";

    if (requires (typename Ev<T, I>::DD d){tb.v(d);})  // #2
        cout << "f::tick_2\n";
}


int main() {
    Ev<char, 3>::Ovl ovl{
        [](Ev<char, 3>::DD) {return 1;}
    };
    Tb<char, 3, decltype(ovl)> tb{ovl};
    f(tb);
}

$ g++ -std=c++20 1.cpp
$ ./a.out
f::tick_2

Разница лишь в способе «создания» DD в f::if. Тут немного запутанно, повторил примерно рабочую структуру с существующего кода, с менее хитрыми типами «ошбка» может не проявиться. В коде можно не разбираться сильно, интересна лишь строка #1 и #2. Единодушие компиляторов вызывает сомнение, что мои ожидания имеют основания.

 

kvpfs ()

Поднять частоту у ЦПУ

Форум — General

Приетствую. Имеется плата от ноута с intel i3

$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         36 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  4
  On-line CPU(s) list:   0-3
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i3 CPU       M 350  @ 2.27GHz


$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us
  hardware limits: 933 MHz - 2.27 GHz
  available frequency steps:  2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz, 1.07 GHz, 933 MHz
  available cpufreq governors: ondemand userspace performance schedutil
  current policy: frequency should be within 933 MHz and 1.73 GHz.
                  The governor "userspace" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 931 MHz (asserted by call to kernel)
  boost state support:
    Supported: no
    Active: no
    33999 MHz max turbo 4 active cores
    33999 MHz max turbo 3 active cores
    33999 MHz max turbo 2 active cores
    33999 MHz max turbo 1 active cores


$ lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE    MAXMHZ   MINMHZ      MHZ
  0    0      0    0 0:0:0:0          yes 2266.0000 933.0000 930.9420
  1    0      0    1 2:2:2:0          yes 2266.0000 933.0000 930.9410
  2    0      0    0 0:0:0:0          yes 2266.0000 933.0000 930.9350
  3    0      0    1 2:2:2:0          yes 2266.0000 933.0000 930.9390

Можно заметить, что используется драйвер acpi-cpufreq, я безуспешно пытался поднять частоту через cpupower и через прямую запись в /sys/… , назначал различные governor, частота всегда остаётся равной около 900Мгц. BIOS, минимальный, там ничего нельзя.

Есть особенность - ноут не имеет аккумулятора (утерян), может ли влиять? Или же это такой «бонус» за ноутбук и проц всегда работает на минималках? Нагрузка на систему также не влияет на частоту.

 ,

kvpfs ()

Вывести типы аргументов функтора

Форум — Development

Приветствую.

#include <functional>
using namespace std;

template <typename T>
struct FTraits;

template <typename R, typename A>
struct FTraits<function<R(A)>> {
	using Ret = R;
	using Arg = A;
};

struct S {
	//S(S&&) = delete;
	//S() = default;
	// ^^^^ needs to be uncommented ^^^^
};

template <typename T>
void fn(T t) {
	using U = typename FTraits<decltype(function(declval<T>()))>::Arg;
	//static_assert(U ...);
}
int main() {
	fn([](S){});
}

Словами - в fn передаём некий функтор, узнаём тип его аргумента и проверяем соответсвие этого типа каким-то критериям валидности. Всё работает до тех пор, пока тип умеет стандартно копироваться/создаваться (этого хочет std::function).

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

Какие-нибудь варианты? Как-то обойтись без std::function и применить какую-нибудь «магию» напрямую к функтору?

 ,

kvpfs ()

Указание диалекта под виндой

Форум — Development

Привет. Проект собирается на онтопике без проблем, используются фичи вплоть до цпп20, диалект задаётся в цмэйке следующим образом:

add_library(compile_flags INTERFACE)
target_compile_features(compile_flags INTERFACE cxx_std_20)

потом с этой целью линкуются все таргеты. Но на винде сборка падает на такой конструкции:

#if !defined(__cplusplus) || __cplusplus < 201703L
#error "Requires complete C++17 support"
#endif

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

 , ,

kvpfs ()

Установка подпроекта в поддиректорию проекта

Форум — Development

Приветствую. Хочу прояснить - можно ли вообще и примерно как. Допустим, имет два проекта - main и sub

main
├── CMakeLists.txt
└── sub
    └── CMakeLists.txt

main - мой, sub - чужой проект добавленный через git submodule add, например. sub потенциально может содержать любые артефакты - ho library, shared library, … . Могу ли я получить make install цель со следующими свойствами:

  • Мне не нужно править ни одной строки в подпроекте, просто клонирую и делаю что-то в main для подключения в родительский проект.
  • Подпроект sub устанавливается в поддиректорию главного проекта.

Для пример - выхлоп от main - исполняемый exe_bin, от sub - libsub.so. После make install полчается:

usr/
└── local
    ├── bin
    │   └── exe_bin
    └── libexec
        └── main
            └── sub
                └── usr
                    └── local
                        └── lib
                            └── libsub.so

Т.е. идея в том, что брать на стороне какой-то проект и подключать его и устанавливать полностью локально для конкретного проекта, а не общесистемно.

Пока что крутил ExternalProject_Add(), но пока без успеха (может он вообще не умеет, а я парюсь). Можно ли это сделать? Как (желательно миниальный пример хотя бы с псевдокодом)?

 

kvpfs ()

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