По зарядкам распишу

Напряжение (вольты или V, В) должно совпадать. Допустимо небольшое отклонение. Можно заряжать ноутбук, которому нужно 20 вольт, зарядкой на 19 вольт. Мне попадалось устройство, где было указано, что его можно заряжать зарядками от 12 до 19 вольт, но это редкость. Если подключить к устройству, которому нужно 5 вольт, зарядку на 12 вольт, то уже есть риск сжечь его. Если наоборот, подключить зарядку с меньшим напряжением, то работать скорее всего не будет, но и не сожжёт.По мощности (Ватт, W, Вт) ситуация другая. Можно питать устройство более мощной зарядкой. Менее мощной обычно нельзя. Но ноутбук например можно зарядить менее мощной зарядкой, если он в это время просто лежит и не используется, иначе может не хватать и на работу и на зарядку. С телефонами всё сложно. Там много стандартов быстрой зарядки, и две зарядки с указанной одинаковой мощностью могут заряжать с разной скоростью. Тут остаётся только подбирать. Стоит обратить внимание, чтобы был указан стандарт быстрой зарядки USB-С Power Delivery (PD). Его поддерживают ноутбуки и многие телефоны. И этот стандарт сам согласует нужное напряжение, но при этом есть риск что определённая зарядка не сможет отдать нужные устройству 20 вольт, но ничего при этом не сгорит, просто не будет работать.

Автоматическое заполнение Гугл форм

Часто хожу в походы с Желто-зеленые походы и туры (https://krasnodar-turist.ru/). Каждый раз требуется заполнить анкету на Google Формах. Чтобы облегчить себе жизнь, воспользовался тем, что я программист. Автоматизировал заполнение. Если хотите также, то на своём ПК:
1. Устанавливаете расширение для браузера Tampermonkey https://chromewebstore.google.com/…
2. Загружаете в Tampermonkey следующий скрипт: https://gist.github.com/agran/6671…
3. В верхней части скрипта вносите правки с вашими данными (имя, паспорт...).
4. Теперь каждый раз перед походом копируете в приложении WhatsApp на вашем ПК название группы, связанной с походом (в нём содержится дата и название похода).
5. Заходите по ссылке в группе на анкету на Google Формах. Если мой скрипт правильно установился, то сразу появится запрос с полем ввода. Вставляете туда название группы похода, и анкета сама должна заполниться (если ничего не вставить, то заполнять можно самим, как раньше).
6. Перепроверяете, что всё правильно, и нажимаете Отправить.

Как найти все компьютеры, на которых установлен старый антивирус

Перешёл на предприятии с антивируса Eset Nod32 на другой.
На большинстве компьютеров заменил антивирус, но какие-то пропустил. Старый сервер антивируса пришлось удалить, поэтому не мог посмотреть там какие ещё компьютеры работают со старым антивирусом.
Оба антивируса берут обновление с сервера администрирования в локальной сети.
Уточнил, что сервер администрирования на сервере взаимодействовал с клиентами через порт 2222, так можно отловить компьютеры, которые продолжают работать со старым антивирусом.
Выполнил команду на Ubuntu Server, где работал сервер администрирования:
sudo tcpdump -i eth10gb -vvvvtttAXns 1500 'port 2222' >> port.txt
Тут eth10gb замените на имя своего сетевого интерфейса.
В log.txt можно найти ip адреса всех компьютеров которые обращаются к порту 2222.
Найти в файле ip адрес можно по регулярному выражению ([0-9]{1,3}[\.]){3}[0-9]{1,3}

Вот такой командой можно получить список уникальных ip адресов, которые обратились к порту 2222.
grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+" port.txt | sort | uniq

Через команду типа nslookup 10.0.194.145 можно получить hostname устройства по ip адресу.

Как добавить недостающий драйвер в незапускающийся Windows

Ставил в ноутбук SSD c Windows, но он не стартует, тк не хватает драйвера он контролера дисков.
Скачал подходящий драйвер по ссылке, и распаковал на флешку папку f6.
https://ftp.ext.hp.com/pub/softpaq…

Загрузился в режиме восстановления, запустил командную строку.
ввёл команду
diskpart
потом
list volume
Диска с Windows не было видно.
exit
Вставил флешку и выполнил
drvload.exe C:\F6\iaStorVD.inf
(C: - это буква диска флешки, к вас может быть другой)
повторил команды
diskpart
list volume
Теперь были видны диск с windows, в колонке Имя была буква логического диска D.
exit

Теперь выполнил команду что бы добавить драйвер в систему на диске.
dism /Image:D:\ /Add-Driver /Driver:C:\F6\iaStorVD.inf
или
dism /Image:D:\ /Add-Driver /Driver:C:\F6 /recurse
Второй вариант устанавливает все драйвера из папки.

тут D:\ и C:\ может потребоваться на ваши буквы диска с Windows и флешки с драйвером.

Теперь перезагрузился и Windows запустился нормально.

Сколько мегапикселей должно быть в смартфоне?

Часто сталкиваюсь с заблуждением, что качество камер в смартфонах измеряется в мегапикселях. На самом деле камера 12 мегапикселей с физически крупными пикселями в дорогом телефоне может быть гораздо лучше, чем 48 мегапискселями с мелкими пикселями в дешёвом. Очень много мегапикселей при маленьком сенсоре будет наоборот давать хуже качество, тк на каждый пиксель будет попадать меньше света. Так же важна светосильность оптики, f/1,8 - это более светосильная оптика, чем f/2,4, и в слабом освещении f/1,8 будет давать более разборчивые снимки.
Заблуждение насчёт измерения качества камер мегапикселями настолько укоренилось, что производители смартфонов пользуются этим, выпуская, например, 108 мегапиксельные камеры, хотя если разобраться то они эквивалентны 27 мегапиксельным, просто там 4 мелких пикселя объединяются в один крупный, но 27 мегапиксельная камера меньше бы привлекала интереса, чем 108.
И вообще большое количество мегапикселей может пригодится, если вы планируете позже обрезать фото, оставляя только малый фрагмент его, как бы приближая его. Ну или если вы хотите печатать огромный плакат. Тогда большое количество мегапикселей дадут более чёткую картинку, будут различимы какие-то совсем мелкие детали, и то если фото будут сделано с достаточным освещением. Если же фото планируется смотреть с телефона с разрешением 1920×1080, то для этого достаточно 2 мегапикселей (хотя, думаю, качественных матриц с таким количеством мегапикселей давно не делают). Если планируете смотреть фото с хорошего 4К монитора или телевизора, то для этого уже достаточно 8 мегапикселей. Многие делают фото, что бы загрузить его в Instagram или отправлять через WhatsApp, при загрузке куда фото сразу ужимается до 1.5 мегапикселей.

Так же в последние годы стали добавлять очень много камер в смартфоны, но часто бывает, что они бестолковые, которые добавляют только что бы произвести впечатление на не разбирающихся людей. Очень полезны камеры с разным фокусным расстоянием, как например в новых iPhone или дорогих Samsung, там камеры с 0.5X Zoom (ультроширокоугольная), 1X Zoom (ширикоугольная) и 2X Zoom (телевик). А всякие макромодули и модули определения глубины - это малополезные модули.

Ограничение скорости на Linux-сервере для каждого соединения

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

https://gist.github.com/agran/a10f…

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

sudo nano /etc/crontab
@reboot root sleep 60 && speed-limit.sh

Конвертация dav h265+ в mp4 h264

Подготовил утилиту на основе ffmpeg что бы удобно конвертировать видео с камер видеонаблюдения dahua из h265+ в распространенный формат mp4 h264.

Convert DAV h265+ to h264.zip

Нужно расспаковать архив и перетащить свой dav файл на файл "Convert DAV h265+aac to h264.bat" или на "Convert DAV h265+g711g726 to h264.bat" в зависимости от того в каком формате у вас записывается звук (если в aac, то можно обойтись без перекодировки).
Через какое-то время рядом с dav появится mp4 h264 файл.

Автоматическое переподключение PPPoE интернета на Ubuntu Server

У нас на фирме интернет через PPPoE. В последнее время стал часто пропадать интернет со стороны провайдера, после того как провайдер всё чинил, интернет почему-то не появлялся, приходилось вручную переподключаться или перезагружать сервер. В итоге написал скрипт, который корректно переподключается к интернету.

Добавляем в /etc/crontab
*/2 * * * * root /var/router/iflost.sh
(каждые 2 минуты выполняем проверку есть ли интернет)

Текст /var/router/iflost.sh

#!/bin/sh

tries=0
while [ $tries -lt 5 ]
do
if /bin/ping -c 1 8.8.8.8 >/dev/null
then
exit 0
fi
tries=$((tries+1))
done

ip addr flush enp2s0 && systemctl restart networking.service


Тут вместо enp2s0 вписываем имя своей сетевой карты, через которую поднято PPPoE подключение.
Не забываем дать нужные права:
sudo chmod +x /var/router/iflost.sh