Про Samsung Galaxy A40 и про вырезы в экране

Я уже писал про новую моду с вырезами наверху экрана.
Недавно, можно сказать, спонтанно купил новый телефон — Samsung Galaxy A40. Хотелось телефона поменьше, чем используемый на тот момент Xiaomi Redmi 5 Plus. Зашёл посмотреть телефоны, попался Samsung A40, взял в руки и не захотелось его выпускать — телефон заметно компактнее моего Xiaomi, при том, что экран такой же по высоте и лишь немного уже. Рамки экрана с каплевидным вырезом под камеру вполне гармоничны — верхняя и боковые стороны одинаковой толщины, нижняя заметно шире («шо, опять?!»). Вырез симпатичный, не мешает и много места у экрана не отнимает, в отличие от чёлки iPhone.

Так же это мой первый телефон с разъёмом type-C и, конечно, этот разъём удобнее старого microUSB.
В целом телефон удобный: габариты оптимальны, система работает быстро.
Особенно понравилось, что датчик отпечатка пальца работает идеально — намного лучше, чем у Xiaomi и, уже тем более Samsung C5, который у меня когда-то был. Даже влажные пальцы не помеха для нормальной разблокировки Samsung A40.
Вот, вкратце, и всё хорошее, что я могу сказать про Samsung A40, а вот то, что не понравилось:
— аккумулятор всего 3100 мАч (у Xiaomi — 4000) — маловато, хватает на день, необходимость каждый день заряжать телефон утомляет;
— наиболее нужные для меня системные приложения (Календарь, Плеер, Будильник) существенно менее удобны, чем в Xiaomi;
— слишком тонкий — без чехла неудобно держать в руках или поднимать со стола;

Так получилось, что я отдал новый Samsung брату и вернулся к старому Xiaomi и удивился тому как приятно смотреть на обычный, прямоугольный экран без всяких вырезов, я почти физически ощутил, что глазам легче стало воспринимать информацию с экрана. Это удивило потому, что вырез вроде и не мешал мне.
И, конечно, приятно, что не надо заряжать телефон каждый день.

В результате пришёл к выводу, что мне нужен небольшой телефон, желательно, но не обязательно, Xiaomi, с аккумулятором не менее 4000 мАч и без каких-либо вырезов в экране. Подобрать телефон под эти требования может показаться просто, но все производители помешались на тонкости в ущерб аккумулятору и на всяких вырезах в экране.

Работа с разделом swap

Решил перенести раздел swap на другой диск, т.е. надо создать раздел на другом диске, подключить его и отключить старый.

Второй диск пустой. Создаю на нём новый раздел размером 6GB и меняю его тип:
fdisk -l /dev/sdc
Command (m for help): p
Select (default p): p
Partition number (1-4, default 1): [Enter]
First sector (2048-1953525167, default 2048): [Enter]
Last sector, +sectors or +size{K,M,G} (2048-1953525167, default 1953525167): +6G
Command (m for help): t
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'
Command (m for help): w


Если fdisk выводит сообщение о необходимости перечитать таблицу разделов диска.

Можно попробовать вот эту команду:
partprobe /dev/sdc

Если она нормально не завершилась, то придётся перезагрузить компьютер. Иначе раздел нормально не создаётся, например, у меня получался раздел примерно в 500МБ, вместо 6ГБ.

Форматируем раздел:
mkswap /dev/sdc1
mkswap: /dev/sdc1: warning: wiping old ext4 signature.
Setting up swapspace version 1, size = 511996 KiB
no label, UUID=4c96302a-37bd-49d2-b352-7b6d09e60123


Подключаем раздел:
swapon -U 4c96302a-37bd-49d2-b352-7b6d09e60123


Проверяем:
swapon -s
Filename                                Type            Size    Used    Priority
/dev/md126                              partition       6153212 9200    -2
/dev/sdc1                               partition       6291452  0       -2


Отключаем старый swap (UID есть в /etc/fstab):
swapoff -U 7de94a8a-9fe1-4112-b09c-ee79f1eea123


Ну и понятно, что надо внести изменения в /etc/fstab — старый комментируем, новый добавляем:
#UUID=7de94a8a-9fe1-4112-b09c-ee79f1eea123 swap    swap    defaults                            0 0
# swap on sdc (sdc1):
UUID=4c96302a-37bd-49d2-b352-7b6d09e60123 swap    swap    defaults                            0 0

Впечатления от iPhone

Вступление

Примерно полтора года назад купил iPhone 6s Plus.
Понадобился второй телефон, т.к. использовать два номера на одном двухсимочном аппарате очень неудобно.
Покупать простую кнопочную звонилку — не вариант, т.к. в этом случае возникают сложности с синхронизацией контактов между двумя телефонами.
Покупать второй телефон с Android скучно и неинтересно.
К тому же мне нужно было тестировать одно мобильное приложение, у которого есть версия и для Android, и для iOS.
На момент покупки актуальным был iPhone 7 и вот-вот, через пару месяцев, должен был выйти iPhone 8. Однако, цена актуального аппарата и отсутствие миниджека убедили меня выбрать iPhone 6s. А в виду того, что единственный на тот момент телефон был с относительно небольшим экраном — 5 дюймов — выбрал большую версию iPhone 6s Plus.

По прошествие достаточно большого срока хочу высказать своё мнение об iPhone в сравнении с телефонами Samsung C5 и Xiaomi Redmi 5 plus, которые я последовательно, сначала один, потом второй, использовал вместе с iPhone.

Читать дальше →

mac os x: удалить иконку из Launchpad

Перетягиваем иконку из Launchpad в док. В доке кликаем правой кнопкой на этой иконке и пункт «Показать в Finder». В открывшемся окне удаляем иконку, потом удаляем иконку из дока.

Сравнение Macbook Pro 13 2017 и Macbook Air 13 2015

Чуть больше года назад купил Macbook Air 13 2015, RAM 8GB, SSD 256GB.

Всё мне в этом макбуке нравилось кроме экрана и дело не только в разрешении, но и в углах обзора — стоило хоть немного отклониться от идеального угла, как цвет изображения искажался. Это очень раздражало, постоянно приходилось поправлять угол наклона дисплея. А ещё сильно раздражала очень низкая скорость обновления пикселей или время отклика, особенно это бросалось в глаза при прокрутке страниц — всё расплывалось, точнее размазывалось с заметным шлейфом.

Ждал выхода нового макбука и дождался такого, что без ругательств сложно описать, ну вы сами знаете. Решил купить Macbook Pro 13 2015, но найти его в продаже сложно, тем более у нас. Вероятно мне надо было реагировать быстрее, может быть и успел бы. Сейчас же старую модель можно купить разве что без русских букв, да и не особо она и подешевела — 86 тысяч рублей против 95 тысяч за младший новый Macbook Pro. Короче говоря, мучился я, мучился и решил, что придётся попробовать новый Macbook. Остановился на самой доступной версии — Macbook Pro 13 2017 RAM 8GB, SSD 128GB. Купил его 6 февраля 2018 г.

Читать дальше →

Policy-routing на CentOS

Довольно распространённая ситуация — на моёй рабочей станции есть два интерфейса и два айпишника, скажем из подсети А и подсети Б. При обращении клиента с хоста из сети Б к моему айпишнику из подсети А ответ к нему уходит через другой интерфейс с моего айпишника из подсети Б, т.к. он из той же подсети, что и адрес клиента. Мне надо сделать, чтобы эти ответы уходили с того же адреса на который пришли.

Тут нужен policy-routing — маршрутизация на основе определённых правил. Логика получается такая: ответы на запросы из подсети Б к моему адресу из подсети А отправлять с адреса из подсети А (т.е. на шлюз подсети А).

Маркируем соединения из сети Б к нашему адресу из сети А при помощи iptables и таблицу mangle (используется для изменения пакетов):
iptables -t mangle -I INPUT -i eth0 -s 10.1.100.0/24 -d 10.2.96.3 -j CONNMARK --set-mark 1
А на выходе копируем маркировку соединения в маркировку пакетов, насколько я понимаю, это означает, что мы маркируем пакеты промаркированных ранее соединений:
iptables -t mangle -I OUTPUT -s 10.2.96.3 -d 10.1.100.0/24 -j CONNMARK --restore-mark
Вероятно, в этом правиле можно обойтись и без указания адресов источника и адресата, но мне кажется так будет правильнее, более точно чтоли )

В таблицу маршрутизации 111 добавляем маршрут для сети Б, но на шлюз из подсети А:
ip route add to 10.1.100.0/24 via 10.2.96.1 dev eth0 table 111
И, наконец, добавляем правило для перенаправления пакетов с нашей маркировкой в отдельную таблицу маршрутизации:
ip rule add fwmark 1 lookup 111

Для удобства можно назначить название для таблицы в файле /etc/iproute2/rt_tables, которое можно будет использовать вместо номера.

Так же нужно проверить не включена ли проверка обратного пути (reverse path checking):
sysctl net.ipv4.conf.eth0.rp_filter
Если включена, то система будет проверять пакеты на соответствие источника интерфейсу, с которого пакет получен. Например, если пакет пришёл с адреса, который виден через другой интерфейс (а не тот, с которого пакет пришёл), то значит этот пакет надо отбросить.

Если всё заработало как надо, то сохраняем правила iptables в файл "/etc/sysconfig/iptables", а правила для маршрутизации в файл "/etc/sysconfig/network-scripts/route-eth0".

Далее несколько вспомогательных команд, которые могут пригодиться.

Посмотреть определённую таблицу маршрутизации:
ip route show table 111
Удалить маршрут из указанной таблицы
ip route del table 111 to 10.1.100.0/24
Посмотреть правила маршрутизации:
ip rule show
Удалить правило маршрутизации:
ip rule del fwmark 1

Как посмотреть правила iptables писать не буду )

Цена на кабели к смартфонам Samsung и Apple

По сути пост ни о чём, все и так знают, что аксессуары Apple неоправданно дорогие. Просто сам столкнулся и так удивился, что решил поделиться )

Понадобились мне кабели USB Type-C и Lightning. За первым я пошёл в фирменный салон Samsung, а за вторым в магазин авторизованного представителя Apple, по крайней мере оба магазина так о себе заявляют.

Кабель Samsung USB Type-C стоит 400 сом, кабель Apple Lightning стоит 1490 сом. Разница более чем в 3,5 раза.
Конечно, кабель USB Type-C в довольно простом пакетике, а кабель Lightning в красивой, добротной коробочке и парой маленьких брошюрок, но они мне не нужны. Какой-то явной разницы в качестве не заметил. Более того, кабель Samsung USB Type-C длиннее примерно на 10 см.

Фирменный кабель Lightning — это не блажь. Предыдущий кабель фирмы Remax (вроде не совсем уж нонейм) визуально более красивый и добротный, в довольно крепкой оплётке, начал глючить — периодически отказывается заряжать айфон, т.е. подключаешь зарядку, а телефон её не видит. Хотя я был с ним очень аккуратен, на нём нет никаких перегибов, потёртостей и других видимых изъянов. Вот я и решил купить фирменный кабель.

Кстати, считаю конструкцию кабеля Lightning намного более удачной нежели кабеля USB Type-C. Разъём со стороны телефона у Lightning явно более крепкий и продуманный — толстая площадка с контактами, которая вставляется в простой разъём телефона, ничего лишнего грубо говоря — палочку вставляешь в дырочку. А кабель USB Type-C, такое ощущение, что специально назло Apple сделали наоборот — вывернули и поэтому получилось сложнее: разъём на кабеле должен надеваться на контактную площадку в разъёме телефона, т.е. должна точно совпасть не только контактная площадка, но и рамка вокруг неё. Разъём Lightning на телефоне сломать надо очень постараться, там нет выступающих частей, а разъём USB Type-C на телефоне — это тонкая контактная площадка внутри углубления. Примерно тоже самое с разъёмами на кабелях — на Lightning, как я уже говорил, толстая контактная площадка и всё, испортить сложно, а на кабеле USB Type-C полость, в которой тонкие контакты. В результате подключение кабеля USB Type-C всё равно требует внимания и аккуратности, хоть теперь и не нужно определять верх-низ разъёма. Тогда как кабель Lightning подключить намного проще, но с другой стороны отключить его немного сложнее — он крепко держится, а ухватиться сложно, т.к. корпус разъёма слишком маленький и гладкий, но это уже придирки )

CentOS: статистика

В папке /proc можно найти много всякой полезной статистики, например:
/proc/meminfo — статистика по памяти;
/proc/diskstats — статистика по дискам;
/proc/net/dev — счётчики трафика на сетевых картах;

А ещё есть данные в папке /sys/class, например счётчики трафика на отдельных сетевых картах:
/sys/class/net/eth0/statistics/rx_bytes
/sys/class/net/eth0/statistics/tx_bytes
/sys/class/net/eth0/statistics/rx_packets
/sys/class/net/eth0/statistics/tx_packets

Там же есть данные по параметрам сетевой карты, например, скорость соединения, режим дуплекса.

CentOS: Запуск демона при помощи systemd

Установил net-snmp из исходников, т.к. пакет требует наличия библиотек mariadb, которые конфликтуют с установленным mysql.

Для нормального запуска демона посредством systemd создал файл /usr/lib/systemd/system/snmpd.service:
[Unit]
Description=Net-SNMP daemon
Documentation=man:snmpd(8) man:snmpd.conf(5)
After=network.target

[Service]
ExecStart=/usr/local/net-snmp/sbin/snmpd -f -c /etc/snmpd.conf -p /var/run/snmpd.pid
ExecReload=/bin/kill -HUP ${MAINPID}
ExecStop=/bin/kill -TERM ${MAINPID}

[Install]
WantedBy=multi-user.target

Обратите внимание на ключ "-f" — не уходить в фон. Так systemd может прочитать pid процесса. Иначе у меня не получилось, опция «PIDFile=» не помогла.

Теперь демон нормально обрабатывается командой systemctl:
systemctl enable snmpd.service
systemctl start snmpd.service
systemctl status snmpd.service
systemctl stop snmpd.service

CentOS: установка VMWare Player

Скачиваем дистрибутив с официального сайта. Скаченный файл, например, VMware-Player-7.0.0-2305329.x86_64.bundle — это шелл-скрипт. Запускаем установку:
sh VMware-Player-7.0.0-2305329.x86_64.bundle

После успешной установки в меню программ System появится пункт «VMWare Player».

Удалить его можно вот так:
sh VMware-Player-7.0.0-2305329.x86_64.bundle --uninstall-product vmware-player