• Какой есть аналог teamviewer/anydesk с клиентом под Win и Linux, бесплатный?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Есть множество аналогов, но они работают куда хуже чем AnyDesk. Вот, я делал тестирование маем прошлого года, может сейчас чего лучше стало:

    Проетстировано:

    Remote Management System (RMS) - https://rmansys.ru (российское ПО, номер в реестре Минсвязи - 456)
    AeroAdmin - https://www.aeroadmin.com
    imPcRemote - https://remote-control-desktop.com
    LiteManager - https://litemanager.ru (российское ПО, номер в реестре Минсвязи - 1961)
    AnyDesk - https://anydesk.com

    Рассматривалось только ПО, имеющее версии как под Windows, так и под Linux, и обеспечивающее возможность соединения с клиентами:

    находящимися за NAT
    обладающими нулевыми знаниями в ИТ
    не требующие установки

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

    Общим недостатком всех программ под Linux является наличие где-то просто большого, а где-то реально ОГРОМНОГО списка зависимостей. Эту проблему решает только установка из пакета или сборочного файла, для Gentoo есть только net-misc/anydesk.

    Кроме того, у всех протестированных программ не работает передача индикации смены раскладки клавиатуры с клиента на хост. То есть при нажатии Ctrl-Shift (Alt-Shift) фактически раскладка переключается, но отображения этого не происходит. Передача отображения смены раскладки с хоста на клиента происходит нормально.

    RMS

    Распространяется в виде файла агента rms-agent.exe и файла для Linux rms-viewer. Бета-версия, поэтому в консоль постоянно выводит отладочный лог. Бесплатная лицензия требует паузы в несколько минут между переподключениями. Отвратительная скорость, особенно при подключении по 3G. Настройки по умолчанию сбивают с толку - ты не видишь ни локального, ни удаленного курсора. Иногда клиент безо всяких причин аварийно завершает работу по SIGSEGV. При завершении сессии с одной стороны вторая сторона почему-то об этом уведомления не получает и продолжает считать, что она подключена.

    AeroAdmin

    Распространяется в виде файла AeroAdmin.exe и по утверждениям разработчиков, работоспособен в Wine. Проверка эти утверждения не подтвердила, в wine 7.8 aeroadmin.exe аварийно завершается сразу же после запуска.

    Info: [16:34:06 / aeroadmin.cpp 1106] mode: 0
    20220520 16:34:06 [376 / service.cpp:597] !hService
    20220520 16:34:06 [376 / service.cpp:529] Installing service: "Z:\tmp\AeroAdmin.exe" s -sid 1
    012c:fixme:service:svcctl_ChangeServiceConfig2W SERVICE_CONFIG_FAILURE_ACTIONS not implemented: period 60 msg (null) cmd (null)
    0198:fixme:process:WTSGetActiveConsoleSessionId stub
    019c:fixme:ver:GetCurrentPackageId (017DFF00 00000000): stub
    Info: [16:301ac:fixme:wtsapi:WTSEnumerateSessionsW Stub 00000000 0x00000000 0x00000001 020DECB0 020DECA8
    01ac:fixme:wtsapi:WTSEnumerateSessionsW Stub 00000000 0x00000000 0x00000001 020DEADC 020DEAE0
    4:06 / aeroadmin.cpp 900] run_as_admiwine: Unhandled page fault on read access to FFFFFFFF at address 005B5DD6 (thread 0198), starting debugger...

    imPcRemote

    Распространяется в виде ZIP-архива impc_admin.zip для Linux и файла impcremoteinstant_user.exe для Windows. Ужасное некачественное изображение, страшная топорная оболочка, все напоминает VNC-клиенты образца начала 2000-х годов (впрочем, вполне возможно, так оно и есть). Скорость соединения приемлема, но изображение просто ужасно. Никаких других возможностей типа обмена файлами нет. Зато у него одного передается индикация смены раскладки клавиатуры.

    LiteManager

    Распространяется в виде файла для Linux LiteManager и файла для Windows ROMServer.exe. Автоматически подхватывает настройки прокси из системы и ,если они включены, пытается их использовать, отключить их невозможно, они постоянно включаются заново. Программа может быть была бы и неплохой, но в отличие от всех других, она не только не отображает переключение раскладки клавиатуры, но и реально их не переключает. То есть раскладку клавиатуры можно реально переключить только на хосте. Разрыв соединения с хостом не отображается - хост продолжает считать себя подключенным

    AnyDesk

    Распространяется в виде архива anydesk-N.N.-amd64.tar.gz для Linux и файла AnyDesk.exe для Windows. Обладает достаточно быстрой скоростью отображения изменений (по крайней мере, наибольшей среди всех протестированных программ). Единственный клиент, в котором настройка подтверждения удаленного соединения на хосте включена по умолчанию. Также единственный клиент, в котором кроме собственно бинарника, в поставку входит файл .desktop (для размещения на рабочем столе графической оболочки Linux), а также файлы запуска сервиса для Linux под init и systemd и значки в формате PNG.

    Выводы

    LiteManager и AeroAdmin использовать просто нельзя - в силу наличия у них серьезных ошибок, препятствующих их нормальной работе.
    Remote Mamagement System использовать пока нельзя - в силу нестабильности работы модуля клиента - в процессе тестирования он аварийно завершался у меня два раза, систему я не уловил, но аварийное завершение клиента в процессе реальной отладки на шахте например может принести множество неприятностей.

    imPcRemote использовать пока можно - там где нет требований к передаче изображения, потому что качество там явно 8 бит, не больше. Разрабатывается небольшой канадской компанией.
    AnyDesk использовать пока можно - за исключением того, что он не передает отображение значка раскладки клавиатуры, у него нет каких-то явно выраженных недостатков, но в силу того, что это достаточно крупная немецкая компания, всегда следует иметь в виду, что она может поступить как TeamViewer.
    Ответ написан
    6 комментариев
  • Есть ли преимущества у DOS-версии Victoria HDD перед Win-версией?

    @psiklop
    Конечно они будут адекватными, там есть смарт-таблица и тест поверхности (быстрый и полный), по наличию бэдов или увеличенному времени доступа можно будет сделать абсолютно адекватный вывод. Единственное ограничение насколько помню, это не само выполнение теста, а переназначение бэдов (лечение) и то оно работает под Win, но возможно понадобятся дополнительные манипуляции, виктория сама напишет, что сделать.
    Ответ написан
    2 комментария
  • Есть ли преимущества у DOS-версии Victoria HDD перед Win-версией?

    @Drno
    С загрузочной флешки. Чтоб система в диск не лезла
    Ответ написан
    Комментировать
  • Кто сможет Объяснить код объясните его пожалуйста?

    @rPman
    вот что ответил ChatGPT с переводом от deepl
    Этот код считывает входные данные из стандартного потока ввода (stdin) и перебирает каждую строку с помощью цикла for. Для каждой строки он делает следующее:

    Используется метод strip() для удаления из строки пробельных символов, идущих впереди или позади.
    С помощью метода capitalize() первая буква строки пишется заглавной, а остальные буквы делаются строчными.
    Используется f-строка для форматирования строки в строку, заключенную в двойные кавычки и сопровождаемую символом новой строки.
    Полученная строка печатается в стандартный поток вывода.

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

    привет мир
    как дела

    Выходные данные будут такими:
    "Привет мир\n"
    "Как дела\n"
    Ответ написан
    Комментировать
  • Какой Линукс подойдет для этого компьютера?

    ValdikSS
    @ValdikSS
    У вас 32-битный процессор? Из современных именитых x86 32-битных дистрибутивов осталось только два: Debian и OpenSUSE Tumbleweed. Остальные либо еще формируют 32-битные пакеты, но не выпускают установочные .iso (а значит, никто эти пакеты не проверяет), либо вовсе не собирают x86, либо многие пакеты в них сломаны, как в ArchLinux32.

    Рекомендую вам попробовать с Debian 12 (bookworm, в данный момент в testing), т.к. он достаточно свежий, а главное — в нём свежее ядро, в котором решена давняя проблема Linux — зависание при недостатке памяти.
    После установки, выполните следующие команды, чтобы увеличить отзывчивость:

    sudo apt install zram-tools
    sudo sed -i 's/^#PERCENT=.*/PERCENT=150/' /etc/default/zramswap
    echo 'w-      /sys/kernel/mm/lru_gen/enabled          -       -       -       -       y' | sudo tee /etc/tmpfiles.d/mglru.conf
    echo 'w-      /sys/kernel/mm/lru_gen/min_ttl_ms       -       -       -       -       1000' | sudo tee -a /etc/tmpfiles.d/mglru.conf


    Перезагрузитесь, затем пробуйте пользоваться системой.

    Если же у вас Pentium 4 из более поздних поколений, то можете установить 64-битный дистрибутив, из выбор значительно шире. См. статью по ссылке выше.
    Ответ написан
    Комментировать
  • Как отключить предложение установить McAfee на windows 10?

    @rPman
    sysinternails autoruns - мощная утилита от майкрософт, показывает в одном списке практически все места где идет автоматический запуск, тут же можно удалить, тут же видно наличие цифровой подписи exe файла и ее владелец.

    Если не понимаешь чья утилита висит в автозапуске и нужна ли она, можно в виртуалке поставить систему и так же запустить в ней autoruns и сравнить.

    Есть еще task scheduler, бывает там тоже висят задачи (там вообще много что запускается, (например вся телеметрия от майкрософта туда вынесена), по той же схеме смотри и вычищай.
    Ответ написан
    Комментировать
  • Считается ли только создание API достаточным пет проектом для демонстрации своих навыков в бэкенд разработке в резюме?

    @mletov
    API API рознь.

    Если один контроллер и 3 экшена, в которые засунута вся логика - то никому не интересно, даже с навыками фронта.

    А вот если API сделано:

    - с использованием ООП и паттернов
    - многоуровневой архитектурой
    - SQL запросами, которые сложнее просто SELECT
    - авторизацией, проверкой прав на рутинги, JWT
    - асинхронностью
    - Swagger

    то хватит более чем, возьмут и без знания фронта или по крайней мере с минимальным знанием (например, bootstrap + jquery).

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

    Так то бэкенды в основном API и пишут, но важно в первую очередь качество исполнения, степень сложности решенной задачи, а также желательно показать разнообразие инструментов, технологий и подходов, которыми владеете.
    Ответ написан
    2 комментария
  • Какой ноутбук взять для frontend в 2022 году?

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

    Второе требование - наличие быстрого и объемного накопителя (например возможность добавить свой вторым или заменить уже имеющийся)

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

    Клавиатура у ноутбука обычно неудобная (полноценная клавиатура с правильным/удобным расположением кнопок, таких как навигационные стрелки, кнопки ctrl/alt/shift/menu а так же ins/del это почти нереально, а значит либо придется приучаться к неудобному расположению (кстати часто вендоры изобретают свое, что делает этот 'скилл' абсурднобесполезным) либо таскать с собой нормальную клавиатуру ;)

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

    Подумай 10 раз и все же купи нормальный десктоп.
    Ответ написан
    Комментировать
  • Что знает dpi о мессенджерах?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Что ты общаешься в конкретном мессенжере. Что ты хотел вообще услышать. Информация собирается и в дальнейшем может быть размотана назад, плоть до покупке симки и твоей фотки с камеры.
    Ответ написан
    Комментировать
  • Как декодировать текст?

    @deliro
    import base64
    
    text = 'eyJzaWQiOiJmYVVGVjBpTVo2OTRpY3BTVnhsMGJNbzBaUEJGTmcyWiIsImFpZCI6bnVsbCwiZXhwIjoxNjY3MTQ4NTQyfQ'
    print(base64.b64decode(text + "=="))


    Пожалуйста
    Ответ написан
    1 комментарий
  • Как декодировать текст?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Правильный ответ
    print(base64.b64decode(text + '=' * (-len(text) % 4)))

    Все же написано в сообщении об ошибке. Строка не добита символами = до нужной длины, чтобы быть кратной 4
    Ответ написан
    Комментировать
  • Astra Linux лицензия?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Ничего не делать. Потому что Смоленск - Special Edition cо всяческими сертификатами. Устанавливаешь несертифицированное обновление - и все, сертификация накрылась. Вместе с тобой.

    Трогать Special Edition крайне не рекомендуется - обновление только со штатных серверов.

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

    Да, и вручную не стоит ничего собирать - система должна быть ровно в том состоянии, в каком ее поставили (не считая обновлений, которые сделаны со штатных серверов)
    Ответ написан
    5 комментариев
  • Можно ли автоматически выбирать принтер в зависимости от размера печати?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    1. Создаем виртуальный принтер
    2. Настраиваем печать из софта на виртуальный принтер
    3. Виртуальный принтер настраиваем на выполнение скрипта/приложения, которое проверит размер печати и отправит результат далее на нужный принтер

    Я, правда делал иную задачу - использовал виртуальный принтер для конвертации чего угодно в пдф для загрузки в облако. Перенаправление печати тоже достаточно легко делается через виртуальный принтер. Виртуальный принтер использовал вот этот: https://www.pdfforge.org/pdfcreator - это приложение уже имеет в составе виртуальный принтер, само его ставит и настраивает, результат печати перегоняет в ПДФ, и умеет вызывать нужное приложение по окончанию конвертации. Лучшее решение, что я нашел для создания виртуального принтера сразу и без смс. Пример детектирования размера страницы в ПДФ: https://stackoverflow.com/questions/15565740/deter...
    Ну и альтернативный вариант: сменить три принтера на один с несколькими лотками и умением автоматически выбирать источник для печати.
    Ответ написан
    1 комментарий
  • Какие инструменты нужны для разработки игр?

    @MarkusD
    все время мелю чепуху :)
    Сегодня существует ровно два базовых направления разработки конкретного коммерческого проекта.
    Способ первый: купить лицензию или подписку на уже готовый инструмент разработки и заняться непосредственно разработкой своей игры.
    Способ второй: иметь в своем штате команду разработчиков собственного инструмента, на базе которого можно заняться разработкой своей игры.

    Первый способ популяризирует публичные универсальные инструменты разработки.
    Второй способ эксплуатирует проприетарные инструменты.

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

    DirectX, Vulkan и OpenGL, равно как Metal и ряд проприетарных GAPI некоторых закрытых платформ, не являются графическими библиотеками. Это все - Graphics Application Programming Interface - GAPI.
    Это - низкоуровневые интерфейсы драйвера GPU, позволяющие эксплуатировать ресурсы видеокарты в своих целях. Не только для рисования чего-то, а для ИИ, ML, сложных статистических вычислений, предсказаний и прочих расчетов на больших объемах данных.
    Под капотом любого инструмента, будь-то проприетарный или публичный, в его графическом слое используется один или несколько GAPI. Без этого никак.
    OpenGL, как и DirectX 11, нисколько не устарели, поскольку предоставляют упрощенный интерфейс управления ресурсами GPU. Они используются тогда, когда разработчикам не нужны самые тонкие механизмы управления ресурсами GPU, которые предоставляют DirectX 12 или Vulkan. Потому что последние, помимо прочего, требуют от разработчиков более глубокой экспертизы и больше ресурсов на разработку всего того же, что на OpenGL и DirectX 11 реализуется меньшими силами и за меньшее время.

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

    Информации по каждой отдельной области разработки игр хоть отбавляй. Ее настолько много, что одному человеку за жизнь не усвоить. Поэтому от современного специалиста сегодня требуется спрофилироваться, т.е. определиться со своим профилем работы и стать экспертом.
    Я больше 15 лет занимаюсь разработкой игровых движков и медиаферймворков. Более 10 лет занимаюсь коммерческой разработкой кросслпатформенных инструментов. Я начинал свое обучение по книгам и документации для всех интересующих меня областей еще 20 лет назад. Я самостоятельно освоил множество API, включая графические, сетевые, звуковые и API целевых платформ, используя книги и документацию. Экспертные знания C++ и прочих языков я получил тоже через изучение документации, стандартов и книг.
    Я могу сказать что обучаться по книгам и документации можно и самостоятельно. Еще можно заплатить деньги и получить более точечные знания через их интерпретацию на распространенных сегодня онлайн-курсах. Такие знания не всегда бывают лучше полученных самостоятельно, но времени на освоение того же объема знаний на курсах уйдет меньше чем при самостоятельном изучении. Иными словами, занятия на онлайн-курсах не отменяют важности самостоятельного изучения основных источников информации.
    По открытым видеоурокам на ютубе и прочих видеохостингах обучаться нечему. Цель этих видео - чтобы зритель посмотрел рекламу и этим принес доход автору.
    Ответ написан
    2 комментария
  • В чем преимущества Python?

    @kazmiruk
    1. Для системных тулов, мат. вычисления, веб
    2. Множество готовых батареек, качественные веб-фреймворки, живое и дружелюбное сообщество
    3. Если мнение авторов питона - на сайте, мое - замечательный синтаксис, соотношение "скорость разработки - качество кода - скорость выполнения" одна из самых высоких
    4. Сегодня - питон (много работы, высокие зарплаты). Завтра - скорее всего java (очень активно идет развитие стека typesafe и, мне кажется, что в будущем он займет свою довольно внушительную нишу в веб разработке. Но это завтра может настать очень не скоро, если вообще настанет. Ну и это все таки не для веб студий и не для сайтов-визиток вариант. Проекты сложности выше средней с долгосрочной поддержкой). RoR - работы меньше, оплата еще выше. Пхп - работы горы, зарплаты намного меньше. Но вообще трудно сказать. Есть еще nodejs (развивается гигантскими скачками), но не могу про него ничего сказать толкового. Работы под него довольно много, но как изнутри не знаю.
    А вообще сейчас набегут Рубисты, Явисты, Пхпшники и начнется холивар, поэтому надо текать ) Изучив любой из php\python\ruby на достаточном уровне и выдавая качественный код Вы будете востребованы как специалист еще довольно долго.
    Ответ написан
    Комментировать
  • Что действительно пишут на Python как правило в бизнесе?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    • Нейронные сети
    • Инструменты для работы с BIG DATA
    • Скрипты для автоматизации
    • Серверные части веб-сайтов (то, что вы описали - клиентская часть).
    • Боты для соц.сетей.
    Ответ написан
  • Оптимальный формат хранения изображения в текстовом виде?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вместо base64 можно использовать условный base65.
    Он тоже "избыточен", но в любом случае всё упирается в ограничения тех текстовых систем, через которые должно проходить изображение в виде текста.
    Например, если все системы поддерживают ASCII, то можно расшириться до условного base127, например. Можно ли использовать спец. символы, какие именно - вам виднее, это будет конкретное ограничение конкретной проблемы, которую вы решаете.

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

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

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

    В общем, вы хотите оптимизации, а она противоречит, всегда противоречила и будет противоречить универсальности. Поэтому не ищите универсальных решений. Изучите детально вашу проблему - и сможете увидеть, где можно срезать углы.
    Ответ написан
    Комментировать