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/