• Почему мигает умная светодиодная лампа?

    @k0taperkot Автор вопроса
    В общем, дело оказалось в том, что эта лампа может быть добавлена в приложение Tuya, т.к. работает по WiFi 2.4 GHz (с 5 GHz - нет). А мигать она начинает так, когда переходит в режим сопряжения. Для этого надо с помощью выключателя сделать: (1 сек ВКЛ, 4 сек ВЫКЛ) 3 раза. Учитывая, что лампа стоит в детской и ребенок бегает туда-сюда часто, выключая и включая свет, неудивительно, что лампа входила в этот режим.
    Короче, это не поломка. Переключил WiFi на 2.4 GHz, поставил приложение Tuya и добавил туда лампу, всё работает!:)
    Сорри за беспокойство, проблема решена:)
    Ответ написан
    Комментировать
  • Книги для разработки на C++ под MacOS?

    @k0taperkot Автор вопроса
    Подводя итог, после самостоятельного изучения темы:
    на C/C++ под macOS писать можно, даже с GUI (на Qt, например), а значит на Swift или Obj-C/C++ переходить не обязательно

    Для C/C++ есть POSIX API (вообще, официальное название этого API мне найти не удалось), которое выпиливать вроде как пока не собираются - так что вполне можно на него опираться. Документации к нему нормальной нет - есть архивы документации (старые маны по сути), а новую не завезли. Новые функции можно смотреть в документации по Obj-C/C++ и пробовать - если не все, то некоторые вызовы доступны и в C/C++. А вообще на каждом углу говорят "это же Unix", читай маны. Так вот, некоторые системные вызовы, которые есть в Unix/FreeBSD, в macOS или не реализованы, или вообще отсутствуют (и наоборот) - например, sem_init в macOS нет, а sem_open не реализован (или наоборот - не помню). Поэтому только одним источником информации ограничиться не получится - надо искать и в манах (на всякий случай всех - macOS, Unix, BSD) и в оф. документации на Objective-C/C++. Такая вот сложная судьба у Си++ программиста под мак :)
    С книгами всё не очень. Есть старая книга Mac OS X Internals: A Systems Approach автора Amit Singh и серия более новых книг от Jonathan Levin под названием *OS Internals. Больше я книг по macOS не нашел, а как я писал уже выше, отличия от Unix и BSD есть.

    На русском инфы по разработке на C/C++ под macOS не нашел вообще, может эта информация будет кому-нибудь полезна :)
    Всем спасибо за ответы и советы :)
    Ответ написан
    Комментировать
  • Проект для начинающего изучение С++?

    @k0taperkot
    С одной стороны стоит заниматься тем, что нравится. С другой стороны, когда нет опыта - не понятно что нравится.

    Я начинал с геймдева. На самом деле это не так сложно как кажется. Сначала тренировался на Blitz3D - это бэйсик, там входной порог небольшой. Потом начал интересоваться Си++, но к тому моменту уже что-то понимал в 3D и было проще. Но даже до Blitz3D у меня был бэкграунд с паскалем и Делфи. Просто не надо сразу пытаться ГТА сделать - создал кубик - ВАУ! Заставил его крутиться - еще круче. Ну, и так далее - Москва не сразу строилась. Геймдев хорош тем, что результат нагляден. При этом эта сфера очень хорошо описана даже на русском языке.

    Можно еще подумать в сторону Raspberry и других микроконтроллеров - наверное, это будет Вам близко. В общем, Вы сами только сможете понять что интересно лично Вам. Главное - не пытаться объять необъятное :)
    Удачи! :)
    Ответ написан
    1 комментарий
  • Оболочка shell по умолчанию Ubuntu?

    @k0taperkot
    Вы chsh наверное выполняете то не рутом? Вот она и показывает shell для пользователя kirill.
    Поменяйте ручками в /etc/passwd. Для этого рут нужен, конечно. Переключайтесь в рута через su, тогда, если указанный шелл отсутствует, должен запуститься sh. Потом можно выполнить /bin/bash - чтобы было удобнее работать, а потом и поменять дефолтный шелл хоть chsh, хоть руками.
    Ответ написан
    1 комментарий
  • Средства диагностики vs 2015?

    @k0taperkot
    Профилирование нужно чтобы найти "узкие места" в производительности и улучшить их

    Потребление памяти процесса можно посмотреть в Диспетчере задач Windows. В Студии, на сколько я знаю, такой инфы нет. Зависит еще от языка - в студии можно писать на многом, начиная от JS, закачивая C. Для каждого языка свои возможности.
    Ответ написан
    Комментировать
  • Как передать файл для записи в пользовательскую функцию C++?

    @k0taperkot
    1. std::ifstream, std::ofstream здесь - это Си++, всё остальное - это Си. Чтобы открыть с файл в Си используйте open.
    2. using namespace std; - это плохо
    3. Если цель писать на Си++, то в нем есть ссылки (помимо указателей); В Си есть указатели - используйте что-нибудь из этого, чтобы передать доступ к объекту в функцию
    4. Если использовать не std::ifstream & std::ofstream, а std::fstream, то через этот стрим можно будет и читать и писать
    5. Опять же - в Си++ есть std::string

    В общем, почитайте сначала чем Си отличается от Си++ - смешивать их не очень клёво
    Ответ написан
    1 комментарий
  • [QEMU] Как правильно настроить TAP в VmWare?

    @k0taperkot Автор вопроса
    В Debian (на VmWare) TAP мне тоже покорился не сразу. Оказалось, что это зависит от типа сети виртуальной машины в VmWare - у меня был NAT, а надо было Bridge.

    Есть и другой способ - он куда проще: не надо создавать никаких дополнительных интерфейсов и мостов. Надо использовать User Networking в Qemu. Вот как устроена его работа:
    Slirp_concept.png
    Но просто запустить машинку в Qemu с параметрами сети
    -net nic,vlan=0 -net user,vlan=0

    будет недостаточно. Перед этим нужно выполнить в гостевой системе команду:
    sysctl -w net.ipv4.ping_group_range='0 2147483647'

    иначе имена хостов в Qemu ресолвиться будут, а пинговаться - нет.

    В качестве бонуса. Мой скрипт запуска и установки:
    #!/bin/sh
    
    # Install
    #qemu-system-arm -m 256 -machine vexpress-a9 -cpu cortex-a9 \
    #       -kernel vexpress/vmlinuz-3.2.0-4-vexpress \
    #       -initrd vexpress/initrd.gz \
    #       -sd armdisk.img -append "root=/dev/ram" \
    #       -localtime -net nic,vlan=0 -net user,vlan=0
    
    # Boot after install
    qemu-system-arm -m 256 -machine vexpress-a9 -cpu cortex-a9 \
           -kernel vexpress/vmlinuz-3.2.0-4-vexpress \
           -initrd initrd.img-3.2.0-4-vexpress \
           -sd armdisk.img -append "root=/dev/mmcblk0p2" \
           -localtime -net nic,vlan=0 -net user,vlan=0


    Вот установщик дебиана для vexpress. Вот статья по по установке и последующему запуску дебиана. Статья для versatile, но здесь есть ядро и для vexpress.
    Ответ написан
    Комментировать
  • [МСВС] Как изменить уровень секретности процесса?

    @k0taperkot Автор вопроса
    Сорри, вопрос снимается. Я тестил это всё на kgod2, оказалось что проблема в нем.
    Ответ написан
    Комментировать