• Как и где искать изготовление "железок" под заказ?

    shurshur
    @shurshur
    Drno, шить нужно всего один раз, а далее будет намного более удобно: прям из коробки куча настроек, софт оптимизирован по размеру, куча дополнительного устанавливаемого софта, всё готово для разделения на RO и RW с целью отделить прошиву от изменяемой части...

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

    А дешёвые китайцы вообще часто сразу идут с openwrt.

    Наоборот, чем больше девайсов, тем больше смысла всем этим заниматься.

    Полноценный Linux с systemd, dbus и кучей другого обвеса, с тяжёлым ядром и вагоном лишних модулей под GPU, звуковухи, периферию, море файловых систем и сетевых интерфейсов - зачем это нужно?
    Написано
  • Как и где искать изготовление "железок" под заказ?

    shurshur
    @shurshur
    Зачем так много памяти и диска? Это будут не простые шлюзы в сеть, а с какой-то сложной ресурсоёмкой функциональностью?

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

    Сильно сэкономить вряд ли выйдет, это нужно на очень большие партии рассчитывать. В дешёвом ценовом сегменте и так уже сэкономлено во всём, включая скидки за крупные партии.
    Написано
  • Как установить nextcloud на NGINX Unit?

    shurshur
    @shurshur
    Андрей, nextcloud такой сложный, что пытаться суперэкономить на веб-сервере это мазохизм.
    Написано
  • Почему make file компилятора выдает ошибку, что функция переопределяется?

    shurshur
    @shurshur
    Алексей, нет, общепринятая практика, что есть .h-файл с заголовками (описания типов, функций итд) и .c с кодом. В одну кучу это собирают при линковке. Примерно так:

    gcc -o file1.o -c file1.c
    gcc -o file2.o -c file2.c
    gcc -o main.o -c main.c
    gcc -o program file1.o file2.o main.o -lm -lawesomelib


    Также заголовочные файлы принято защищать от повторного включения так:

    // внутри файла foobar.h
    #ifndef __FOOBAR_H
    #define __FOOBAR_H
    ... содержимое...
    #endif /* __FOOBAR_H */


    Благодаря этому можно не париться, что другие заголовочные файлы включат тот же самый файл. Ведь __FOOBAR_H будет определено при первом включении.
    Написано
  • Почему google colab завершает работу скрипта?

    shurshur
    @shurshur
    dim5x, я склонен думать это google colab нарочно борется с такими пустыми циклами в своём интерпретаторе, добавляя фиктивные sleep или даже хотя бы перемещая по pass в конец очереди планировщика.

    Делать процессородробительный цикл всё равно будет по-прежнему неправильно. И этому надо учиться сразу.
    Написано
  • Возможно ли создать скрипт который перемещает файлы c Linux-машины на Windows-машину?

    shurshur
    @shurshur
    Можно установить что ssh-сервер, что ssh-клиент (сборку openssh от microsoft) на современную винду начиная с десятки. На проф-редакциях и выше - прям с помощью winget - но даже на хоум можно поставить из бинарного дистрибутива (в интернете полно объяснений).

    А также rsync, mc итд. Я уж не говорю о возможности поставить на винду mingw/msys или wsl...

    Также под Linux вполне работает samba. Тоже вполне вариант в некоторых сценариях. Webdav, ftp и другие-прочие варианты вряд ли имеют смысл, но они тоже имеются.
    Написано
  • Как именно гарантируется выделения n байт памяти библиотекой stdint.h?

    shurshur
    @shurshur
    Так стандартные заголовки и идут свои в каждом компиляторе, поэтому тут нет никакого противоречия.
    Написано
  • Что стоит использовать для защиты PHP-кода на текущий момент?

    shurshur
    @shurshur
    Adamos, справедливости ради стоит сказать, что Bitrix тоже когда-то распространялся зашифрованным (кажется, Zend Optimizer). Но потом они от этого всё же отказались.
    Написано
  • Почему google colab завершает работу скрипта?

    shurshur
    @shurshur
    dim5x, я не знаю что это за "пример кода" и что там за "железо" и как рисуются эти "графики". Но так делать всё равно НЕЛЬЗЯ. Потому что в другой раз эта ошибка дорого обойдётся. Потому что именно семантически бесконечный цикл без полезных действий в любом случае целиком исполняется процессором. В любом языке. Это надо сразу же знать и никогда не делать.

    Кстати, и первичную задачу лучще было бы сделать thread.join() на любом из запущенных тредов. Если они всё равно бесконечны - он никогда не завершится.
    Написано
  • Почему google colab завершает работу скрипта?

    shurshur
    @shurshur
    dim5x, бесконечный цикл безо всяких действий полностью исполняется процессором и считается в user time, все миллионы и миллиарды итераций. А sleep приводит к системному вызову и стоит около нуля user time - штучное количество тактов процессора в секунду. Фактически это возврат управления операционной системе.

    Это реально так и работает. Я не раз видел, как люди допускали подобную ошибку. Например, делали "ничего не делающий" цикл в bash, который по факту всё же "что-то делал" и выжирал одно процессорное ядро подчистую.

    Конечно, может зависеть от операционной системы и конкретной реализации. В DOS, например, даже sleep всегда является циклом, потому что процессор полностью в распоряжении программы, операционная система включается лишь по запросу или в результате аппаратных прерываний. Но мы же говорим о полноценных современных многозадачных операционных системах.
    Написано
  • Как изменить формат токена fastapi?

    shurshur
    @shurshur
    Bearer Auth по определению имеет такой формат. Тут скорее всего нужно кастомный класс написать. С fastapi только какую-то простую мелочь писал, но вот для requests пару раз делал нестандартные авторизации - там нужно класс с нужным интерфейсом сделать и его передавать вместо умолчального.
    Написано
  • Почему через psycopg2 не могу получить список таблиц в postgres?

    shurshur
    @shurshur
    lisi4ka, ещё замечание: при SELECT не надо делать COMMIT, ведь изменений нет. Ну кроме случаев, когда в SELECT вызывается функция, которая что-то изменяет в базе.

    Тем более на каждой итерации даже при изменении данных COMMIT смысла не надо делать, обычно делают весь цикл изменений или всю серию или часть изменений и затем COMMIT скопом. Как пример, когда делается массовая вставка в таблицу, то можно каждые 10000 записей делать COMMIT, но не на каждую запись - это лишь замедлит операцию.
    Написано
  • Почему через psycopg2 не могу получить список таблиц в postgres?

    shurshur
    @shurshur
    lisi4ka, оно и должно возвращать None. Дальше надо делать for row in cursor или более сложно так:

    while True:
        row = cursor.fetchone()
        if not row: break
        ...
    Написано
  • Есть ли какое нибудь расширение для отправки ускоренных голосовых?

    shurshur
    @shurshur
    ter56, так как приложение само записывает звук, то вряд ли. Скорее можно записать звук другим приложением, обработать его и отправить как файл. Но это уже не будет голосовуха.
    Написано
  • Алгоритм или бестпрактис для синхронизации .dotfiles?

    shurshur
    @shurshur
    Tech, ну, я не пробовал такой метод, так что поверю на слово :)
    Написано
  • Алгоритм или бестпрактис для синхронизации .dotfiles?

    shurshur
    @shurshur
    Tech, добавлю, что для исключения раскрытия данных при наличии физического доступа надо все ключи закрывать пассфразами и использовать агенты (ssh-agent, gpg-agent). Если всё правильно сделать, ключи будут использоваться только на той машине, с которой залогинен, а дальше прокидываться по ssh. И секретный ключ можно держать на железном носителе типа yubikey (самый известный, есть и другие варианты). Да, это придётся поразбираться и повозиться. Да, yubikey стоит некоторых денег и его может быть сложнее купить в условиях санкций.
    Написано
  • Алгоритм или бестпрактис для синхронизации .dotfiles?

    shurshur
    @shurshur
    Tech, если тут ключом выступает 1234569, то опасно. Достаточно узнать это число и всё, Не говоря уже о возможности подбора брутфорсом.

    Ключи для RSA, например, делают как минимум 1024 бита, а тут всего 20 бит.
    Написано
  • Алгоритм или бестпрактис для синхронизации .dotfiles?

    shurshur
    @shurshur
    Лучше вынести секреты в отдельный файл, а его шифровать или gnupg, или ansible-vault. Приватный ключ для gnupg в любом случае не надо класть в git, а доставлять отдельным механизмом.

    Для управления шифрованными файлами в целом можно использовать pass https://wiki.archlinux.org/title/Pass, который комбинирует gnupg и git для хранения шифрованных файлов с неплохим cli-интерфейсом.

    Ну а вообще я бы посмотрел на готовые dotfiles-менеджеры типа yadm.
    Написано
  • Сведения об авторизации пользователей ОС семейства Linux?

    shurshur
    @shurshur
    zkutin, как самое простое - модуль pam_exec позволяет вызвать какой-нибудь скрипт на любой стадии аутентификации.
    Написано
  • Как организовать отслеживание транспорта (автобуса)?

    shurshur
    @shurshur
    Из самого простого что-нибудь типа https://osmo.mobi
    Даже в бесплатном варианте можно мониторить некоторое количество объектов, клиент osmodroid для смартфонов или iosmo для огрызков.

    Также есть в разном другом софте возможность настроить и дёрнуть координаты по URL, например, в osmand.
    Написано