Приветствую всех, кто каким-то чудом нашел этот блог. Формат данного блога свободный и в нем я стараюсь делиться различными полезностями, размышлениями о различных событиях, своим творчеством.

Лист помощи (шпаргалка)


Раздел, в основном, для меня. Здесь я просто записываю всякие полезности для случаев, когда вроде как помню, как решить проблему, но “вот бы вспомнить, на каком сайт это видел”, “вот бы мне тот файл, куда я это все записал” чтобы всегда были под рукой нужные команды, ссылки, куски кода.

В общем, одним словом, шпаргалка.

Не удивляйтесь тому, что многое из перечисленного кажется слишком простым, элементарным: у меня есть талант забывать и такое…



Навигация:


Куски кода

Переменное значение _delay_ms()

Кто в теме, знают, что _delay_ms() принимает только константы, а на переменные ругается. У меня был случай, когда значение этой функции нужно было задавать из вне. В общем в этом плане ничего не стоит заставить микроконтроллер считать по одной милисекунде в цикле:

int delay_ms(uint16_t timing){
  for(; timing; timing--){
    _delay_ms(1);
    }
  }


Команды

Программное восстановление флэшки

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

Посмотрим, что есть флэшка, ориентируясь по размеру или даже типу файловой системы, и запомним название (/dev/sdc например):

fdisk -l

или можно так

lsblk -f

Далее берем и затираем ее нулями:

dd if=/dev/zero of=/dev/sdc

Может занять некоторое время. Обязательно обращаем внимание на количество записанных (скопированных) байт. Пусть это будет 31440060416 байт.

Следующий шаг - проверить, есть ли смысл восстанавливать флэшку дальше или последствия были необратимы. Сравним результаты выполнения 2-х команд:

head -c 31440060416 /dev/sdc |md5sum

и

head -c 31440060416 /dev/zero |md5sum

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

Далее заходим в fdisk

fdisk /dev/sdс

жмем p, далее 1, далее со всем соглашаемся и далее смотрим на результат, нажав p.

Видим, что появился раздел /dev/sdс1, но линуксоидный.

Форматируем этот раздел в FAT32:

mkfs.fat -F32 /dev/sdc1

Или можно в NTFS, вариантов хватает:

mkfs.ntfs /dev/sdc1

Автоматическое монтирование диска

Создаем каталог, куда будет монтироваться диск, например:

mkdir /mnt/disk1tb

Открываем /etc/fstab в любом текстовом редакторе:

gedit /etc/fstab

Вставляем следующее:

/dev/sda1   /mnt/disk1tb  ext4    rw,relatime 0   0

Свободно/занято места на дисках

df -h

Просто список “дисков” с доп. информацией:

sudo fdisk -l

Записать образ на диск

sudo dd if=~/путь/к/образу/диска.iso of=/dev/sdb bs=2048

Монтирование образов qcow2

modprobe nbd max_part=8
qemu-nbd -c /dev/nbd0 название_образа.qcow2
mkdir /mnt/qemu
mount /dev/nbd0p1 /mnt/qemu

Размонтировать:

umount /mnt/qemu
rm -R /mnt/qemu
qemu-nbd -d /dev/nbd0
modprobe -r nbd

Удалить папку со всем его содержимым

rm -rf testdir/

Добавить все изменения в репозиторий

git add .
git commit -m "change intro"
git push -u origin master

Основные комманды для kivy

Запуск для проверки приложения

Просто через питон коммандой

python3 main.py

Компиляция в apk

Создаем файл buildozer.spec:

buildozer init

Компилируем:

buildozer android debug


Ссылки

Файл подкачки в линукс

https://losst.ru/fajl-podkachki-linux

В основном полезно для одноплатников.

PL-2303 (любой). Драйвер без ошибки 10

https://www.ifamilysoftware.com/Prolific_PL-2303_Code_10_Fix.html

Скрипт полной установки kivy

https://github.com/…/install-kivy-buildozer-dependencies.sh

Фреймворк, облегчающий разработку андройд приложений (ибо приложения пишутся на python).

Очень легкий и быстрый конструктор андройд приложений

https://appinventor.mit.edu/

Конструктор, что помог мне построить андройд приложение для старого планшета, превратив его в полезный пульт управления в то время, как андройд студио либо не мог компилировать приложения под старые андройды, либо скомпилированное не могло установиться на старый планшет.


Готовые полезные списки

Книга секретных знаний

https://github.com/trimstray/the-book-of-secret-knowledge

Это набор различных материалов, инструментов, вдохновляющих списков, руководств, шпаргалок, блогов, хаков, однострочников, инструментов cli/web и многого другого.

Awesome Selfhosting (СПО)

https://github.com/awesome-selfhosted/awesome-selfhosted

Это очень крутой список сетевых служб и веб-приложений Свободного программного обеспечения, которые могут быть размещены локально.

Awesome Tunneling

https://github.com/anderspitman/awesome-tunneling

Пожалуй самый полезный для меня набор вариантов туннелирования во внешний интернет как своего проекта, запущенного в локальной сети, так и различные tcp соединения для доступа к компу по ssh например.

JavaScript не нужон

https://github.com/you-dont-need/You-Dont-Need-JavaScript

Сборник различных демонстраций, анимаций, веб интерфейсов и технических решений реализованных на 100% CSS.


Для этого сайта:

Добавить иконки

https://fontello.com/

Классы иконок этого сайта

https://my77thblog.pp.ua/…/demo.html