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

    @rPman
    Если выбор из двух - то однозначно второй.

    Больше оперативной памяти и главное - легче, потому что меньше веса даже на пару килограмм очень критично. Носить с собой что то постоянно очень нелегко... те кто носил 5-тикилограммовые гробы а потом ходили с 1.5кг тонкими подтвердят.

    Вторая железка кстати так же дискретную видеокарту содержит, хоть и слабее, но это не критично для разработчика мобильных приложений, тесты 3d приложений android на любом железе не симулируешь или это будут неправильные тесты (т.е. не выявят ряд проблем на реальном железе).

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

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

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

    Монитор - почему я всем говорю, ноутбуки не для работы, только для коротких эпизодов и правок. Если монитор не 24" (именно на такой размер ориентируются подавляющее большинство сред разработки и интерфейсов различных утилит) то придется чем то жертвовать, где то лишние действия (свернуть/показать окно), где то чаще листать по коду, который не влезает в экран. Момент спорный, и многие скажут что хватает и 15" поэтому третьим пунктом поставил, это не так важно как клавиатура и мышка, но недостатки от сюда повышают нагрузку на эти пункты.
    Ответ написан
    1 комментарий
  • Какая есть программа для поиска дубликатов видео с частичным совпадением видео ряда?

    @rPman
    Неужели совсем гуглом пользоваться не умеешь?
    я не пробовал, попробуй это https://github.com/0x90d/videoduplicatefinder

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

    p.s. смутно помню что так как дубликаты аудио искать проще, в том же youtube это так и работает.
    Ответ написан
    7 комментариев
  • Как добиться нормальной скорости чтения microSD через встроенный картридер на Debian?

    @rPman
    Очевидно что картридер в usb-модеме не работает на ожидаемых скоростях, сделан 'для галочки' и работает медленно.
    Ответ написан
  • Какова максимально возможная скорость по последовательному каналу передачи? Откуда физически берутся эти сотни гигабит в секунду?

    @rPman
    Мог бы и проверить чужие высказывания, я ляпнул не проверив, другой повторил, и вот уже у кого то в голове не состыковка
    https://en.wikipedia.org/wiki/PCI_Express

    pci-e 5.0 работает на частоте 32гигагерца (нет не прав, там речь идет в гигатрансферах, чем бы это не было), т.е. одна линия 4гигабайта/с. Правда там кодирование 130бит в 128, т.е. в реальности чуть меньше.
    Ответ написан
    Комментировать
  • Какую камеру выбрать для наблюдения за животными и рыбками в разных условиях?

    @rPman
    Вам не камера нужна а решение, т.е. это не купил коробку и заработало, а нашел подрядчика, он все собрал, подключил, софт настроил и гарантию с поддержкой N лет подписал.

    Готовой камеры с батарейкой и ИК подсветкой нет... точнее чего то в списке требований не будет реализовано.

    Ну и чтобы был хоть какой то ответ - смартфон + карта памяти + ИПБ с поддержкой дополнительных батарей, по деньгам такое решение максимально дешевое, ну в коробку герметичную засунуть с охлаждением/подогревом (как ни странно на последнее можно потратить треть стоимости от всего остального). Софт, какой нибудь ip webcam для android, он и пишет, и удаленное управление по сети (камеры в локальную сеть объединить) и детектор движения и куча всего...

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

    Современные смартфоны уже имеют камеру с заоблачным соотношением цена/качество, особенно когда начинаешь считать стоимость специализированных уличных камер. Причем стало на столько это абсурдно, что производители смартфонов low и mid ценовых диапазонов уже давно блокируют функционал этих камер на использование только в официальном приложении 'камера', которую сложно автоматизировать, наверное чтобы не конкурировать с сектором камер. Я на смартфоне xiaomi a2 2018 года снимал звезды ночью, без оптики вообще, просто поставив выдержку 8сек, в городе (это с засветкой! в лесу там вообще можно было бы млечный путь снимать).
    Ответ написан
    1 комментарий
  • Как поместить большую модель на нескольких видеокартах?

    @rPman
    Требования оперативной памяти к GPT моделям примерно 2x байт от количества параметров (на самом деле сложнее и больше но но начинают говорить именно с этой оценки). Полистай сообщения этого бота на huggingface, вот пример для llama2-70b
    float32	256.29 GB
    float16	128.15 GB
    int8	64.07 GB квантизация
    int4	32.04 GB квантизация


    Для использовании модели не для ее обучения и тюнинга, более чем достаточно 8битной квантизации, мало того, 6-ти и 5-битная квантизация понижает ее качество на считанные доли процентов (4-бит уже единицы процентов). Шум и галлюцинации слабых моделей значительно выше чем эти различия (например простое перефразирование системного текста или вопроса, без изменения его смысла, изменит результат значительнее).

    Если тебе нужно использовать модель на python с помощью tensorflow, бери код с офф страницы модели и используй bitsandbytes. Не подскажу по тому, как раскидать модель по нескольким видеокартам тут, проектов тьма, есть даже те что работают по сети (т.е. не в пределах одной машины) типа petals.

    И у тебя есть альтернатива, используй проект llama.cpp, позволяет запускать модель на процессоре (значительно эффективнее чем реализация на tensorflow) и есть поддержка gpu, одновременно нескольких и разных, причем любой, не только nvidia, плюс если vram не хватает, можно оставить часть весов в памяти и досчитывать на процессоре, что все равно эффективнее.

    p.s. llama3-70b с помощью llama.cpp я запускал на процессоре с памятью 64Gb, с квантизацией 5bit, примерно 1.4токена в секунду, что все еще быстрее для англоязычных текстов чем пишет большинство людей.
    Ответ написан
    5 комментариев
  • Как изменить переменную, которая находится вне класса?

    @rPman
    На будущее, когда вариант Rsa97 не прокатит, нужно передавать объекты по ссылке
    class MyClass {
        private $array;
    
        public function __construct(&$array) {
            $this->array = &$array;
    	$this->array['123']='456';
        }
    }
    
    $array = [];
    $grid = new MyClass($array);
    print_r($array);
    Ответ написан
  • Стоит ли хранить больше данных в бд ради упрощения sql-запросов?

    @rPman
    В зависимости от размера дополнительных данных и количества памяти, но часто да, это хорошая практика.

    У меня был пример, когда рядом с огромной таблицей, я самостоятельно специальным демоном поддерживал таблицу, где в ячейках дублировал агитирующую информацию (суммы, min/max и т.п. при чем по всем моим статистическим запросам, там десятки параметров), за некоторый период (подбирать экспериментально или эмпирически по логике запросов), например по месяцам, за исключением последнего периода. Когда данных много, даже при использовании индексов, посчитать сумму за весь период по условию по всем данным - очень длительная операция. У меня было ручное разбиение исходного массива на текущий месяц и архив (это можно было делать средствами БД но мне удобнее было самому вести две отдельные таблицы) и при переносе устаревших данных в архив, велось заполнение этой агрегирующей таблицы.

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

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

    @rPman
    Да, штатно с windows любых версий (с winxp) поставляется с internet information service (IIS), устанавливается из установка и добавление компонент в панели управления, это веб сервер, с gui консолью по управлению. Открыть доступ к каталогу по http/ftp дело нескольких кликов мышкой. По простому доступ к серверу по ip адресу.

    Правда нет автосоздания точки wifi (в android total commander это есть) но с компьютера это обычно тот еще квест, особенно когда производитель чипа его кастрировал и не дал нужного функционала.

    p.s. где то гулял reg файл, с однострочником веб сервера, запускающий таковой по правой кнопкой на любом каталоге. Команда будет типа такой:
    "C:\Program Files (x86)\IIS Express\iisexpress.exe" /path:C:\MyWeb /port:8000
    Ответ написан
    Комментировать
  • Как быстро извлечь большой файл из .zst?

    @rPman
    .zst это скорее всего Zstandard compress, нормальная поддержка есть у 7z а так же одноименной консольной утилиты zstd. Кстати там же можно выбрать использование многопоточности (но лично я не помню чтобы у меня распаковка упиралась по процессору).

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

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

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

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

    Области, которые настоятельно рекомендуется заглянуть - обязательно базы данных, автоматизация работы с типовыми пользовательскими задачами (вот по простому - файлы надо переименовать кучу, или в документе провести подмену чуть сложнее чем А на Б и т.п.) сразу пощупаешь и скриптовые адские языки типа bash/cmd/powershell и устаревшие visual basic script, и заглянешь в c# при наличии потребностей, между прочим простой офисный клерк, умеющий автоматизировать свою работу на уровне документов уже ценен.

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

    Обязательно изучи все что сейчас вокруг использования ИИ (chatgpt), не как разработчик этих ИИ а как пользователь, понимание что такое промпт, какие задачи можно решать с их помощью и какие глупо, какие недостатки и чем они обусловлены - это мейнстрим, и отставать тут не рекомендуется, плюс ИИ сам по себе неплохой помошник в обучении (с осторожностью!).
    Ответ написан
    4 комментария
  • Чем восстановить файлы Excel?

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

    p.s. если excel файлы это .xlsx то это zip архив, и его можно попробовать восстановить штатным инструментарием zip. В этом случае часть файлов архива может не быть восстановлена но если повезет и среди оставшихся будет xl/worksheets/sheet1.xml то это содержимое первого листа, и его можно к примеру подсунуть с заменой в другую версию этого документа и получить рабочий результат.
    Ответ написан
  • Как не позволить всем сервисам гугл входить в мой аккаунт при входе в одном?

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

    Например ключом --profile-directory=каталог, где хранятся пользовательские профили (смена в GUI) по умолчанию всегда создается default профиль, получается смена профиля просто сменой каталога.
    Ответ написан
    Комментировать
  • Как вывод команды help в терминал передать в переменную?

    @rPman
    подмени stdout на свою строку на время работы help и dir и потом обратно, с помощью io
    import io
    import sys
    # Create a text buffer object
    buffer = io.StringIO()
    # Redirect stdout to the buffer
    sys.stdout = buffer
    # Call the help function
    help(object)
    # Reset stdout to default
    sys.stdout = sys.__stdout__
    # Get the string value from the buffer
    help_in_string_format = buffer.getvalue()
    # You can now use the string variable as required.
    print(help_in_string_format)

    p.s. очень удобно пользоваться chatgpt когда задачи простые и ты понимаешь как их решать, он берет на себя кучу скучной и не интересной работы
    Ответ написан
  • Создание существующей ОС как виртуалки. Какие самые удобные способы?

    @rPman
    Фактически все гипервизоры позволяют подключать физический диск или раздел как диск гостевой системы. Некоторые позволяют пробрасывать целый контроллер внутрь.
    Инструкции зависят от выбранного гипервизора виртуализации.
    Ответ написан
    Комментировать
  • Как загружать файлы на облачную виртуальную машину?

    @rPman
    При наличии ssh используй scp или устаревший sftp, оба штатно должны работать в ssh без установки дополнительного софта, максимум в настройках сервера включить (scp должно работать по умолчанию)

    С твоей стороны, на любую ос можно найти файловые менеджеры, умеющие scp, начиная со штатного консольного (например штатный scp, или rsync, или curl понимают в качестве цели ssh://user@server/path), gui - тот же far (хоть под linux far2l хоть под windows) или total commander
    Ответ написан
    Комментировать
  • Встроенный видеопроцессор, D-Sub разрешение 2k?

    @rPman
    Ты не найдешь современного монитора (не crt) с vga входом и разрешением 2048x1536@75Hz - это 2к (точнее чуть больше) и они идут c hdmi/dvi-i/dp

    И кстати, если ты найдешь телевизор с разрешением 2k-4k, в котором обычно добавляют vga и даже scart разъемы для исторической совместимости, с высокими шансами 'точка в точку' у тебя не получится его завести, почти навреняка сначала этот псевдо 2k (он квадратный) будет преобразован в fullhd с полосками по бокам или непропорционально растянут, а затем это будет повторно растянут на нативное разрешение матрицы.
    Ответ написан
    Комментировать
  • Как хранить изображения в PostgreSql?

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

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

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

    Причина - большое (десятки тысяч) количество файлов в одном каталоге не совсем удобно в том плане, что многие утилиты резервного копирования (да и просто работа с файлами, получение списка или удаление с помощью bash rm, он до сих пор глючный и тормозит), поэтому вместо хранения файла 031432532341234123.jpeg делать подкаталоги 0314/3253/2341/234123.jpeg заранее расчитав количество уровней от прогнозируемого количества файлов.
    Ответ написан
    1 комментарий
  • Почему не работает интернет через кабель на пк?

    @rPman
    Свойства ethernet, выбери tcp ip/v4 и покажи что там настроено для ip адреса

    Если там стоит выбрать автоматически, то смотри настройки на роутере
    Ответ написан
    6 комментариев
  • Возможно ли на винде написать программу дешифровки?

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

    Всю систему шифруют не на уровне файлов а на уровне диска, пароль будет запрошен при старте системы (точнее при монтировании диска) штатный инструментарий windows или сторонние типа veracrypt
    Ответ написан
    Комментировать