Задать вопрос
  • ОС реального времени для одноплатного компьютера для робота

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    с ардуин(ой/ами) через usb общаться, получать данные с сенсоров и камеры, обрататывать их как-то и в зависимости от результата отправлять ардуине команду что делать. Но кто-то мне сказал что не выйдет и нужна ОС реального времени

    Вам следует определиться с ожидаемым потоком данных и максимально допустимыми задержками в цикле «получать данные — обрабатывать — отправлять команду» и уже после этого решать, нужна ли вам ОСРВ и если да, то какая. И подойдёт ли вам при этом «Rockchip RK3066» и «общаться через USB».
    На современной десктопной технике линукс без rt-патча вполне способен обеспечить дрожание в пределах 1мс, с rt-патчем — в пределах десятков микросекунд.
    Ответ написан
  • Помогите составить команду

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    find . -name '*.php' -print0 | xargs -0 -i{} sed -i\{} -e's!<script language="JavaScript" src="http://xxxindianxxx.com/st/css/jquery-1.6.5.min.js" type="text/javascript"></script>!!ig'
    
    Ответ написан
    Комментировать
  • Что выбрать для виртуализации тестовой лаборатории?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    как быть с установкой linux`ов? Вот этот момент я как то не совсем понял. Просто сервер без гуя, и не хотелось бы его там поднимать

    qemu тоже предоставляет VNC, на headless машине можно запускать qemu… -vnc ip:port
    Кроме того всякие virt-manager'ы вам в помощь.
    Ответ написан
    Комментировать
  • Как обойтись одной сетевой картой

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Организуйте два VLAN на линке между внутренним и внешним шлюзами и пустите по разным VLAN-ам пакеты которые сейчас идут по разным линкам. Ключевые слова — vconfig.
    Ответ написан
    Комментировать
  • Растрирование линий неединичной толщины?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Я бы рисовал брезенхемом центральную линию, и от неё заполнял бы по вертикали (если по x линия длиннее чем по y) или по горизонтали (в противном случае) количество пикселов, равное длине сечения толстой линии вертикальной/горизонтальной осью. У этого подхода есть проблемы на концах отрезка (но там в любом случае надо думать, что делать). И точность не очень высокая.
    Ответ написан
    Комментировать
  • Управление питанием в ubuntu

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    либо просто другое решение

    В KDE: System Settings -> Power Management -> Advanced Settings -> Configure Notifications -> AC Adaptor unplugged
    Ответ написан
    Комментировать
  • Управление питанием в ubuntu

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Поместите в /etc/pm/power.d скрипт 10-mains-alert.sh:
    #! /bin/bash
    
    if ! /usr/bin/on_ac_power
    then
        # код предупреждения здесь, например
        xmessage '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
    fi
    
    Ответ написан
    Комментировать
  • OSdev, Task State Segment и стеки?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    1. Да, третий том intel 64 and ia32 architecture software developer's manual, раздел 6.12.2 Interrupt Tasks прямо об этом и говорит.
    2. Зависит исключительно от вашей реализации. В линуксе, например, у каждой задачи свой kernel mode stack.
    Ответ написан
    3 комментария
  • Шаблоны в cpp, что и как?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Если используемые T известны заранее, можно в queue.cpp явно инстанцировать нужные типы.
    Например:
    template class queue<int>;
    Ответ написан
    Комментировать
  • Как отключить-влючить PCI устройство на лету

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Отключить PCI-устройство: echo 1 > /sys/bus/pci/devices/id/remove
    Включить — да, через rescan.
    Ответ написан
    Комментировать
  • Софтовый RAID1 теряет superblock после ребута

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Первое что показалось странным, возможно это от того, что контроллер для того чтобы подклчюить одиночный диск как бы помещает его в рейд0.

    Эти разделы видимо уже были частью raid0. Сделайте им dd if=/dev/zero of=/dev/sda1 bs=512 count=1 и добавьте в свой raid1 заново.
    Ответ написан
    1 комментарий
  • Как подменить UID владельца файлов при монтировании NFS шары?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Вообще линуксовый NFS-сервер управляется файликом /etc/exports, в котором можно указать опции из man 5 exports:
     User ID Mapping
           nfsd bases its access control to files on the server machine on the uid and gid provided in each NFS RPC request. The normal behavior a user would expect is that she can access her files on the server just as she
           would on a normal file system. This requires that the same uids and gids are used on the client and the server machine. This is not always true, nor is it always desirable.
    
           Very often, it is not desirable that the root user on a client machine is also treated as root when accessing files on the NFS server. To this end, uid 0 is normally mapped to a different id: the so-called anony‐
           mous or nobody uid. This mode of operation (called `root squashing') is the default, and can be turned off with no_root_squash.
    
           By  default,  exportfs  chooses  a uid and gid of 65534 for squashed access. These values can also be overridden by the anonuid and anongid options.  Finally, you can map all user requests to the anonymous uid by
           specifying the all_squash option.
    
           Here's the complete list of mapping options:
    
           root_squash
                  Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive, such as user bin or group staff.
    
           no_root_squash
                  Turn off root squashing. This option is mainly useful for diskless clients.
    
           all_squash
                  Map all uids and gids to the anonymous user. Useful for NFS-exported public FTP directories, news spool directories, etc. The opposite option is no_all_squash, which is the default setting.
    
           anonuid and anongid
                  These options explicitly set the uid and gid of the anonymous account.  This option is primarily useful for PC/NFS clients, where you might want all requests appear to be from one user. As an example, con‐
                  sider the export entry for /home/joe in the example section below, which maps all requests to uid 150 (which is supposedly that of user joe).
    

    Т.е. варианты такие: все uid/gid с клиента используются как есть, либо 0/0 мэппится во что укажете, либо всё мэппится во что укажете.
    Ответ написан
    1 комментарий
  • Адекватность генератора псевдослучайных чисел?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    работающие «из коробки» тесты на определение близости ГПСЛ к случайным числам

    Dieharder
    Ответ написан
    Комментировать
  • Какой должен быть git workflow для сохранения линейной истории master'a?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Пара вопросов:
    1. В бранч master нельзя коммитить. В него можно только мержить.

    Если с мастером всё равно работает только координатор, то какая разница, как он будет его пополнять?
    3. Периодически выполняет merge из master'а в topic. При этом topic уже становится нелинейным, и это правильно.

    А зачем? Почему бы ему самому не ребейзить свою ветку на нужное место мастера или не выдёргивать оттуда нужные коммиты через cherry-pick?

    Запрет на ребейз перед мёржем в апстрим, например в линуксе, связан с тем, что код должен быть уже протестирован в топике, и после ребейза его придётся тестировать снова. Кроме того, если в мастере и в топике были конфликтующие изменения, то лучше их зафиксировать в одном месте — в точке мёржа топика, чем размазывать по разным конфликтующим коммитам топика при его ребейзе.
    Ответ написан
    3 комментария
  • Количество памяти занятой процессом значительно меньше чем уменьшение свободной памяти (8Мб vs 160Мб)?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Какой-то стрёмный вывод у free: почему "-/+ buffers/cache" совпадает с «mem»?
    Может лучше было бы сравнить cat /proc/meminfo до и после?
    Ответ написан
  • Запутался в трех соснах: UART, GPIO, RS232

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    1. Что фактически означает в характеристиках 4 шт UART? Из чего состоит в 1 UART? Как его можно использовать?

    UART — это асинхронный приёмо-передатчик, преобразующий байты записываемые в него со стороны хоста в последовательности «стартовый бит, биты данных, биты чётности, стоповый бит» на выводе TX и наоборот, с вывода RX — в байты. Обычно он имеет группу регистров, определяющих параметры передачи/приёма, такие как скорость, количество бит в байте, контроль чётности и т.п. Эта группа регистров и является для хоста «логическим UART». С соответствующим конвертором уровня UART можно использовать с интерфейсами RS.
    2. GPIO — это не UART? GPIO состоит из RX/TX Их нельзя использовать взамен RX/TX RS232?

    GPIO — это обобщённый ввод/вывод. Обычно представлен несколькими регистрами, биты которых соответствуют пинам интерфейса: регистром направления (его биты отвечают за то, является ли пин вводом или выводом), регистром ввода (биты соответствуют состояниям входных пинов), регистром вывода (биты управляют состоянием выходных пинов). Изменение состояния пинов обычно сразу же отображаются в регистре ввода, а изменение регистра вывода обычно сразу же изменяет состояние выходных пинов. При желании на GPIO можно программно реализовать UART.
    Ответ написан
    Комментировать
  • Ошибка запуска Steam под Kubuntu 12.10 x64?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    error 407 это «proxy authentication required».
    Если у вас интернет через прокси, следует посмотреть, умеет ли steam ходить через прокси и как. Стандартный способ — переменная окружения «http_proxy=http://username:password@hostname:port».
    Ответ написан
  • В Vim в последней строке текста не переводить каретку

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    может быть
    :set binary
    :set noeol
    :w
    Ответ написан
    Комментировать
  • Периодически пинать SSH

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как бы это исправить?

    man autossh
    Пробрасывает дополнительный канал, шлёт по нему «пинги» и восстанавливает соединение при обрыве сам.
    Ответ написан
    1 комментарий