SIPNET

Выяснилось, что голосовые звонки через интернет запрещены в ОАЭ на законодательном уровне, так что мой совет использовать нельзя!

Когда-то давно я, вместо покупки симки для голосовых звонков из-за границы, стал использовать сайт «СИПНЕТ» (звонить можно из приложения или прямо из браузера). Правда, мы в отпуске довольно мало звоним — я несколько раз за отпуск рассказываю своим родителям впечатления, иногда жена звонит своим тоже, это всё. С остальным миром мы, в основном, переписываемся в мессенджерах.

Конечно когда и у месенджеров появились собственные звонки, про «СИПНЕТ» я позабыл, тем более там хоть и дёшево, но не бесплано.

Но тут в Эмиратах, где мы сейчас отдыхаем, случилось странное, — несмотря на приличную скорость интернета в отеле, по «Вотсаппу» поговорить не удалось — соединение идёт, но звук отвратительный, видимо местный провайдер что-то режет. Не справился с задачей и яндексовский «Телемост» — та же проблема. Иногда звук появляется, но потом снова ничего не слышно.

Следующим решил попробовать «СИПНЕТ», у меня там несколько долларов лежит уже несколько лет, грех не попробовать истратить. Оказалось, что этот вариант работает железно — звонил уже несколько раз, слышно отлично.

Может кому-то пригодится.

8 комментариев

Конечные трудности перевода

Как-то, ещё учась в вузе, я на уроке английского перепутал слова important («важный») и impotent («неспособный»), меня потом ещё долго стебали одногруппники — «ну подумаешь, перепутал „ва́жный“ и „важно́й“».

Но я-то не переводчик и редко когда мог похвастаться пристойным знанием английского языка (было у меня три периода, но каждый раз я откатывался на пару уровней из-за отсутствия разговорной практики).

Настройка имени устройства: заголовок «Заключительный шаг», поле ввода «My Dishwasher», пояснение о регистрации и кнопка «Финский язык».
Экран регистрации приборов в приложении «My Electrolux Kitchen»

А чем можно оправдать неправильный перевод в приложении компании «Электролюкс», где перепутали «finish» («завершить») и «Finnish» («финский язык»)? У них там наверняка есть и профессиональные переводчики, и тестеры, но всем по барабану — приложение с «финским языком» на втором экране выглядит так по меньшей мере уже несколько месяцев.

2 комментария

Все побежали и я побежал…

Все побежали и я побежал общаться с chatGPT — это относительно новая нейросеть, которая довольно неплохо умеет поддерживать иллюзию осмысленного разговора. Интернет завален диалогами с нею и от некоторых ответов мурашки по коже.

Я тоже решил приобщиться, хочется держать руку на пульсе и воочию убедиться насколько далеко современные технологии ушли от удачно сгенерированных случайных ответов.

Скриншот диалога: запрос на восторженный пост о ChatGPT и ответ ИИ, описывающий свой опыт общения, точность ответов и способность генерировать тексты.
chatGPT работает «литературным негром» для меня; почему-то, если спросить что-нибудь по-русски, больше не английский она не переключается

Через час с небольшим у меня остались очень противоречивые чувства. С одной стороны, как я и думал, бо́льшая часть того, что попадается в интернете — это подобранные удачные примеры, с другой стороны абсолютного шлака в диалоге появляется довольно мало, хорошие примеры в непринуждённой болтовне случаются постоянно, можно скриншотить до 80%.

У меня в блоге уже крайне редко встречаются картинки не обработанные при помощи алгоритмов искусственного интеллекта — я нередко убираю на фотографиях что-нибудь лишнее, либо добавляю что-нибудь сгенерированное, похоже настали времена, когда и с текстом можно будет делать что-то похожее.

Я не один такой умный, естественно, фотостоки уже давно страдают от AI-fie (этот термин мне придумала chatGPT, когда я попросил придумать смешной термин для обозначения «фотографий», сгенерированных нейросетями). Да и сгенерированные книги в продаже тоже встречаются. Правда смотрятся они пока неуклюже, поэтому мы узнаём о каждом таком случае. Но видимо скоро это изменится.

Диалог: запрос «Придумай очень короткую историю» и ответ ИИ о мышке, которая нашла друга-сову и отправилась в приключения.
Прошу придумать очень короткий рассказ, знаменитое «For sale: baby shoes, never worn» превзойти не удалось

Думаю ещё пара итераций, и AI-novel (это я тоже не сам придумал, «pronounced like „I know well“» — поясняет нейросеть) не отличишь от книг, написанных живым автором.

К сожалению, границы знаний нейросети chatGPT найти крайне легко, но всё равно почему-то общение с ней очень увлекательное занятие! Прямо сейчас я гоняю её по языкам программирования. Некоторые языки сетка знает неплохо, другие не понимает вообще, хотя уверенно пишет похожую на них белиберду.

Больше всего меня радует как она уверенно держит контекст беседы, этого очень не хватает современным голосовым помощникам — как правило каждую фразу они воспринимают в отдельности, что бесит. Только что попробовал поговорить с «Алексой», чтобы убедиться, что я прав:

— Alexa, turn plug on.
— Okay.
— Alexa, now turn it off.
молча не делает ничего.

Скриншот диалога с ИИ: пользователь просит найти сумму простых множителей 64725; ИИ отвечает, что сумма равна 43, показывает код на R и предлагает переписать его на Go.
Нейросеть chatGPT прекрасно помнит о чём мы с ней говорили

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

Очень надеюсь, что именно «Алиса» первой из голосовых помощников научится опираться на контекст при выполнении команд, всё-таки именно её я сделал основой своего «умного дома» — «Алекса» как-то не прижилась, мешает языковой барьер.

3 комментария

Неблокирующий режим файлов в PHP

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

Смотрел недавно исходники языка ПХП, хотел изучить подробнее как реализованы там стримы. Пока читал, случайно натолкнулся на недокументированную возможность — у функции fopen, как оказалось, есть режим открытия в неблокирующем режиме (буква n).

#if defined(O_NONBLOCK)
        if (strchr(mode, 'n')) {
                flags |= O_NONBLOCK;
        }
#endif

Доступно не на всех системах, только там, где есть константа O_NONBLOCK в fcntl.h, то есть в Линуксах, например.

Для меня это довольно полезное знание, так как я давно ищу возможность проверить из ПХП не зависла ли подмонтированная через NFS система хранения. Из-за таких зависаний виснет драйвер в ядре и все системные вызовы, которые к нему обращаются. В конечном счёте виснет процесс, который пытается работать с такой файловой системой, да так, что его не получается убить через SIGKILL.

В общем, надо будет попробовать при следующем таком инциденте — не спасает ли открытие в неблокирующем режиме. Код, кажется, должен выглядеть примерно так:

function tryToOpen(string $path, float $timeout): ?bool
{
	$dio_fd = dio_open($path, O_RDONLY | O_NONBLOCK);
	if ($dio_fd === false) {
		return null;
	}

	foreach (glob('/proc/self/fd/*') as $file) {
	    if (is_link($file) && readlink($file) === $path) {
		$fd = basename($file);
		$read = [fopen("php://fd/$fd", 'rn')];
		$write = $except = null;

		$timeout_us = (int) ($timeout * 1e6);
		return stream_select($read, $write, $except, 0, $timeout_us) === 1;
             }
	}
	return null;
}

Тут используется модуль ПХП Direct IO, чтобы обратиться к системной функции open мимо ПХП. Приходится так делать, потому что функция fopen, которая есть в языке, сначала попытается проверить существование файла и в моей задаче сразу зависнет.

После этого я, пользуясь /proc, ищу среди своих файловых дескрипторов тот, который отвечает за только что открытый файл и переоткрываю его через fopen (в этом месте делается дубликат файлового дескриптора, а прежний закрывается — вызывается dup), так как мы тут работаем с номером файлового дескриптора, то проверка на существование файла не используется.

Переоткрытие файла нужно, так как в вызов stream_select, который я использую для ожидания данных из файла с таймаутом, можно передать результат fopen, но не dio_open.

Надеюсь случай испытать этот код представится нескоро.

2 комментария

Видео на компьютере в 80-е

На «Хабре» вышел перевод статьи «Nude Pictures on early Retro PCs — Was it Possible?», автор оригинала попытался разобраться как смотрели на голых девушек по времена ДОСа и даже раньше.

В каком же формате смотрели айтишники развлекательные картинки до изобретения форматов графики, которыми мы пользуемся сейчас?

Я те времена не застал, но ещё помню переходный период — когда графика сейчас уже античных форматов заменялась на более-менее современные. Пришлось напрячься, чтобы вспомнить, что в ходу были форматы PCX (придуман в 1985), PIC (1984) и, разумеется, GIF (1987, тогда он ещё не поддерживал анимацию) — они частенько попадались на дискетам и жёстких дисках компьютеров моих друзей в самом начале 90-х годов.

GIF сейчас хоть и используется, но статичные картинки в нём уже никто не смотрит.

Две молодые женщины с темными волосами и серьгами, обрамленные зелеными листьями на фиолетовом фоне, смотрят прямо в камеру.
Файл под названием «ORIENTL3.PCX» с сиди-диска «Universe Of PCX», сконвертированный в формат PNG

Но на дискетах ходили и пикантные видеофайлы в экзотическом сейчас форматах GL. Видеоконтент был тогда в диковинку, так что нас поражала и форма, и содержание. В интернете и сейчас можно найти файлы этом формате. Файлы нередко занимали несколько сотен килобайт и на дискету умещалось от одного до трёх таких файлов.

Посмотреть современным софтом их не получится, но я сконвертировал для вас кусочек файла MTV2.GL, чтобы вы имели представление о том как это было.

Логотип MTV: стилизованная буква «M» с сетчатым узором и надпись «MUSIC TELEVISION» под ней на чёрном фоне.
Небольшой фрагмент из видео «MTV2.GL», сконвертированный в GIF

GL расшифровывается как GRASP Library, где GRASP, в свою очередь, тоже аббревиатура — GRaphic Animation System for Professionals. Концептуально формат был придуман в 1984 году программистом Дугом Вулфграмом, а реализован годом или двумя позже.

Хотя я сталкивался с ним в качестве видеоформата, на самом деле это скриптовый язык вывода графики, как можно убедиться в описании формата и задумывался, по всей видимости для интерактивных презентаций. Появление этого формата многие называют рождением мультимедийной индустрии.

Первые реализации были условно-бесплатными, но в 1987 году пакет программ для создания и просмотра GRASP-файлов стал коммерческим продуктом. Продукт продавался до начала нулевых, но концептуально проиграл — чисто скриптовый подход стал слабо смотреться на фоне визуальных редакторов конкурентов, кроме того и сам язык был запутанным и с очень высоким порогом входа.

В самом конце 80-х появился формат GIF89a, который поддерживал анимацию, но её в этом формате я увидел только в интернете во второй половине 90-х.

Скриншот окна программы Netscape Navigator версии 2.01 с логотипом, информацией о лицензии и копирайте Netscape Communications Corporation за 1994–1995 годы.
Netscape Navigator 2.01. Нетскейп — первый браузер, который научился играть анимированные гифы, это случилось в сентябре 1995 с выходом версии 2.0

Мой рассказ был бы неполным без упоминания формата DL, хотя появился он позже 80-х — в 1990-м году. Тем не менее на дискетах моих друзей файлы GL и DL часто встречались вперемешку.

В интернете встречаются файлы и в этом формате тоже, правда найти ролик, безопасный для публикации, оказалось довольно сложно.

Рука музыканта играет на электрогитаре в темноте, акцент на струнах и грифе инструмента.
Демонстрационный файл из пакета DL-VIEWER 3.1, сконвертированный в формат GIF и увеличенный в два раза

В отличие от GL, DL — честный видеоформат, который создавался именно для этой цели. Всё что он умеет — проигрывать зацикленное видео со звуком. DL — расшифровывается как Davide Luca, по имени и фамилии одного из создателей формата (он итальянец). Первые версии редактора и просмотрщика были бесплатными, но с версии 3.0 продукт стал условно-бесплатным, работающим без регистрации только ограниченное время.

Последняя версия, которую можно встретить в интернете — 3.1, датируется 1994-м годом, по всей видимости это примерный год смерти этого видеоформата.

Скриншот терминала с командами: конвертация PNG в GIF через awk и gifsicle, очистка файлов.
Процесс конвертации формата DL в GIF

Оба формата можно сконвертировать для просмотра утилитой deark (я использовал версию для «Мака»), она распаковывает кадры в файлы PNG и VOC (в них звук), естественно, убивая тайминги. Её я использовал для конвертации DL, а для файла GL использовался альтернативный способ — встроенный в DOSBOX видеозахват, там я запускал оригинальный плеер GLPro.

2 комментария

Спам на свежекупленную симку

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

В списке подарков — детские часы, золотая акула и набор динозавров. За акулу и динозавры у нас теперь отвечает мама, а я взял на себя часы.

Купил хуавеевские, сделаны хорошо, да и софт мне очень понравился. Например, в нём можно установить белый список контактов, которые могут звонить и писать на часы. Благодаря чему я узнал, что на свежекупленную в «Билайне» симку уже через пару дней начал кто-то названивать.

Скриншот уведомлений: блокировка вызовов с незнакомых номеров и прибытие/отбытие пользователя Evolution на «Работу папы» 21 декабря 2022 г.
Часы пока катаются в моём рюкзаке вместе со мной на работу и с работы

Предполагаю, что это спамеры. Конечно возможно, что номер кому-то принадлежал до этого, тогда это нормально. Но если он свежевыпущенный, то это очень неприятно — получается в «Билайне» кто-то оперативно сливает данные по новым номерам.

12 комментариев

Получил нагрудный знак ★

Перед Новым годом Республика сделала прекрасный подарок: сегодня я из рук министра цифровизации Айрата Хайруллина получил нагрудный знак «За достижения в области информатизации и связи РТ».

Красное удостоверение с золотым тиснением «УДОСТОВЕРЕНИЕ» и круглая эмблема с зелёно-красным дизайном в чёрном футляре на деревянном столе.
Нагрудный знак «За достижения в области информатизации и связи РТ» и книжечка к нему

Предупреждая вопросы: никакого особого статуса этот нагрудный знак не даёт, просто приятное признание заслуг.

18 комментариев

Крайний и последний

В новую квартиру несколько раз приходила бригада из двух человек полировать стекло стеклянной стены — после установки мы нашли царапины в нескольких местах. Полировка занимает несколько часов и каждый раз после их работы мы находили изъяны.

И вот очередная приёмка, бригадир мне с надеждой говорит:
— Очень надеюсь, что это крайний раз.
— У нас каждый раз — крайний, надеюсь этот последний.
— И правда!

6 комментариев

Очиститель воздуха

Несколько лет назад мне на день рождения подарили сяомивский очиститель воздуха. Я надеялся, что он облегчит мою сезонную аллергию, но ожидания не оправдались — никакого влияния не заметил, да и воздух в прежней квартире был отличный — микрочастиц почти не было. Лишь два раза фильтрация пригодилась — когда на плите сгорело что-то из еды и когда в подъезде носили цемент для ремонта в одной из квартир.

В общем, очиститель выработал ресурс своего фильтра и я его выключил с мыслью однажды выставить на продажу. Я не очень люблю это дело, так что вещи у меня могут лежать много лет, прежде чем так намозолят глаза, что я всё-таки не выдержу.

Скриншот приложения «Монитор воздуха»: PM2.5 — 18, PM10 — 18 (отлично), CO2 — 1162 ppm, t 25°C, влажность 52%, графики за день.
Показания микрочастиц воздуха до и после включения очистителя

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

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

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

6 комментариев

← сюда туда →