История моей программы

Несколько лет назад однажды мне пришлось столкнуться с оптимизацией работы компьютеров в интернет-кафе. Правда по большей части в разрезе оптимизации самих ПК. (Тогда я еще не знал, что виндоус будет «летать» на них раз в несколько месяцев). Но в результате этого общения пришлось в той или иной мере обратить внимание на ужасной неудобный и постоянно выпадающий пиратский Локер.
Одним из наиболее «приятных» аспектов его использования были постоянные зависания самой программы и потери компов в сетке. Прикол в том, что Локер управлял компами по протоколу УДП, который работает без постоянного коннекта, и из-за огромной загрузки planet'овских switch'ей, компьютеры постоянно пропадали, напрягая меня, владельцев и манагеров игрового клуба. Именно тот момент родилась идея написать программу, которая работала бы по протоколу TCP, и вместо неуклюжего локеровского рабочего стола управляла обычным виндовым десктопом (отправляя при надобности процессы в заморозку или убивая их вообще).
После нескольких месяцев общения с С++билдером был написан собственно IPGuard — так называлась моя программа. Первоначально я его собирался продавать по сравнительно небольшой цене порядка 40$. И помимо клуба, для которого он первоначально разрабатывался, даже был продан еще другим покупателям. Но вот только унивеситет и другие «прелести» жизни помешали в то время вывести софтину на рынок — т.к. нужно было писать мануалы, организовывать саппорт и т.п., а на все это нужно было огромное количество времени.
В результата, до прошлого года в течение 4-х лет эта программа для администрирования интернет-кафе и компьютерных клубов банально лежала в загашнике и ждала своего времени. За это время появилось много конкурентов, и при том вполне приличных, но при этом весьма платных. Нарисовались и глючные, но фриварные решения. К сожалению, задача организации т.п., Стояла все так же ребром. А в ракурсе недостатка времени, было решено на него подзабить и вместо этого опубликовать программу в фриварный доступ и подготовить краткий фак. — Так и случилось в сентябре 2009-го.
Многие пользователи быстро разобрались с программой и даже разработали дополнения. Чем подтвердили, что, несмотря ни на что, программа очень и очень жива. И при этом ощутимо удобнее в обращении многих исключительно платных (и глючных) конкурентов. Для тех, кто желает ознакомиться с творением — адрес сайта бесплатной программы компьютерных клубов IPGuard ipguard.org.ua/.

Веб-камера на Азове

Не так давно нашел интересный сайтец — вэбкамеру прямо на берегу Азовского моря — в с. Кириловка. Удивительно, но «наши» прижимистые ребята расщедрились на установку бесплатной вебки для людей. К тому же на берегу, где интернет дорогой. Но в целом получилось интересно — рекомендую глянуть как-нибудь при свете дня (ночью темнота — ничего не видно). Кирилловка Азовское море вэбкамера

Кризис рейтингов в зоне KG

Де-факто, у нас в стране есть один счетчик. Это top.kg.
Он поддерживается абы-как. Зарегистрироваться нормально уже нельзя. Администрация на письма не отвечает.

Видя это безобразие, Айбек пошел на героическое усилие и попробовал занять нишу со своим проектом top.iz.kg.

К сожалению, он пока не смог покорить эту вершину. На сегодня «В связи с тем, что нагрузки на сервер коллосально увеличиваются, наших ресурсов не хватает».

Кто на новенького?

Северный Кипр и университет CIU

Недавно побывал на Северном Кипре, а точнее в Турецкой Республике Северного Кипра (ТРСК), по делам (даже моря не видел). Поделюсь впечатлениями.

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

Уведомления с iPhone на Mi Smart Band 5

Купил я себе iPhone 13 mini, но об этом отдельно.
Как ни странно, на iPhone нет функции Always-on-Display, которая позволяет видеть полезную информацию на экране телефона, находящегося в спокойном состоянии. Несмотря на то, что едва ли не все Андроид-телефоны имеют эту функцию iPhone в спокойном состоянии показывает полное ничего. Глядя на него непонятно в каком он состоянии, есть ли пропущенные события и, вообще, не отключился ли он.
Кто знает по какой причине у iPhone нет этой функции, но, зная Apple, можно предположить шкурный интерес — чтобы у людей был ещё один стимул покупать часы Apple Watch.
Понятно, что я знал об этом особенности и надеялся, что фитнес-браслет Mi Smart Band 5 частично поможет мне не пропустить какие-либо события. Однако, подключив браслет к телефону я обнаружил, что уведомления на него не приходят. Всё остальное работает: данные передаются, циферблаты загружаются, а никакой информации о новых сообщениях или звонках нет.
Поиск в Интернете давал только стандартные инструкции о включении уведомлений. После некоторых логических умозаключений я предположил в чём может быть проблема и не ошибся :-)
Когда на телефоне происходит какое-либо событие, в частности приходит сообщение в мессенджере или SMS, то на экране даже не разблокированного телефона появляется уведомление с текстом сообщения. Получается, что посторонний человек может подсмотреть сообщение на вашем телефоне. Это может быть критично для SMS, т.к. у многих сервисов через SMS приходит код для двухфакторной авторизации и сброса пароля, а ещё банк может присылать коды подтверждения по SMS. В настройках телефона, и на Андроиде, и на iPhone есть опция, которая позволяет скрывать текст сообщения на экране блокировки — отображается уведомление только о том, что пришло сообщение. На Андроиде несмотря на включенную опцию текст сообщения передавался на браслет и я, как раз, думал про то, что это утечка информации, т.к. браслет никак не защищён. Но с учётом того, что браслет получает информацию с телефона по блютуф в относительной близости от телефона слишком большой опасности эта утечка не представляет. Если я потеряю браслет или его украдут, то как только он выйдет за пределы зоны действия блютуф на него перестанут приходить уведомления.
Так вот, подобная опция на iPhone, как раз, работает правильно и не позволяет передавать уведомления на браслет.
Я включил отображение уведомлений от мессенджеров, телефона и календаря, но оставил отключенным для SMS.
Кстати, эта опция на iPhone названа не совсем интуитивно понятно — «Показ миниатюр» (Настройки — Уведомления), как и её значения: Всегда, Без блокировки, Никогда. Чтобы текст сообщения не отображался надо выбрать «Никогда». Зато эту опцию можно регулировать отдельно для каждого приложения.

Шаблон соглашения о трансфере на русском языке (версия 5.2)

(Мой перевод на русский язык документа RIPE «Transfer Agreement Template»)

Шаблон соглашения о трансфере (версия 5.2)

[Наименование]

[Юридический адрес]

[Город, страна]

[Регистрационный номер, Наименование регистрирующего органа]
[regID/orgID если применимо]
(Предлагающая сторона)

и

[Наименование]

[Юридический адрес]

[Город, страна]

[Регистрационный номер, Наименование регистрирующего органа]
[regID/orgID если применимо]
(Принимающая сторона)

в дальнейшем именуемые «Обе Стороны»


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

CentOS 8: sftp chroot для пользователя

Ничего сокровенного, просто заметка чтобы вспомнить если понадобится.

В файле /etc/ssh/sshd_config прописываем нужные настройки для группы, в которую включен нужный пользователь:
Match Group rock
        ChrootDirectory /data/%u
        ForceCommand internal-sftp


Мне кажется, вместо конструкции "/data/%u" можно указать просто "~", но я решил использовать более явную.

А также включаем внутренний sftp:
Subsystem       sftp    internal-sftp


Однако, тут есть подводный камень. Чтобы sshd мог сделать chroot папка пользователя должна принадлежать root-у и права на запись ни у кого другого быть не должно, т.е. установить на папку право на запись для группы не получится. Это приводит к тому, что пользователь не может ничего записать в свою папку и остаётся писать во вложенную папку, которую, к тому же, он не может создать. Для данной моей задачи всё это не критично, так что пойдёт.

Ну и попутно можно настроить вход по публичному ключу. А если с какой машинки публичный ключ типа dss (вроде бы устаревший алгоритм), а демон ругается на него примерно вот так:
sshd[8456]: userauth_pubkey: key type ssh-dss not in PubkeyAcceptedKeyTypes [preauth]


то надо добавить в конфиг sshd вот такой параметр:
PubkeyAcceptedKeyTypes=+ssh-dss

В CentOS 8 нет ntpdate?!

Пипец, в CentOS 8 теперь нельзя установить ntpdate, чтобы синхронизировать время с NTP-серверов. Теперь, блин, надо, видите ли, запускать новый демон чтобы просто синхронизировать время.
А как без ntpdate проверить работает ли какой-либо NTP-сервер вообще непонятно. Это я чтоли должен настроить полноценную синхронизацию и ждать сообщения в логах? А мне, блин, не надо синхронизироваться, мне надо просто посмотреть отвечает ли сервер и прям в данный момент интерактивно!
Кроме матов больше слов нет…

Настройка NTP-клиента на CentOS 8.

Посмотреть настройки времени:
timedatectl

Задать часовой пояс:
timedatectl set-timezone Asia/Bishkek

В конфиге нового демона убрать строку с ненужными серверами и указать нужные серверы — источники времени:
#pool 2.centos.pool.ntp.org iburst
server ntp1.domain.tld.
server ntp2.domain.tld.

Запустить новый демон:
systemctl start chronyd

Включить синхронизацию времени:
timedatectl set-ntp true

Подождать какое-то время пока не обновится время в системе или смотреть за логами и ждать появится ли там запись о подстройке времени.

Концепты iPhone )

Все, кому не лень, рисуют концепты новых iPhone. На сайте iphones.ru в статье со странными концептами меня «спровоцировали» представить своё видение )
Вот результат, созданный неспеша в перерывах между задачами по работе. Вариант с очень странным вырезами я сделал специально для демонстрации фантазий рисовальщиков концептов )

Просто с уменьшенным вырезом

Со странными вырезами )