Loess.ru

having fun

Основы Wi-Fi (English)

magnet:?xt=urn:btih:7AA59D421CABD2400FD7CDDA9DB4738F0A89398C&tr=http%3A%2F%2Fbt2.t-ru.org%2Fann%3Fmagnet&dn=%5Bcwnp%5D%20CWS-100%20eLearning%20%5B2019%2C%20ENG%5D

Курс входного уровня по wi-fi сетям. После изучения Вы сможете разбираться в основных технических деталях и грамотно планировать маленькие сети.

The Certified Wireless Specialist (CWS) eLearning course teaches the language of Wi-Fi as well as the typical hardware and software used in wireless local area networks (WLANs). The course is an exceptional starting point for those in wireless sales, marketing, entry-level support, and decision-making professionals related to 802.11 wireless networks.
Спасибо https://github.com/ytdl-org/youtube-dl/releases

Содержание:
Read More

CI/CD: Многоэтапные (multi-stage builds) сборки в Docker

Лишь сегодня узнал о прекрасной возможности делать docker image компилируемых приложений без оставления зависимостей для этапа компилирования, и без применения тыщи действий для выуживания исполняемых файлов. Выглядит мультиэтапная сборка примерно так (реальный Dockerfile):

FROM debian:stable-slim AS builder

RUN apt-get update && \
apt-get install -y binutils-dev build-essential cmake \
git libcurl4-openssl-dev libdw-dev libiberty-dev \
ninja-build python3 zlib1g-dev \
;

ADD . /src/

RUN mkdir /src/build && \
cd /src/build && \
cmake -G 'Ninja' .. && \
cmake --build . && \
cmake --build . --target install

FROM debian:stable-slim

RUN apt-get update && \
apt-get install -y binutils libcurl4 libdw1 zlib1g && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

COPY --from=builder /usr/local/bin/kcov* /usr/local/bin/
COPY --from=builder /usr/local/share/doc/kcov /usr/local/share/doc/kcov

CMD ["/usr/local/bin/kcov"]

Служит для, очевидно, деплоя только что собранного приложения в докер образ и, так сказать, запуска-тестирования без отрыва от «производства»
https://habr.com/ru/post/349802/

Ideapad 330s efi boot

после установки Debian 10 поверх ubuntu оказалось, что грузиться ноут может только одной записью в efi — «ubuntu», и при этом загружается лишь голая командная строка grub. Больше опций для загрузки в BIOS — нет. При загрузке с hdd в legacy — просто выключается.
Не помогли:
— несколько переустановок, с нескольких образов debian 10
— grub reinstall, grub-update, те же действия в safe mode (https://wiki.debian.org/GrubEFIReinstall)
— ручное копирование Boot64x в efi-разделе из /debian/ в /BOOT/

Помогло лишь ручное копирование всех файлов в efi-разделе из /debian/ в /ubuntu/ в консоли uefi (или прям в ОС, после загрузки с rEFInd).
образ c uefi shell https://sourceforge.net/projects/refind/
инструкция https://www.bootdev.ru/2018/10/EFI-Shell-What-to-do-if-the-OS-does-not-loaded.html

Win 10 freezes

Config: i5-4460 on h81m-k with kingston SSD
win 10 freezes example: push start button, push turn-off button, wait seconds
resolution: Change yor power scheme pci-e «link state power management» to Off

это win10, детка!

p.s. Включение gpedit.msc на win10 home basic: https://blog.simplix.info/disable-update-win10/comment-page-1/#comment-761
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

p.p.s. Отключение обновлений win10 (очередное): https://blog.simplix.info/disable-update-win10/

OpenWRT cannot nslookup from 127.0.0.1

Конфиг: OpenWRT 18.06.2.
Настраиваем выдачу одинакового ip-адреса для двух разных маков — и, вуаля! отваливается dnsmasq, не разрешаются имена, тлен и безысходность.
Убираем одинаковый ip для разных маков — всё чинится сразу и само =)

Числа с плавающей точкой в компьютере не столь точны, как кажутся

So 0.1 and 0.2 (1/10 and 1/5) while clean decimals in a base 10 system, are repeating decimals in the base 2 system the computer is operating in. When you do math on these repeating decimals, you end up with leftovers which carry over when you convert the computer’s base 2 (binary) number into a more human readable base 10 number.

https://0.30000000000000004.com/

Хабр. Заложники COBOL и математика. Часть 1
Хабр. Заложники COBOL и математика. Часть 2

i  | floating pt    | fixed pt
-- | -------------- | ---------------------------
0  | 4              | 4
1  | 4.25           | 4.25
2  | 4.47058823529  | 4.4705882352941176470588235
3  | 4.64473684211  | 4.6447368421052631578947362
4  | 4.77053824363  | 4.7705382436260623229461618
5  | 4.85570071257  | 4.8557007125890736342039857
6  | 4.91084749866  | 4.9108474990827932004342938
7  | 4.94553739553  | 4.9455374041239167246519529
8  | 4.96696240804  | 4.9669625817627005962571288
9  | 4.98004220429  | 4.9800457013556311118526582
10 | 4.9879092328   | 4.9879794484783912679439415
11 | 4.99136264131  | 4.9927702880620482067468253
12 | 4.96745509555  | 4.9956558915062356478184985
13 | 4.42969049831  | 4.9973912683733697540253088
14 | -7.81723657846 | 4.9984339437852482376781601
15 | 168.939167671  | 4.9990600687785413938424188
16 | 102.039963152  | 4.9994358732880376990501184
17 | 100.099947516  | 4.9996602467866575821700634
18 | 100.004992041  | 4.9997713526716167817979714
19 | 100.000249579  | 4.9993671517118171375788238

Стоит помнить это каждый раз, когда делаешь вычисления с плавающей точкой.

Атрофия эмпатии?

Отличная статья про организацию труда и реализацию в соответствии с характером. Затронуты весьма тонкие и интересные особенности ведения бизнеса в целом и в РФ в частности:
https://hbr-russia.ru/liderstvo/lidery/821870 (PDF)

Все менеджеры, с которыми вы в компании общались, — в прошлом депрессивные. У них интеллекта выше крыши, но поначалу это такие ­бизнесмены, что плакать хочется. Они не представляют, что на ком-то могут заработать. Их мамы приезжают на наши дни открытых дверей в вузы и смотрят на меня как на дежурного клоуна: той, которая и 18 тыс. руб. не могла заработать, мы сразу даем зарплату не меньше 60 тыс. руб., квартиру, машину. А если нет водительских прав, то и шофера. И через пять лет с высочайшей вероятностью этот человек будет получать 500—800 тыс. руб. И это то, что он заслужил, и компания гордится тем, что такие люди у нас работают.

— Но у вас же бизнес-структура, а не неврастеническое отделение.

Ребятам, которых мы отбираем, 20—25 лет, их эмоционально-чувственное восприятие находится на высочайшем уровне. Они тонкокожие, ранимые, их легко обидеть взглядом, жестом. Они сразу считывают эмоциональное состояние другого человека. Их депрессивные реакции — следствие той жизни, в которой мы живем. В которой люди с совестью не могут быть успешны, так как не готовы идти по головам.

В России 60—70% населения — эмпатичные люди, и можно сказать, что они неправильные. А можно и по-другому: неправильные — это активная прослойка, навязавшая модель, в которой эмпатичные чувствуют себя предельно неуютно. Мы умеем работать и с теми, и с другими. Но только акционеров можем воспитать из «сопливых», а не из выпускников «вышки».

см. алсо https://loess.ru/атрофия эмпатии-1
см. алсо https://loess.ru/конец эмпатии

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

How to add Claymore rigs hashrate into Zabbix

Quick, dirty, no changes in rigs configs needed — http gathering:

1. Check your rig web-interface availability from zabbix-agent host https://rig.ip.address:3333/
2. Make script to return hashrate from web page
wget -nv -q -O - http://$1:3333 |grep -oP '(?<=result).*?(?=;)'|awk '{print $NF}'|sed -e 's/^"//'
3. Add this script into /etc/zabbix/zabbix_agentd.conf as
UserParameter=getrighashrate[*],/usr/lib/zabbix/externalscripts/script.sh
and restart zabbix-agent service
4. Check either by
zabbix_agentd -t getrighashrate[rig.ip.address]
or
zabbix_get -s 127.0.0.1 -k getrighashrate[rig.ip.address]
5. Add items into Zabbix into zabbix-agent host and multiply values by 1000. Add graphs into your fav dashboard

Quick, dirty, snmp and logs-involved:

1. Install and run snmpd at every rig
2. At every rig add script to return current logged hashrate:
tail -n 200 /var/log/miner/claymore/lastrun_noappend.log |grep "ETH - Total Speed"|tail -n1|awk '{print $7}'
3. Add this script into /etc/snmp/snmpd.conf as
extend hashrate /path/to/snmp.script
and check for security at extension table
view systemonly included .1.3.6.1.4.1.8072.1.3.2
and restart snmpd service
4. Check this with
snmpget -c public -v2c localhost .1.3.6.1.4.1.8072.1.3.2.4.1.2.8.104.97.115.104.114.97.116.101.1
5. Make Zabbix template with snmpv2 item with your fav {$SNMP_COMMUNITY} and apply this to every rig in Zabbix

Additional чтиво:
https://bitcointalk.org/index.php?topic=3959954.0 https://www.ekzorchik.ru/2017/05/monitoring-the-temperature-of-the-raspberry-board/ https://www.ekzorchik.ru/2016/06/monitoring-the-weather-by-zabbix/