Loess.ru

having fun

Online 2d graphing tool

http://memorystomp.com/graphtoy/#draw1%3Dtrue%26formula1%3Dsin(4*x)%252Fx%26draw2%3Dtrue%26formula2%3Dfloor(x-frac(t))%252Bfrac(t)%26draw3%3Dtrue%26formula3%3Dnoise(x)*x%26draw4%3Dtrue%26formula4%3D2%2B*%2Babs(%2Bfloor(x*0.5%252B0.5)%2B-%2B0.5*x%2B)%26draw5%3Dtrue%26formula5%3Dlog(x)%26draw6%3Dtrue%26formula6%3D-x%252Bsin(x)%26draw7%3Dtrue%26formula7%3Dtri(0.3%252Cx-t*b)%26draw8%3Dtrue%26formula8%3Df7(x)%2B%252B%2Bf7(x*(2%252Ba))*0.5%2B%252B%2Bf7(x*(4%252Ba))*0.25%2B%252B%2Bf7(x*(8%252Ba))*0.125%26mShowAxes%3Dtrue%26mShowGuides%3Dtrue%26mShowGrid%3Dfalse%26paused%3Dfalse%26lightTheme%3Dfalse%26mXres%3D960%26mYres%3D720%26mCx%3D-0.7874999999999996%26mCy%3D-1.4625000000000006%26mRx%3D12%26mRy%3D9%26backgroundCol%3D%26A%3D0.271%26B%3D0.254%26C%3D0.130%26mySize%3D1%26myPresets%3D0

Reanimation of P6T freezed on «press Del to enter setup…»

Asus P6T LGA1366 Intel® X58 ICH10R +i7 940

Характерные признаки:
зависает на splash-screen «press Del to enter setup…», не отвечает на кнопку выключения, экран работает
не отвечает на клавиатуру, но при этом есть +5vusb
нет num-lock
греется южный мост
POST 38

Лечить так:
Качаем последний биос с сайта Asus, качаем AMIBCP337.exe, открываем BIOS в программе
Во вкладке Advanced -> USB Config — > USB Functions устанавливаем в DISABLED на обоих режимах. Сохраняем рядом с оригиналом.
Вынимаем SPI flash MX25L1605D из кроватки, суём в программатор (например, CoRight USB Programmer)

Родным софтом программатора делаем бэкап биоса из флешки, стираем, записываем последний биос с сайта Asus. Ставим флешку в MoBo и проверяем зависание на POST 38.
Если зависло — прошиваем изменённым биосом (USB Functions — DISABLED), проверяем
Если опять зависло — можно попробовать отключать Onboard Devices

Второй метод: прошить на такой же, но рабочей матери, благо кроватка позволяет

по мотивам https://www.rom.by/forum/AsRock_G31M-VS

Youtube-dl

GitHub восстановил доступ к утилите для загрузки видео из YouTube

Дело в том, что согласно пункту 1201 нарушение авторских прав происходит путём обхода системы защиты на каком-либо сервисе. Однако Google не использует никаких систем для предотвращения загрузки видео с YouTube. Следовательно, репозиторий проекта youtube-dl не может быть удалён или заблокирован, так как задействованный в нём алгоритм не обходит никаких систем предотвращения загрузки контента с площадки.

чёт ржу =) гаечки-то крутят везде, не только у нас:

И только благодаря этому божественному тулу — появился следующий пост про Wi-Fi.
https://github.com/ytdl-org/youtube-dl/releases
мощный хелп по нему тут:
https://www.bogotobogo.com/VideoStreaming/Downloading_YouTube_Vimeo_Video_using_youtube-dl.php

Блог поехавшей шизотерички

1. Красивая картинка из книги русских сказок, которая была у меня в детстве:
Это так Василиса Прекрасная возвращается домой от Бабы-Яги

2. «Кто придумывал русские сказки?» Натягивание совы на глобус, но читать интересно:
https://assalam786.livejournal.com/538.html

3. Фэн-Шуй:
https://assalam786.livejournal.com/92809.html

4. Viktor Schauberger — физику не учи, вечные двигатели — строй:
The Secrets of Water, The Documentary of Viktor Schauberger «Comprehend and Copy Nature»

Базовые инструменты для трассировки приложений в Linux

$ strace -e trace=open,access -o strace.log uname
классы вызовов: file, process, network, signal или ipc

Опции strace:
-i — выводить указатель на инструкцию во время выполнения системного вызова;
-k — выводить стек вызовов для отслеживаемого процесса после каждого системного вызова;
-o — выводить всю информацию о системных вызовах не в стандартный поток ошибок, а в файл;
-q — не выводить сообщения о подключении о отключении от процесса;
-qq — не выводить сообщения о завершении работы процесса;
-r — выводить временную метку для каждого системного вызова;
-s — указать максимальный размер выводимой строки, по умолчанию 32;
-t — выводить время суток для каждого вызова;
-tt — добавить микросекунды;
-ttt — добавить микросекунды и количество секунд после начала эпохи Unix;
-T — выводить длительность выполнения системного вызова;
-x — выводить все не ASCI-строки в шестнадцатеричном виде;
-xx — выводить все строки в шестнадцатеричном виде;
-y — выводить пути для файловых дескрипторов;
-yy — выводить информацию о протоколе для файловых дескрипторов;
-c — подсчитывать количество ошибок, вызовов и время выполнения для каждого системного вызова;
-O — добавить определённое количество микросекунд к счетчику времени для каждого вызова;
-S — сортировать информацию выводимую при опции -c. Доступны поля time, calls, name и nothing. По умолчанию используется time;
-w — суммировать время между началом и завершением системного вызова;
-e — позволяет отфильтровать только нужные системные вызовы или события;
-P — отслеживать только системные вызовы, которые касаются указанного пути;
-v — позволяет выводить дополнительную информацию, такую как версии окружения, статистику и так далее;
-b — если указанный системный вызов обнаружен, трассировка прекращается;
-f — отслеживать также дочерние процессы, если они будут созданы;
-ff — если задана опция -o, то для каждого дочернего процесса будет создан отдельный файл с именем имя_файла.pid.
-I — позволяет блокировать реакцию на нажатия Ctrl+C и Ctrl+Z;
-E — добавляет переменную окружения для запускаемой программы;
-p — указывает pid процесса, к которому следует подключиться;
-u — запустить программу, от имени указанного пользователя.

ldd — показывает список совместно используемых библиотек ELFфайла

$ cat ~/script.sh
while inotifywait -e modify \
/var/log/apache2/error.log;
do
tail -1 /var/log/apache2/error.log | \
notify-send "Apache needs love!"
done

incrontab:
Формат заданий:
<путь> <событие> <команда> (с разделением через пробел)

Самые интересные события:
IN_ACCESS — файл был прочитан
IN_ATTRIB — изменились метаданные файла/каталога
IN_MODIFY — файл был изменен
IN_CREATE — файл или каталог был создан в отслеживаемой директории
IN_DELETE — файл или каталог был удален в отслеживаемой директории
IN_DELETE_SELF — отслеживаемый файл или каталог был удален
IN_MOVE — файл был перемещен из отслеживаемого каталога или в него
IN_ALL_EVENTS — все события
В описании команды можно использовать внутренние переменные. Самые полезные:

$@ — полное имя отслеживаемого файла/каталога
$# — относительное имя файла, вызвавшего событие (только при мониторинге каталога)
$% — название события

https://xakep.ru/2011/01/13/54477/ (pdf)

более современные инструменты:
https://github.com/iovisor/bcc/blob/master/docs/tutorial.md
BCC is a toolkit for creating efficient kernel tracing and manipulation programs, and includes several useful tools and examples. It makes use of extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature that was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1 and above.

Wireguard VPN added to 5.6 kernel

https://www.opennet.ru/opennews/art.shtml?num=52636

Представлен знаковый выпуск VPN WireGuard 1.0.0, который отметил собой поставку компонентов WireGuard в основном составе ядра Linux 5.6 и стабилизацию разработки. Включённый в состав ядра Linux код прошёл дополнительный аудит безопасности, выполненный независимой фирмой, специализирующейся на подобных проверках. Аудит не выявил каких-либо проблем.

Напомним, что VPN WireGuard реализован на основе современных методов шифрования, обеспечивает очень высокую производительность, прост в использовании, лишён усложнений и хорошо зарекомендовал себя в ряде крупных внедрений, обрабатывающих большие объёмы трафика. Проект развивается с 2015 года, прошёл аудит и формальную верификацию применяемых методов шифрования. Поддержка WireGuard уже интегрирована в NetworkManager и systemd, а патчи для ядра входят в базовый состав дистрибутивов Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и ALT.

Размещённые на сайте проекта результаты тестирования охватывают старую обособленную реализацию WireGuard и отмечены как недостаточно качественные. Со времени проведения тестов код WireGuard и IPsec был дополнительно оптимизирован и теперь работает быстрее. Более полное тестирование, охватывающее интегрированную в ядро реализацию, пока не проведено. Тем не менее, отмечается, что WireGuard в некоторых ситуациях по-прежнему обгоняет IPsec в силу многопоточности, в то время как OpenVPN остаётся очень медленным.

Mikrotik IPSec + Android PSK XAuth

quick and dirty, по мотивам https://wiki.mikrotik.com/wiki/Manual:IP/IPsec :

/ip ipsec peer
add name=mobile passive=yes
/ip ipsec profile
set [ find default=yes ] enc-algorithm=camellia-192,aes-128,3des
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=camellia-192,aes-128-cbc,3des
/ip pool
add name=ipsec ranges=private.ip.range/mask #ip range, "выдаваемый" подключенным клиентам Read More

How to return your 3dprinting back: quick step guide

Быстрый возврат к печати:
1. Фиксируем высоту в миллиметрах или номер слоя (осторожно, если есть поддержка — там мешанина с количеством слоёв), печатаемый исходник;
2. Открываем исходник, считаем высоту, не забывая коррекцию (в самом начале что-то типа: G1 Z0.550 F6000.000), ищем строчку с первой записью «Zxx.xxx» по подсчитанной высоте;
3. Выше этой строчки обязательно должна быть запись «G92 E0». Оставляем всё, что ниже, включая эту запись;
4. Перезапускаем хост, нагреваем хотенд (!!!ВАЖНО, если он остыл, иначе всё порвёт!!!), стол, кулер, скорость печати в рабочий режим;
5. Калибруем x y z. Вставляем G-code начиная с «G92 E0». Поехали!