четверг, 28 мая 2020 г.

call bash script from c and return value

Парсим вывод из линуксового пайпа при помощи popen(), pclose(). Пример из стэковерфлоу:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
  /* ls -al | grep '^d' */
  FILE *pp;
  pp = popen("ls -al", "r");
  if (pp != NULL) 

  {
    while (1) 
    {
      char *line;
      char buf[1000];
      line = fgets(buf, sizeof buf, pp);
      if (line == NULL) break;
      if (line[0] == 'd') 

        printf("%s", line); /* line includes '\n' */
    } 
    pclose(pp); 
  }   
  return 0; 

opensource torrent-clients on Fedora 31

sudo dnf install qbittorrent
Links:
1) https://www.fossmint.com/best-bittorrent-clients-for-linux/

среда, 27 мая 2020 г.

ILI9341 (2.8inch RPi LCD)

No permission to access /dev/ttyUSB0 on Fedora 30

Для того, чтобы у моего обычного пользователя (например, myuser) появился доступ к /dev/ttyUSB0 надо отредактировать файл /etc/group (sudo nano /etc/group), найти строчку dialout:x:18 и дописать имя пользователя:

dialout:x:18:myuser

Ссылки (fedora):

понедельник, 25 мая 2020 г.

unity3d minecraft clone

unity3d minecraft clone:


Создание строений:

воскресенье, 24 мая 2020 г.

Установка wine на Fedora 31

sudo dnf install wine-core

GNU asm

Using gnu asm with c:
1) https://gcc.gnu.org/onlinedocs/gcc/Using-Assembly-Language-with-C.html
2) https://stackoverflow.com/questions/35090479/why-does-gcc-std-c99-treat-the-keyword-asm-as-a-function
3) https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
4) https://gcc.gnu.org/onlinedocs/gcc/Constraints.html#Constraints
5) https://gcc.gnu.org/onlinedocs/gcc/Simple-Constraints.html#Simple-Constraints
6) https://gcc.gnu.org/onlinedocs/gcc/Modifiers.html#Modifiers
7) https://gcc.gnu.org/onlinedocs/gcc/Multi-Alternative.html#Multi-Alternative

Вики:
1) https://ru.wikipedia.org/wiki/GCC_Inline_Assembly
2) https://ru.wikipedia.org/wiki/GNU_Assembler
3) Ассемблер в Linux для программистов C
4) https://ru.wikipedia.org/wiki/MASM
5) https://ru.wikipedia.org/wiki/TASM
6) Assembler
7) AT&T синтаксис
8) Intel синтаксис
9) Плоская модель памяти

GNU asm:
1) Руководство по ассемблеру x86 для начинающих https://habr.com/ru/post/423077/
2) Постигаем Си глубже, используя ассемблер https://habr.com/ru/post/344896/
3) Постигаем Си глубже, используя ассемблер. Часть 2 (условия) https://habr.com/ru/post/345460/
4) Минималистичная программа в формате ELF https://habr.com/ru/post/137706/

Обзорные:
1) Как писать на ассемблере в 2018 году https://habr.com/ru/post/345748/
2) Список ресурсов для изучения Ассемблера https://habr.com/ru/post/131971/
3) MASM, TASM, FASM, NASM под Windows и Linux https://habr.com/ru/post/326078/

ARM asm:
1) ARM ассемблер (продолжение) https://habr.com/ru/post/188712/
2) ARM аccемблер https://habr.com/ru/post/133808/

STM32 asm:
1) Мигаем светодиодом в STM32 на ассемблере https://habr.com/ru/post/405959/
2) Программирование stm32 с самых основ https://habr.com/ru/post/354670/
3) http://we.easyelectronics.ru/STM32/asm-v-stm32-nachalo.html
4) https://narodstream.ru/stm-urok-201-assembler-pervyj-proekt-komandy-mov-ldr-str-b-chast-1/
5) STM32: GNU AS: Программирование на ассемблере https://www.pvsm.ru/stm32/108025
6) http://stm32asm.ru/
7) http://mcu.goodboard.ru/viewtopic.php?id=23
8) https://edu.milandr.ru/upload/iblock/a6d/a6dc8c4f204d6fb4e1ac5d68212a1305.pdf

AVR asm:
1) http://easyelectronics.ru/avr-uchebnyj-kurs-makroassembler.html
2) https://dfe.karelia.ru/koi/posob/avrlab/avrasm-rus.htm
3) https://ph0en1x.net/79-avr-asm-first-program-for-microcontroller.html
4) http://microsin.net/programming/avr/avr-gcc-inline-assembler.html
5) AVR Ассемблер. Урок 1. Вводный. AVR Assembler. Lesson 1. Promo. https://www.youtube.com/watch?v=e41WqsgwZQg
6) Как понять ассемблер для AVR https://habr.com/ru/post/201528/
7) Программирование МК AVR на языке assembler в среде Linux https://habr.com/ru/post/373677/
8) http://smartep.ru/index.php?page=avr_asm_examples

Cisc asm instructions:
1) Agner Fog - Instruction tables: Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel, AMD and VIA CPUs https://www.agner.org/optimize/instruction_tables.pdf
2) https://en.wikipedia.org/wiki/X86_instruction_listings

GCC, LLVM:
1) https://ru.wikipedia.org/wiki/GNU_Compiler_Collection
2) https://ru.wikipedia.org/wiki/LLVM

воскресенье, 17 мая 2020 г.

neural network, machine learning

Вики:

Изучение:
4) Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала https://habr.com/ru/company/ruvds/blog/721150/

Яндекс.Толока:
1) «Яндекс.Толока»: Как миллионы людей удаляют порно, оценивают музыку и ответы Алисы https://www.the-village.ru/business/story/381701-razmetka-toloka
2) Яндекс.Толока. Как люди помогают обучать машинный интеллект https://habr.com/ru/company/yandex/blog/305956/
3) Создаем датасет для распознавания счетчиков на Яндекс.Толоке https://habr.com/ru/company/ods/blog/469633/
4) Лекция о Толоке. Как тысячи людей помогают нам делать Яндекс https://habr.com/ru/company/yandex/blog/358462/
5) Новые модели поиска и анализа данных. WSDM 2020 глазами команды Яндекс.Толоки https://habr.com/ru/company/yandex/blog/496004/

Deep dream:

Генерация арта по описанию:

Kaggle:
2) В IT в 30. Как я стал solo Kaggle Grandmaster, устроился на работу, но так и не стал программистом https://habr.com/ru/post/682534/

DIY:
1) Пишем GPT в 60 строк NumPy (часть 1 из 2) https://habr.com/ru/articles/716902/

История:
1) История «некоммерческой» лаборатории OpenAI, которая полюбила деньги https://habr.com/ru/companies/ruvds/articles/761960/

вторник, 12 мая 2020 г.

covid-19

Граф распространения covid-19 и мутации геномов вируса (можно проиграть с начала развитие ситуации) https://www.gisaid.org/epiflu-applications/next-hcov-19-app/

Вики:
8) Экзотоксины
9) Противовирусные препараты
10) Лимфа
11) Токсин
12) Полиовирус
13) Ретровирус

Статьи медицинских журналмстов:
1) поражение клеток сердца, не только легких https://nauka.tass.ru/nauka/8625549
2) https://elemental.medium.com/coronavirus-may-be-a-blood-vessel-disease-which-explains-everything-2c4032481ab2

Медицинская электроника:
1) кольцо, которое диагностирует ковид19 за три дня до появления симптомов https://www.engadget.com/west-virginia-university-oura-ring-covid-19-symptoms-003239603.html

вторник, 5 мая 2020 г.

TigerVNC-client in Fedora 31

Установим необходимый пакет из репы:

sudo dnf install tigervnc

Подключаемся к vnc-серверу таким образом: vncviewer address:port_number

Links:
1) https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/infrastructure-services/TigerVNC/

OpenVPN-client in Fedora 31

Пакет openvpn, скорее всего, уже установлен в Fedora 31, но на всякий случай:

sudo dnf install openvpn easy-rsa

Теперь необходимо от сервера openvpn получить следующие открытые части ключей: username.key, username.crt, ca.crt - и скопировать их в папку /etc/openvpn/client. Кроме этого надо создать файл /etc/openvpn/client/clientudp.conf, который будет содержать параметры подключения. 

Затем активировать сервис systemd:

sudo systemctl enable openvpn-client@clientudp.service

Теперь подключением к vpn-серверу можно управлять либо через этот systemd-сервис (sudo systemctl start/stop openvpn-client@clientudp.service), либо импортировать настройку vpn-сервера в NetworkManager и оттуда управлять подключением.

Links:

Ставим mingw, msys под win10 для сборки make-проектов

Скачиваем установщик стека cross-инструментов mingw-msys отсюда. Запускаем установщик и в нем выбираем следующие пункты:
Нажимаем "apply", соглашаемся с дефолтным путем установки (c:/mingw). После окончания прописываем пути к установленным бинарникам. Нажимаем на иконке "Этот компьютер" правой клавишей мыши, выбираем "Свойства"-"Дополнительные параметры системы"-"Дополнительно"-"Переменные среды". Выбираем "Системные переменные"-"Path"-"Изменить". Прописываем пути:


Замена аккума у ноута asus n61ja

Для проверки изношенности аккума под Windows 10 надо запустить cmd (win+R) с правами админа и там выполнить:

powercfg.exe -energy -output c:battery.html

В результате через минуту в файле file:///C:/Windows/System32/battery.html будет статистика.

Ссылки:

Ссылки с инструкцией по замене банок 18650 на батарее ноута:

воскресенье, 3 мая 2020 г.

Популярная математика

Книги:
1) Лэнгдон Н., Снейп Ч. С математикой в путь https://www.mathedu.ru/text/lengdon_sneyp_s_matematikoy_v_put_1987/p1/
2) Иэн Стюарт Величайшие математические задачи
http://samlib.ru/m/maori/welichajshiematematicheskiezadachi.shtml
3) https://www.livelib.ru/selection/819435-nauchnopopulyarnye-knigi-po-matematike
4) Еще один список http://eqworld.ipmnet.ru/ru/library/mathematics/elementary.htm

Для детей:
Начальный курс после школы:
1) Александр Шень - Начала теории множеств (pdf)
2) Александр Шень - Математическая индукция (pdf)

Теория вероятности:
1) Леонард Млодинов - (Не)совершенная случайность https://elementy.ru/bookclub/book/326/Ne_sovershennaya_sluchaynost

Алексей Савватеев:
3) А. Савватеев Математика для гуманитариев. Живые лекции https://www.chitai-gorod.ru/catalog/book/994591/ 
4) Маткульт-привет! :: Алексей Савватеев и Ко 

Линия:
1) Прямые, кривые и очень изломанные. Краткая история линии от «Начал» Евклида до фракталов начала XX века https://knife.media/line-curve/

Теория игр:
1) Теория игр за 15 минут https://habr.com/ru/companies/raft/articles/787906/

Физика:
1) Чудесное совпадение или ожидаемая связь: почему π²≈g https://habr.com/ru/articles/812903/