Loess.ru

having fun

A fun way to learn HTML

Js-скрипт, позволяющий редактировать HTML in-place. Подойдёт новичкам и тем, у кого нет нормального анализатора/подсветки кода. С CSS — не работает.
https://x-ray-goggles.mouse.org/

«Телематические услуги связи»

https://t.me/usher2/1577:
#ликбез #вещества

👉 Есть в законе «о Связи» такое понятие — «телематика». И эта «телематика» лицензируема. Зайдите на сайт своего провайдера — скорее всего, вы найдете в «подвале» сайта лицензию «телематических услуг связи». Её можно увидеть и у некоторых хостеров, но это отдельная история

☝️ Что иль кто есть «телематика»? Да никто не знает. Закон не описывает. Руководящий документ был мягко говоря странным. Но все серьёзно рассуждают и настаивают на своих версиях. Вдруг, в апреле 2020 года из сумрака выходит один из людей, который участвовал в попадании этой самой «телематики» в нормативную правовую базу РФ. Вот что ведает нам на страницах facebook Михаил Медриш

😱 «Ох, коллеги, читаю я все эти рассуждения про так называемые телематические услуги связи и понимаю, что уже почти никто не помнит, как они появились в нормативном поле, кто их продвигал и почему. У некоторых людей (и я помню этих людей) в головах была идея, что доступ в интернет это не услуга передачи данных, а что-то другое, а сама сеть интернет, как сеть связи, не является сетью передачи данных. А ещё в 2000 году появилось написанное год до того РД на телематику. Практически в то же время появилось ещё РД на передачу данных. Слово телематика было взято из рекомендаций ITU-T, где говорилось, что есть услуги связи телефонные, телеграфные, передачи данных и прочие, с общей вывеской телематические. К ним, например, относился Видеотекс, во Франции предоставлявшийся под торговой маркой Минитель. А соответствующие рекомендации написали люди из Франс Телекома. Так вот, в РД на телематику были описаны те самые прочие услуги. Я писал раздел «Услуги доступа к информационным ресурсам». Это была совершенно бредовая ситуация. Такой услуги, конечно, в реальной жизни не могло существовать. И правильнее всего было бы такую услугу в нормативном документе не упоминать, так как доступ к информационным ресурсам пользователь организует сам, обращаясь через сеть к сайту. Но проблема заключалась в том, что было выдано и действовало несколько сотен лицензий с такой формулировкой. Мы с Юрием Владимировичем Златкисом, который от Минсвязи руководил процессом, договорились, что я опишу услугу, как услугу оператора связи поставщику информационного сервиса (сейчас такие называются ОРИ), который, подключившись к сети, даёт возможность получать информацию из своего сервиса любому, кто её запросит через сеть. И тогда те, кто имеют такую лицензию, скорее всего, не будут её продлять, так как услуги передачи данных достаточно. После завершения действия всех этих дурацких лицензий новые выдаваться не будут. Но Златкис ушёл на пенсию ровно в 60, не успев довести РД до состояния утверждения Приказом. Дело заканчивал Александр Сергеевич Миков. Он прочитал текст, увидел странность, никого не спросил о причинах и внёс небольшие текстуальные изменения, которые полностью перевернули логику. В получателях услуги оказался конечный пользователь, имеющий доступ в Интернет. И РД был утверждён совсем не в таком виде, как мы со Златкисом планировали. Через некоторое время уже не при Микове, если я правильно помню, эта услуга со слегка видоизменившимся составом услуги стала называться телематической. И там остался тот самый дурацкий состав услуги для конечных пользователей — «доступа к информационным системам информационно-телекоммуникационных сетей, в том числе к сети Интернет». Мало того, ещё добавилась функция «приема и передачи телематических электронных сообщений». Понятно, что оператор связи ни то, ни другое не делает, так как он «труба», которая IP-пакеты в сеть и из сети передаёт. Но нет! Лицензии продолжают выдаваться и продлеваться. Все понимают по словом телематика, что хотят. Прямо беда! Друзья, ну перестаньте хотя бы вы употреблять это странное сочетание слов «телематическая услуга». За ними ведь ничего кроме ошибок, мифов и заблуждений не стоит. Вы лучше мойте руки, не болейте и развивайте наш замечательный интернет по мере сил 🙂 Всем пламенный привет!»

😂 Каждый раз, натыкаясь на лицензию телеметических услуг связи, вспоминайте эти откровения

От меня:
Примечательно также, что исконное значение, ныне используемое английское и русское — отличаются, кто как хочет — так и дроопределяет:
1) https://en.wikipedia.org/wiki/Telematics (в основном vehicle tracking)
2) https://ru.wikipedia.org/wiki/телематика (в основном что-то связанное с телевизором)
3) Оригинал: telecommunications+informatique. А зная страсть французам к подобного рода словообразованиям, я на 90% уверен, что это слово родилось именно так

All you need for telestudio is OBS

How to output from OBS to multicast/unicast:
Settings -> Output -> Output Mode -> Advanced
Recording -> Type -> Custom Output (FFmpeg)
FFmpeg Output Type -> Output to URL
File path or URL -> udp://224.0.0.1:1234?pkt_size=1316&buffer_size=65535 (working example, tweak it)

Alternatively you can directly send to just one PC in your system by using his IP, for example: udp://192.168.0.5:9999?pkt_size=1000
You can use any port that is free and accessible on the PC’s you want to use.

Container Format -> Depends on the protocol, for udp it would be mpegts
Video Bitrate -> 2500 or higher (depends on your encoder)
Audio Bitrate -> 128 or higher (depends on your encoder)

Activate the checkbox «Show all codecs»
Be aware, some combinations and codecs will not work for streaming! You will have to test to find your best combination.
Video Encoder -> libx264 / h264_nvenc (if you have an nvidia gpu) or other codecs can be used
Audio Encoder -> AAC, AC3 or even OPUS can be selected.

Start a Recording, not a Stream.
You can now watch the stream in VLC (for example) on another PC in your local network. Open a network stream in VLC and enter the following address: udp://@224.0.0.1:1234(if you used this address as the «File Path» earlier, in the case of streaming to one pc you can enter udp://@:9999 on the receiving PC)

via https://obsproject.com/forum/resources/obs-studio-send-an-udp-stream-to-a-second-pc-using-obs.455/
ffmpeg UDP in/out syntax https://www.ffmpeg.org/ffmpeg-protocols.html#udp
more relay and ffmpeg examples https://obsproject.com/wiki/Streaming-With-SRT-Protocol
OBS scene scheduling/time-based switching https://obsproject.com/forum/threads/scene-change-and-stream-scheduler-based-on-date-time.95375/

If you need to send multicast to specific windows interface:
route add 224.10.20.30/32 inter.fa.ce.ip

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

$ strace -e trace=open,access -o strace.log uname

$ strace -e trace=read,write -p <PID>

классы вызовов: file, process, network, signal, ipc, <etc, etc>:

-e trace=network (Trace all the network related system calls.)
-e trace=signal (Trace all signal related system calls.)
-e trace=ipc (Trace all IPC related system calls.)
-e trace=desc (Trace all file descriptor related system calls.)
-e trace=memory (Trace all memory mapping related system calls.)
(https://stackoverflow.com/questions/7482076/how-does-strace-connect-to-an-already-running-process)

Опции 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.

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

Wltoys 12428 — коробка с головняками, часть 3: передняя подвеска

Если вы столь же наивны и думаете, что поправите косяки подвески с помощью одного (или другого) адаптера — вы очень сильно недооцениваете мощь китайской инженерной мысли. Напечатал я первую модельку и попробовал поставить, но в итоге — меня не хватило, и я отказался от этой дурной затеи до момента выбора и приезда нормальных амортизаторов. Рассказываю Read More