• Как скомпенсировать отклонение угла при вращении гироскопа?

    hint000
    @hint000
    у админа три руки
    Очень интересно, но непонятно. Девушка, если вы сократите вопрос с двух предложений до одного, то уровень непонятности останется тем же самым. :)
    Не стесняйтесь добавлять подробности, если действительно хотите получить полезный ответ.
    Какого рода проблема?:
    • С конкретным устройством? Так оно не названо. Характерна ли проблема только для этого устройства?
    • С условиями использования устройства? Про них ни слова.
    • С алгоритмом обработки данных, получаемых с устройства? Так надо проанализировать исходные данныые; на алгоритм можно пенять только при уверенности, что с исходными данными всё в порядке.

    Если вы имеете в виду, что проблема алгоритмическая\математическая, то посмотрите вот это:
    https://ru.wikipedia.org/wiki/Складывание_рамок
    Для любого набора эйлеровых углов существует ровно одно положение связанного с твёрдым телом подвижного трёхгранника относительно неподвижного. Однако обратное утверждение не всегда справедливо. То есть существует такое положение твёрдого тела, при котором невозможно однозначно определить эйлеровы углы. При стандартном выборе эйлеровых углов в виде тангажа, рыскания и крена это особое положение возникает при угле тангажа, равном 90 градусов. Отсюда любое непрерывное вращение, имеющее излом в точке, когда угол тангажа равен 90 градусам, в пространстве углов Эйлера не может быть представлено непрерывной кривой;


    Я не вникал в конкретный алгоритм, но, судя по тому, что в комментариях обсуждаются ошибки в алгоритме https://diydrones.com/forum/topics/madgwick-imu-ah...
    ...а на Хабре переводчик пишет: "Мною найдено более 10 опечаток в оригинальном тексте." https://habr.com/ru/articles/255661/
    .., то оригинал был далёк от совершенства, и количество ошибок может зависеть от источника, из которого вы брали алгоритм или готовый код. Исправлены ли ошибки на https://github.com/xioTechnologies/Fusion - это ещё надо выяснять. Также учтите, что некоторые авторы сознательно публикуют исходный код с ошибками, чтобы повысить порог входа, т.е. чтобы код не использовали те, кто не способен его исправить.
    Ответ написан
  • Почему ethernet не заменят на type-c?

    hint000
    @hint000
    у админа три руки
    Если немножко погуглить, то можно найти такой роутер:
    https://forum.gl-inet.com/t/brumew-bonus-feature-u...
    The most awesome and unexpected feature of the BrumeW has been the USB-C port also appears as an Ethernet connection if you happen to have it plugged into a computer or other device capable of supplying enough power for the router to operate.
    Другой вопрос, удастся ли вам купить этот роутер.
    Если ещё немного погуглить, то можно обнаружить вот такой интересный путь для энтузиастов (помните? у самурая нет цели, только путь): https://gist.github.com/jasonmnemonic/db25a35b9862...
    Ответ написан
  • Как заставить опенВПН отключаться при закрытии терминала?

    hint000
    @hint000
    у админа три руки
    В ярлык:
    Exec=sh -c "echo $$ | tee /tmp/qwe123.pid; su -l qwe-internet -c 'DISPLAY=:0 openvpn --config /opt/123.ovpn'"

    В crontab добавить:
    * * * * * ps -q $(cat /tmp/qwe123.pid) >/dev/null 2>&1 || команда-на-отключение-ovpn

    В пределах одной минуты после закрывания окна (среднестатистически через полминуты) произойдёт отключение.
    Принцип: тупо пишем номер процесса в файл, а кроном отлавливаем наличие процесса с таким номером.
    Ответ написан
  • Lvm versus fsck - как решить проблему курицы и яйца?

    hint000
    @hint000
    у админа три руки
    Ответ хоть и никак не относится к lvm, но...
    юзер жмет ресет во время работы по дурной виндовой привычке
    / или /usr не восстанавливаются, полэкрана красным, сервисы не стартовали
    Митигирую такой сценарий выносом из / отдельных ФС /var и /tmp (про /home можно не говорить, это у всех норма его выносить, ну и тем более никакого swap-файла на / ). В сам / при повседневной работе практически ничего не пишется, только при редких ручных изменениях /etc и при обновлении или установке пакетов. Так что в момент, когда Штирлиц бьёт Холтоффа бутылкой по башке, повредиться может в основном /var или /home, но никак не / (ведь Штирлиц обычно не устанавливает обновления при беседе с Холтоффом).
    Практикую этот лайфхак уже лет семь, полёт нормальный.
    spoiler
    65b2852c9562e042532647.png
    Ответ написан
    3 комментария
  • Трансляция звука в микрофон, как в SoundPad?

    hint000
    @hint000
    у админа три руки
    Ответ написан
    Комментировать
  • Объясните мне на пальцах рекурсию Фибоначчи F(4, например). Это самый простой алгоритм, а я не могу понять. Что мне делать?

    hint000
    @hint000
    у админа три руки
    полностью теряюсь в отладчике
    В отладчике неудобство, если шагать по одной строке за раз, а этот код написан так, что в одной строке сразу два рекурсивных вызова. Для наглядности отладки можно вместо одной строки return Fib(n - 1) + Fib(n - 2); сделать три строки:
    int F1 = Fib(n - 1)
    int F2 = Fib(n - 2);
    return  F1 + F2;
    Ответ написан
    1 комментарий
  • Какие существуют методы по нахождению пересечения нормального вектора плоскости с точкой на другой плоскости по типовой задаче?

    hint000
    @hint000
    у админа три руки
    Как найти плоскость для которой нам и нужно найти точку
    Это называется декомпозировать задачу (декомпозиция), т.е. разбить её на части, так чтобы было более-менее понятно, как решать каждую отдельную часть.

    и плоскости, проходящей через точку пересечения плоскостей с уравнениями 5x^1 - 3x^2 <-x^3 = 0, x^1 + 2x^2 + 3x^3 = 14, x^1 + x^2 + x^3 = 16 параллельно плоскости, проходящей через три точки M1(-9; 10; 2), M2(4; 8; -1), M3(-2; 1; 3).

    1. Взять любые две из трёх пересекающихся плоскостей, определить уравнение прямой, по которой они пересекаются;
    2. Взять третью плоскость и взять прямую из предыдущего шага, найти точку их пересечения;
    3. В формате x=x0+t1*a1+t2*a2 очень легко найти уравнение плоскости, проходящей через три точки: x0 = M1, a1= M2-M1, a2=M3-M1;
    4. Из точки с шага 2 опустить нормаль на плоскость с шага 3; построить плоскость из точки с шага 2 с этим же вектором нормали - это и есть плоскость, про которую вы спрашиваете.
    Я понимаю, что мы легко можем найти нормальный вектор плоскости путем N = [a1 , a2]
    И ещё один вопрос (как любил говорить лейтенант Коломбо)... Не забыть, что N = [a1 , a2] должен быть построен из точки x0, что в сущности даёт нам не просто вектор, а уравнение прямой. И эту прямую мы в конце концов пересечём с плоскостью из шага 4 и получим точку их пересечения. Та-а-да-ам!
    Ответ написан
    3 комментария
  • Как создать скрипт для выключения нескольких пк?

    hint000
    @hint000
    у админа три руки
    Ответ написан
    Комментировать
  • Как вырезать слова из вывода?

    hint000
    @hint000
    у админа три руки
    sshd -T | grep -i ‘^mac” | xargs -n1 echo | grep -v etm | xargs echo

    Исходную строку разбили на много строк, по одному слову на строку, погрепали ненужное, снова собрали из отдельных слов одну строку.
    Это ленивый (и не универсальный) вариант, если не хотите изучать sed или awk, как советует pfg21 (а он плохого не посоветует).
    Ответ написан
    2 комментария
  • Почему во freepbx само ставится ПО?

    hint000
    @hint000
    у админа три руки
    Например, атоматически устанавливались обновления, а у какого-то из установленных пакетов изменились зависимости, что-то добавилось в зависимостях и поэтому это что-то автоматически установилось, чтобы не препятствовать обновлению. Но такое редко бывает и haproxy сам по себе не мелочь какая-то, чтобы внезапно появиться в чьих-то зависимостях. Но проверить легко - отдаёте команду на удаление haproxy (удаление начинается только после подтверждения [Y/n], так что можно не подтверждать и ничего фактически не удалять):sudo apt remove haproxy
    ...и смотрите список пакетов к удалению после строки The following packages will be REMOVED:
    Ответ написан
    Комментировать
  • Чем технически и физически обусловлена частота обновления ЖК экрана?

    hint000
    @hint000
    у админа три руки
    Отвечу на свой же комментарий.
    Теоретически-то можно не менять напряжение для пикселей, сохранивших своё состояние. А теоретически - потому что в практической реализации LCD-монитора мы не умеем адресовать в любой момент все (условно) 4096 * 3072=12 582 912 пикселей.
    Разумеется, мы не можем протянуть к матрице от контроллера матрицы двенадцать миллионов проводков. Но эту проблему можно было бы решить усложнением матрицы, когда каждым пикселем субпикселем управлял бы не один транзистор, а триггер какая-то аналоговая ячейка памяти. Тогда можно представить себе интересный эффект: при внезапном отключении источника сигнала (например, ПК) монитор мог бы показывать посмертный стоп-кадр. Такая эмуляция e-ink. Но это сделает монитор дороже.
    Ответ написан
    Комментировать
  • Не включается компьютер с molex-4pin, почему?

    hint000
    @hint000
    у админа три руки
    в комплекте был переходник с molex на 4pin. Если я эти 4pin подключаю на sys_fan, то комп просто не запускается или запускается, то сразу тухнет совсем.
    Потому что этот разъём на материнке не рассчитан на подключение к нему четырёх вентиляторов. Штатно туда можно подключить один вентилятор, сверх этого - на удачу.
    Ответ написан
    Комментировать
  • WIN.RAR: как объединить файлы?

    hint000
    @hint000
    у админа три руки
    Просто распаковываете самый первый, он автоматически подхватит остальные, но они должны лежать в той же папке.
    Кстати, в старых (очень старых) версиях RAR...
    многотомные архивы создавались иначе:
    База.rar
    База.r00
    База.r01 и т.д.
    Ответ написан
    2 комментария
  • Как настроить маршрутизацию через локальную точку OPENWRT с VPN Wireguard, которая не является default gateway?

    hint000
    @hint000
    у админа три руки
    Я так понимаю это из-за асимметричной маршрутизации на OPENWRT проблема
    Нет, по двум причинам. (1) в случае такой проблемы и полстраницы бы не прогружалось, и пинга бы не было; (2) на схеме просто нет места для асимметричной маршрутизации, т.к. всё в одну линию вытягивается, альтернативного маршрута нет.

    через раз загружает пол страницы и отваливается, хотя пинг стабильный
    Главное подозрение на MTU. Читайте по любой ссылке из первого десятка в поиске:
    https://www.google.com/search?q=windows+изменить+MTU
    В двух словах и "на пальцах": не пролазят только пакеты большого размера; пингуете маленькими пакетами, они пролазят; некоторые пакеты при загрузке страницы тоже маленькие, они пролазят, а на первом же большом пакете затык. Параметр MTU говорит: не посылай пакеты больше указанного размера.
    Ответ написан
  • Как составить уравнение, чтобы назначить цену для товара?

    hint000
    @hint000
    у админа три руки
    "Чтобы поймать рыбу, нужно думать как рыба" (с)
    Поэтому думайте как маркетплейс. Им не важно, сколько вы заработаете, им важно, сколько они заработают.
    x = цена продажи.
    Маркетплейс берёт себе x*10%+100 = x*0.1+100.
    Вам остаётся выручка (x минус то, что забрал маркетплейс), т.е. x-(x*0.1+100) = x*0.9-100.
    С другой стороны, вы уже посчитали, что вы хотите выручку 300*130% = 300*1.3 = 390
    (только непонятно, зачем вы для этого аж целое уравнение писали вместо одной операции умножения, ну да ладно, главное, что результат правильный).
    Итак, x*0.9-100=300*1.3
    x*0.9=300*1.3+100
    x=(300*1.3+100)/0.9=544.44
    Ответ написан
    Комментировать
  • Какой SMTP сервер использовать для высоконагруженного проекта?

    hint000
    @hint000
    у админа три руки
    минимум 50 000 писем в день
    минимум 35 в минуту... и ключевое слово тут "минимум", да?

    А задача разве не допускает горизонтальное масштабирование? Т.е. когда захлёбывается один сервер, то использовать параллельно два, три, десять, сто серверов. Если нет, то для вас печальные новости. Выбор какого-то конкретного SMTP-сервера не является серебряной пулей.
    Отправить 35 писем (без вложений!) в минуту можно, только ведь их (письма) должны ещё и принять на другой стороне без задержек, а вот это врядли. В рамках борьбы со спамом каждый почтовый сервер старается принимать письма от других как можно медленнее, искусственно затягивает процесс. И ваш сервер при отправке должен либо терпеливо ждать, либо говорить: "ай, пофиг, не буду так долго ждать, значит не удалось это письмо отправить, переходим к следующему письму".

    Если вам нужна массовая рассылка одного и того же письма на множество адресов, то сразу так и говорите. Для этой задачи есть несколько платных сервисов (гуглятся и здесь в вопросах не раз обсуждались).
    Ответ написан
    Комментировать
  • Как найти все углы относительно заданного?

    hint000
    @hint000
    у админа три руки
    псевдокод:
    n=6
    phi[0]=90
    phi[i]=phi[0]+i*360/n
    if phi[i]>=360 then phi[i]=phi[i]-360
    i=1..(n-1)
    (для углов в градусах)

    или

    n=6
    phi[0]=Pi/2
    phi[i]=phi[0]+i*2*Pi/n
    if phi[i]>=2*Pi then phi[i]=phi[i]-2*Pi
    i=1..(n-1)
    (для углов в радианах)
    Ответ написан
    Комментировать
  • Как для пользователей в терминальном сервере убрать отображение других пользователей в диспетчере задач?

    hint000
    @hint000
    у админа три руки
    Вместо терминального сервера используйте VDI.

    Я, конечно, не знаю, в чём смысл исходной задачи, но если он (т.е. смысл) сводится к анонимизации пользователей, то достаточно поменять имена учётных записей, чтобы вместо ostap.bender@roga-i-kopyta.com было user00123@roga-i-kopyta.com.

    А здесь смотрели?: https://www.google.com/search?q=Как+запретить+запу...
    Ответ написан
    Комментировать
  • Как выбрать мощность БП?

    hint000
    @hint000
    у админа три руки
    Просто учитывайте, что когда калькуляторы говорят вам про 600W, они уже включили сюда запас по мощности (те самые 25-35%).
    Дело хозяйское, можно и на 2000W поискать, будет с 5-кратным запасом. Опять же: не стыдно людям показать. :)
    Это если нет ограничений по бюджету.

    К тому же реальная мощность потребления может быть в 1.5 раза выше заявленной
    Не может. Заявленная - это как раз максимальная, а реальная 99.9% времени меньше максимальной.
    Хотя intel действительно врёт насчёт TDP своих процессоров (ну как "врёт"... по-своему считает) и у них потребление иногда бывает больше, чем заявленный TDP, но это чуть ли не единственное исключение (да и то не в полтора раза, а меньше), а у вас-то AMD.

    Вот чего у вас на скриншоте обрезано 12W * 8 = 96W? Одно дело, если это 8 штук SSD, другое дело 8 штук HDD.
    Для этих двух случаев и блоки питания нужно подбирать разные. Потому что SSD потребляет только с линии 5V, и потребляет постоянно (под нагрузкуй и без нагрузки разница небольшая), а HDD потребляет и 5V, и 12V, причём только при старте (первые несколько секунд) потребляет много от линии 12V, потом потребление сильно уменьшается. Но зато при старте видюха не потребляет много.
    А если это восемь вентиляторов, так они только 12V кушают... У разных БП разное соотношение мощностей на 5V и 12V. Нюансы, нюансы...
    Ответ написан
    4 комментария
  • Что там с драйверами на модемы Huawei под 11 винду?

    hint000
    @hint000
    у админа три руки
    Необходимо использовать его именно в режиме модема? Просто чаще используют в режиме роутера.
    И, насколько я понимаю, в режиме роутера он должен использовать RNDIS, который одинаковый для множества устройств, стандартно присутствует в винде, не требует дополнительных драйверов. По крайней мере, раньше так было. Здесь в таблице в Windows 11 присутствует RNDIS: https://learn.microsoft.com/ru-ru/windows-hardware...
    Для режима модема RNDIS не подходит, конечно.

    Не хотелось бы устраивать очередную теорию заговора, но то, о чём вы рассказываете, наводит на мысль, что Майкрософт специально гадит Хуавею (не по своей инициативе, а по требованию властей).
    Ответ написан
    7 комментариев