Задать вопрос
  • Можно ли заменить линейный привод сервой для открытия дверей теплицы?

    @rPman
    у вас поворотная дверь? легко - серия блоков (можно найти в мебельной фурнитуре но дешевле колхозить самому из самых дешевых подшипников и на 3d принтере напечатать колесики), чрез которые протянуто соединенное в кольцо бечевка, желательно которая не тянется, зафиксированная на двери и она же обернута вокруг вала обычного коллекторного двигателя за пару сотен рублей 12в-24в (его придется как то защищать от влаги и перепадов температур), в идеале чтобы одна и та же бечевка была соединена с дверью снизу и с верху, чтобы не было перекоса. Направление вращения двигателя определяет порядок подачи тока +- (меняется трехпозиционным парным переключателем либо двумя двухпозиционными), при клине двери бечевка на блоке двигателя просто прокручивается, ничего не повреждается.

    Вся сложность сделать ее натянутой и правильно разместить блоки, проблема это вытекает из отсутствия жесткости всей конструкции, чем дешевле материалы, тем сильнее будут гулять и раскачиваться размеры, меняться расстояния между блоками а значит будут перекосы, можно попытаться решить дополительным натяжением нити пружиной с блоком или грузиком. Так же пролему создаст способ соединения бечевки с дверью, если без полуколеса, то в зависимости от угла открытия двери натяжение бечевки так же меняется, так что противовес для натяжения нити нужен.
    Ответ написан
  • Скрипт управления VMware?

    @rPman
    https://developer.vmware.com/docs/vsphere-automati...
    там простые http rest запросы get/post и json

    еще смотрите штатные утилиты командной строки vmrun например.
    Ответ написан
    Комментировать
  • Подключение через прокси?

    @rPman
    Возможность подключаться к https прокси - это фича реализации конкретной http-прокси, т.е. будет зависеть от того какую выбрали (поддержка http connect), само собой в этом режиме кэширования не будет
    Ответ написан
  • Требуется спарсить json в базу данных. Критична скорость. Какой язык и фрейворк выбрать?

    @rPman
    Если тормозит json парсер:
    - пишите сами, когда формат зафиксирован, можно обойтись регулярными выражениями, это чаще всего бывает отличным компромисом скорость разработки/выполнения, иначе пилите на c/c++ ковырялку посимвольную (не факт что у вас получится быстрее регулярных выражений).

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

    - не собирайте данные промежуточно в ассоциативные массивы, отправляйте все сразу в sql запросы

    Если тормозит запись в sql базу данных:

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

    - отключайте индексы, иногда это дает огромный прирост скорости записи (включая foreign key), после окончания добавления данных вернете

    - разместите временно файлы tablespace базы на максимально быстром диске, даже в ущерб надежности, например в оперативной памяти tmpfs/ramdisk (есть свои особенности, по умолчанию виртуалку оно не использует но под windows imdisk умеет), либо ищите где можно включить принудительный кеш на запись (это бывает не просто)

    Позже, когда импорт базы закончится, остановите базу и перенесете файлы вручную, поменяв симлинки на каталоги
    Ответ написан
    Комментировать
  • Нейросети и как понять что мне нужно?

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

    Без относительно к задаче не думаю что вы сможете найти четкое определение. Нужно фиксироваться на задаче и исследовать.

    Количество скрытых нейронов влияет на сложность/стоимость обучения (экспонента)

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

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

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

    99% работы разработки нейронных сетей - это работа с данными и приведение их к виду, удобному для нейронной сети. Чем 'лучше' эта работа будет сделана тем меньше ресурсов (времени и денег) будет потрачено на обучение.

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

    Недостатки
    Слишком много варьируемых параметров сети; непонятно, для какой задачи и вычислительной мощности какие нужны настройки. Так, к варьируемым параметрам можно отнести: количество слоёв, размерность ядра свёртки для каждого из слоёв, количество ядер для каждого из слоёв, шаг сдвига ядра при обработке слоя, необходимость слоёв субдискретизации, степень уменьшения ими размерности, функция по уменьшению размерности (выбор максимума, среднего и т. п.), передаточная функция нейронов, наличие и параметры выходной полносвязной нейросети на выходе свёрточной. Все эти параметры существенно влияют на результат, но выбираются исследователями эмпирически. Существует несколько выверенных и прекрасно работающих конфигураций сетей, но не хватает рекомендаций, по которым нужно строить сеть для новой задачи.
    Ответ написан
    Комментировать
  • Как сделать запрос с передачей header в php?

    @rPman
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($header));
    тут ошибка - это делает запрос POST с полями равными списку ваших заголовков (т.е. это будут уже данные а не заголовки)
    надо
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    Ответ написан
    Комментировать
  • Как запретить убивать процесс автоматически?

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

    Можно форкать в момент когда процесс убивают (наверное имеет смысл если причина убийства не физический конец памяти а некоторые комбинации настроек лимитов), предварительно освободив занятую память конечно. Т.е. ваш процесс конечно умрет, но перед самой смертью он родит клона, с меньшим потреблением памяти.
    p.s. не делайте так, это только от безысходности.

    тут как раз обсуждали как отловить момент
    Ответ написан
    2 комментария
  • Как исправлять проблемы с жестко запрограммированными паролями?

    @rPman
    Размещайте пароль в отдельном от проекта месте, вне системы дистрибуции обновлений (не важно каким способом вы устанавливаете и обновляете приложения, конфиги это не должно затрагивать, есть исключения но вопрос там не такой простой как кажется, требует отдельного исследования и ваших задач) управляемые отдельно. Самый простой и дубовый способ - конфигурационный файл в системном каталоге, например /etc или ~/.config или %appdata% если windows или любой другой на ваш выбор.

    Можно хранить данные на специальном сервере, и выдавать не обязательно через файл, пусть это будут сетевые запросы, даже если и http...

    В одном моем проекте у меня крутился примитивный самописный сервер для локальной сети, все экземпляры приложений обращались к нему за чувствительной информацией, в том числе за паролями к используемой базе данных. Каждая инсталляция имела в конфигурационном файле уникальный apikey, идентифицирующий ее, передав ее сервер паролей возвращал запрошенные параметры доступа к базе данных (базы были non-sql без своих инструментов управления доступа и sqlite), баз было несколько, этот сервер управлял еще и нагрузкой на них. Приложения каждый раз перед запросом в базу спрашивают сервер и смена настроек почти моментально разносится по приложениям.
    Ответ написан
    Комментировать
  • Как подключить RHVoise в pyttsx3?

    @rPman
    а как установили то?
    https://github.com/RHVoice/RHVoice/blob/master/doc...

    p.s. а вы уверены что оно должно работать в питоне?
    https://geekbrains.ru/posts/tts_python
    Ответ написан
    Комментировать
  • Как передать переменные php?

    @rPman
    Если скрипты запущены отдельным процессом, то есть три общих пути - через файлы (передающих сериализовал переменные методом serialize/json_encode/var_export... а принимающий прочитал и десериализовал deserialize/json_decode/...), через сокеты (tcp например), но тогда один из скриптов должен быть сервером, или через третье приложение, которое будет слушать сетевые запросы обоих и реагировать на них (веб сервер или к примеру базы данных).

    Первый метод самый простой и универсальный, но есть проблемы с оперативностью, синхронизацией и монопольным доступом, решаемые но в результате станет не так просто. Частный случай файлов - это пайпы и потоки, когда приложения запускаются одновременно с указанием что вывод одного (его echo или запись в STDOUT) поступят на вход другого (чтение STDIN) примерно так:
    php a.php | php b.php
    Ответ написан
    Комментировать
  • Как устранить шум микрофона?

    @rPman
    Самый лучший микрофон у меня был - у проводной гарнитуры dialog рублей за 100 (лет 8 назад), не тысяч а именно рублей... отвратительно хрупкий пластик гарнитуры (я ее даже ни разу не надевал) но отличный чувствительный микрофон, с которым работала дешевая материнская плата и встроенная в нее звуковая карта,.. не знаю были ли там шумы или это штатный шумодав отлично работал, но собеседники меня отлично слышали и понимали, когда я ходил по всей квартире (т.е. за две бетонные стенки заходил).

    После этого я брал разные копеечные и не очень гарнитуры, и ни разу такого качества не слышал. От сюда резюме - мир сошел с ума, производит говно, вне зависимости от того в какую обертку его заворачивают.
    Ответ написан
    Комментировать
  • Какой ассемблер больше подойдёт под виндовс и линукс?

    @rPman
    Ассемблер это язык прямой подмены текст - инструкция, он почти не зависит от компилятора, но зависит от железной архитектуры, под которую пишете (даже разные поколения ядер одного и того же производителя могут иметь разные команды, точнее для совместимости снизу вверх добавляются новые но старые редко удаляются).

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

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

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

    Сейчас низкоуровневым программированием считается язык си C (тот что без плюсов) на нем и пишут и ос и драйвера (кстати тоже не обязательно, и c++ подойдет и pascal, вон rust пиарят во всю для этого), а вирусы вообще пишут на всем что угодно, хоть на visual basic script в офисном документе.
    Ответ написан
    Комментировать
  • Как понять почему выключается ПК?

    @rPman
    Перегрев, проверить с помощью к примеру OpenHardwareMonitor, можно смотреть в трее температуру или писать логи. С вероятность 99% - процессор.

    Решать - заменой термопасты на процессоре или даже его системы охлаждения.
    Ответ написан
  • Как обезопасить данные на Hyper-V?

    @rPman
    Данные не хранят там же где работает сервер, вне зависимости от вида системы виртуализации, сами контейнеры держат на стороннем NAS, иначе не будут работать всякие фишки обеспечения надежности типа High Availability или круче - Fault Tolerance

    p.s. под вашу задачу - если бы у вас хост был linux, можно было бы поставить на каждый сервер ноды DRBD - распределенное хранилище, и уже на нем держите свои образы (напрямую поддержки DRBD у систем виртуализации нет, но linux могут работать с ними нативно, для windows пока пилится драйвер), в любом случае это плохой вариант.
    Ответ написан
    Комментировать
  • Как лучше разделить диски для Mint?

    @rPman
    Весь ssd диск выделяете под дисковый кэш bcache (чтение запись) и поверх него btrfs или, если достаточно оперативной памяти, как штатный кэш zfs (только чтение). Вместо разделения диска на разделы dos, пилите тома btrfs/zfs, с очень гибким использованием пространства.

    Имеет смысл / и /home вынести в отдельные тома, персонально разделы ОС как то выделять не стоит, как это было лет 10-20 назад. Своп раздел позже разместите внутри одного из томов btrfs/zfs отключив для него фишки cow и прочие.

    Разделение на тома имеет смысл для гибкого контроля занимаемого места и может быть управления.

    p.s. если используется uefi (а он скорее всего используется) то вам потребуется раздел uefi boot и штатный бут сектор dos mbr или gpt.

    sda - ssd, sdb - hdd

    sda1 - 110Gb кэш
    sda2 - 10Gb защитная область для дешевых ssd (не от глюков а от сильного падения производительности)
    sdb1 - 100mb - uefi boot
    sdb2 - оставшееся место под диск bcache+btrfs/zfs
    Ответ написан
  • Как отключить опрос сетевых дисков на Windows 10?

    @rPman
    Дождитесь открытия проводником списка дисков, на каждом сетевом, который вам не нужен или помечен крестиком (недоступен) нажимайте правую кнопку и выбираете отключить.

    То же можно сделать из консоли с правами администратора командой net use ...
    Ответ написан
    8 комментариев
  • Как в облаке платить только за то, чем пользуешься?

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

    Облако - это маркетинговый термин, со всеми вытекающими от сюда неудобствами или бонусами.

    Главное достоинство/определение облака - скорость получения ресурсов, в идеале - мгновенно, без ожидания и каких то дополнительных настроек. В случаях когда это возможно, вы вообще получаете ровно столько сколько запрашиваете - хотите 10 запросов в секунду, получаете, хотите миллиард в следующую - берите, только платите. Это когда вы запрашиваете не виртуальную машину а готовую услугу по обработке определенных запросов например.

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

    Облака появились на фоне классического сервиса предоставления выделенного сервера, когда его получение обычно требовало ожидания в несколько часов или даже суток, после запроса и оплаты... потом появились панели управления, когда можно было покрутив настройки количества памяти/ядер/диска/... мышкой получить желаемое в минуты/секунды (зачастую ОС нужно перезагрузить, но обычно это быстро)... повторяю, облака - это форма управления пользовательскими заявками, интерфейс и ценообразование.

    p.s. будьте предельно осторожны https://habr.com/ru/post/532624/
    Ответ написан
    Комментировать
  • Как подключить 2 монитора с разной герцовкой и какие проблемы могут при этом возникнуть?

    @rPman
    Смутно помню что такая проблема была из-за того что мониторы с разной частотой как то запрещают видеокарте использовать сон
    Первое что нагуглил, там предлагают решение какими-нибудь утилитми принудительно ставить режим энергосбережения в зависимости от запущенного приложения
    Ответ написан
    2 комментария
  • Есть ли такая фото сигнализация (видеокамера)?

    @rPman
    Покупаете смартфон, пилите или ищите готовое приложение (вопрос в понятии 'удобство постановки на сигнализацию'), крепите его не стенку так чтобы фронтальная камера смотрела куда надо - профит.

    Что то мне говорит что по деньгам это будет дешевле всего.

    p.s. почти любая ip веб камера имеет алгоритмы детекта движения с отправкой фото или кусков видео на ftp, представить квартиру без роутера и интернета - сложно, в крайнем случае докупаете роутер с поддержкой 3g...
    Ответ написан
  • Что лучше в моей ситуации: купить 2 планки по 16 или добавить 2 по 8?

    @rPman
    Материнка с двухканальной памятью, это значит при четном количестве модулей памяти этот режим будет работать (+10% ускорения работы архиватора,.. +100% в синтетических тестах идеального случая), т.е. 2 или 4 не имеет разницы.

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

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