Заметки malykh.com

В блоге:

2022-01-16

Временная деградация мобильных устройств: Samsung Galaxy Note 3/Note Pro 12.2

С 2014 по 2020 год использовал мобильный телефон Samsung Galaxy Note 3. Считаю его весьма удачной моделью.

У этого телефона был младший (по возрасту) большой (по размерам) брат - это планшет Samsung Galaxy Note Pro 12.2. Повышенной популярностью он не пользовался, но был интересен размерами экрана (12.2"), это необычно даже по нынешним временам.



Устройства Note 3 и Note Pro 12.2 весьма близки. У них одинаковые платформы; Samsung Exynos 5 Octa 5420 (для Wi-Fi и 3G версий) или Qualcomm Snapdragon 800 (для LTE/4G версий).  Оба поддерживают перо. Оба они были обновлены только до Android 5.0.

И заметил такой момент, когда совсем недавно сравнивал работу Samsung Galaxy Note 3 и Samsung Galaxy Note Pro 12.2 одновременно.

Мой Note 3 (на Snapdragon) ощущается вполне шустрым. Даже удивительно шустрым для своего возраста. Никаких явных тормозов, всё установленное более-менее бегает, те же браузеры не вызывают раздражений. Единственная проблема, что на Android 5.0 уже далеко не всё можно поставить.

Тогда как Note Pro 12.2 (но уже на Exynos) ощущается диким тормозом. Всё работает медленно, с длительными задержками. Систему сбросил, но это мало помогло. Даже браузер использовать не очень приятно.

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

Почему такая разница? Вижу три варианта:

1. У Note Pro 12.2 выше разрешение экрана: 2560×1600 против 1920×1080 - это почти в два раза больше пикселов. Возможно, что рендер более крупной картинки требует больше ресурсов, особенно в ненативных UI (которых сейчас много).

2. Со временем произошла деградация свойств каких-то аппаратных компонентов. Например, встроенной флеш-памяти. И она почему-то больше коснулась Note Pro 12.2

3. Exynos со временем деградирует сильнее, чем Snapdragon.

Возможно, что все три влияют одновременно.


А так оба устройства реально используются и сейчас. Note 3 как сетевая радио-точка (слушать трансляции интернет-радио через Wi-Fi, проблем нет),  а Note Pro 12.2 как видео-терминал (смотреть видео с Youtube, само видео идёт без проблем через аппаратный декодер, а вот навигация медленная).



Еще по этой теме:
Изображения из альбомов:

2022-01-14

Нарезка подошвы обуви

Китайские зимние сапоги. Достаточно тёплые, но подошва очень скользкая.

Решил нарезать рисунок помельче. Использовал Дремель, но не тот, что гравер, а тот что газовый "паяльник". В комплекте есть насадка-нож. Подошву режет очень легко.

Несколько минут и получается такая мелкая насёчка (слева после, справа до):



Не очень аккуратно и прямо, конечно. Но это эксперимент на дешёвой обуви.

После нарезки сапоги были проверены, по отзыву стало гораздо лучше даже по чистому льду.

Надо на другой обуви продолжить, но уже более скрупулёзно.



Еще по этой теме:
Изображения из альбомов:

2022-01-12

Дизлайки Youtube

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

Но если подходить с практической точки зрения, то число дизлайков (или соотношение с лайками) часто позволяли оценить, стоит ли тратить временя на просмотр видео. Теперь это сложнее сделать.

Взамен сейчас я использую принцип "1/10". Это граница отношения числа лайков к числу просмотров. Если лайков сильно меньше 1/10 от просмотров, то, скорее всего, видео не стоит траты времени.

Для видео с совсем малым числом просмотров (скажем, до 1 тысячи) эта оценка плохо работает. Но чем больше просмотров, тем точнее оценка (моё субъективное мнение).

Например, видео проходит по критерию:



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



Изображения из альбомов:

2022-01-10

Моя фототехника (2021)

А комплект моей фототехники прежний, не изменился с 2016 года.




Обе камеры с матрицей кроп 1.5, но у GR несменный объектив (ЭРФ 28мм). На NX500 чаще объектив NX 30/2 (ЭФР 45мм).

Продолжаю использовать в тех же сценариях. Ricoh GR как карманная камера для обычной съёмки. Samsung NX500 для более сложной съёмки (недостаток света, другие фокусные расстояния) и для съёмок видео (у GR, как неоднократно отмечал, качество видео откровенно плохое).

Samsung NX500 в порядке, а вот на Ricoh GR уже сказывается эксплуатация.



Кроме потёртостей начала топорщиться и отклеиваться резинка на ручке. Особенно возле отсека с разъёмами.

Ещё из недостатков Ricoh GR отметил бы склонность к смазыванию снимков. То ли корпус неудобный (и лёгкий), то ли я неправильно кнопку спуска нажимаю, но, например, на (казалось бы) безопасной выдержке 1/30 очень вероятно получить смаз. Приходится укорачивать выдержку. У NX500 такой проблемы нет, он позволяет снимать на более длинных выдержках и без стабилизатора.

Попутно начал потихоньку распродавать фототехнику. Продал оставшиеся автофокусные объективы Pentax и прочие Pentax-аксессуары - не вижу своего возврата к системе Pentax. Продал и часть неавтофокусной оптики - те объективы, что мне были не особо интересны. Даже не из-за денег (сейчас это всё б/у дешевое), а чтобы без дела не лежали.

Но осталась система NX. Остались и некоторые старые неавтофокусные объективы - большей частью Pentax и немного СССР.


Если говорить о заменителях, то с Ricoh GR понятно - пока ещё есть Ricoh GR III (не путать с GR Digital III). Самое важное - это матричный стабилизатор, который как раз может вылечить проблемы со смазом. Попутно улучшили матрицу и объектив, появился тач-скрин. Но совершенно не радует цена, но можно подождать б/у. И видео всё слабое, но это неактуально.

Если говорить о системных камерах, то фаворита нет. Могу лишь однозначно сказать, что если замена NX500 будет, то только с кадром побольше: 36x24 мм (более вероятно) или 44x33 мм (менее вероятно).

2022-01-08

SZ Viewer: адаптеры, которые использую для проверки (2021)

А никаких изменений коллекции моих диагностических адаптеров не произошло по сравнению с 2020 годом.

Но хотел приобрести адаптер, отвечающий при инициализации "OBDII" вместо принятого "ELM327", да стало лень ждать доставку Алиэкспресс, которая нынче совсем плоха. Добавил поддержку заочно. Говорят, что заработало.

Ещё удалось разобраться с работой Viecar 4.0 Bluetooth 4.0 через BLE. Оказалось достаточно прямолинейно, но опыт в реализацию не перешёл. Для Windows работа с BLE слишком кривая, а для Android не имеет смысла.



Еще по этой теме:

2021-12-28

SZ Viewer: почему всё сложно с Android

Может показаться, что я вредный разработчик. Eсть SZ Viewer - потенциально полезный софт, а я не хочу его развивать. А всем подавай то логи, то графики, то приборы, то виджеты, то ещё что-то.

Речь пойдёт только о версии для Android, которая наиболее важна и популярна. Версия для Windows/Linux/macOS мало кому интересна (даже с учётом, что там чуть больше возможностей), поэтому нет смысла с ней возиться, а для iOS и не планировал ничего делать.

А проблема простая. Разработка приложения на уровнe Android API сложна. Даже не так, не столько сложна по своей сути, сколько мелочная и постоянно меняется. Нужно этим профессионально жить, постоянно находиться в потоке. А мне это не особо интересно, да и нет ресурсов.

Немного истории. Изначально весь SZ Viewer хоть и предназначался для запуска под Java Runtime Environment, но разрабатывался на языке Scala. Scala - это язык, который, по моему мнению, лучше и выше уровнем, чем Java.

А наличие Java-основы позволило достаточно немаленький объём кода SZ Viewer (сами протоколы, данные, работа с ELM327 и т.п.) одновременно использовать и для PC, и для Android-приложения.

К сожалению, разработчики Scala сильно недооценили Android, тем самым совершили, на мой взгляд, серьёзную ошибку продвижения, которая в том числе и привела к падению интереса к этому языку. А пользователи языка получили проблемы со сборкой Android-приложений.

Первое время (в 2014 году) состояние дел ещё было терпимым, что позволило развивать SZ Viewer для Android, пусть и достаточно медленно.

Но чем дальше, тем хуже. В значимые моменты перехода приходилось повозиться, чтобы сохранить Android-проект рабочим: в 2017 году (переход с минимума 2.2 на 2.3) и в 2018 году (переход с минимума 2.3 на 4.0).

Сейчас проект собирается, но уже как махровый legacy. Сборка старым sbt с давно устаревшим Android-плагином плохо встраивается в современный процесс Android-разработки. Используемая Scala 2.11 ощутимо устарела, но сохранена из-за сложностей перехода на уровень Java 8 (который нужен для 2.12 и 2.13) для Android. Из-за этого же используется старая версия Android Support Library (почти четырёхлетней давности).

Поэтому развитие ограничивается только совсем небольшими правками Android-кода (в основном исправление ошибок) и улучшением общей протокольной части. И каждый раз я надеюсь, что сборка не сломается.

Скажу больше, я подготовил проект для более современной  разработки: уже на базе Gradle в качестве системы сборки и Kotlin в качестве языка, хотя это опять поднимает минимальную версию (скорее всего до 4.3). Начал перенос Android-приложения на эти рельсы. Но в какой-то момент понял, что мне это неинтересно.

И сама разработка под Android не вызывает восторга, да и язык Kotlin у меня вызывает тоску. Scala, возможно, это сложный (в смысле "богатый возможностями"), но целостный язык с мощной коллекционной библиотекой, который изначально разрабатывается образованными и опытными людьми. А Kotlin сразу мною воспринят как язык "колхозников", которые не очень понимали в языках программирования, не разобрались в Scala, поэтому решили сделать свою "улучшенную" версию.

Со временем Kotlin стали подправлять, он стал больше приближаться к Scala (забавно было видеть появление возможностей Scala, которые изначально подвергались критике авторами Kotlin). Похоже, что команда стала посильнее, но основа уже никуда не исчезнет. Для меня сложности писать на Kotlin нет, да и это лучше, чем Java (в целом), но для сугубо хобби-проекта нужен личный интерес, а Kotlin вызывает только уныние. Да и перспективы за пределами Android-программирования не особо видны. Да, они сильно вложились в coroutines, но это ещё не весь язык, да и будущее самой Java-платформы под вопросом.

В общем, перенос Android-части проекта на Gradle + Kotlin я остановил. Как и особо не занимаюсь остальными частями SZ Viewer. С одной стороны жалко всё это выкидывать - работы было сделано достаточно много. Но и не планирую всё это отдавать в open source по личным причинам.

Конечно, есть вариант перехода к Android-разработке не на низком API, а на громоздких фреймворках выше уровнем. Очень много ПО так и создаётся, но оно и выглядит ненативно, занимает много места, медленно и кривовато работает. А суть Android-версии SZ Viewer и была изначально в лёгкости, скорости и нетребовательности к ресурсам, поэтому разработка на уровне Android API для меня приоритетна.

Естественно, я неоднократно приценивался к коммерческому применению, но диагностика для Suzuki потенциала не имеет. Какие-то деньги это, наверное, принесёт, но это того не стоит. Для коммерции нужно делать OBDII + графическую мишуру, это совсем иной потенциал. Но уже много конкурентов, да и в целом меня такая разработка не привлекает.

Есть мысли сделать что-нибудь совсем необычное на базе знаний, полученных при разработке SZ Viewer. Но пока получается гиковые и потенциально очень непопулярные идеи. С другой стороны, лично мне они более интересны, чем развитие надоевшей уже Android-версии.



Еще по этой теме:

2021-12-26

Honda LEB (Fit GP5/GP6)

Двигатель гибридного Honda Fit (GP5/GP6), имеет маркировку LEB и является развитием L15B L-серии. Гибридная система не такая интересная, как на следующем поколении, но в целом линейка двигателей общая.

Под капотом обычный 12В аккумулятор (красная стрелка), модуль управления (белая стрелка):



Вид снизу, масляный фильтр расположен снизу спереди:



Общий вид с гибридной трансмиссией (на базе робота с двумя сцеплениями):



Достаточно необычно, но для гибрида сохранён обычный стартёр, что позволяет заводить двигатель не только большим аккумулятором (через гибридную трансмиссию), но и обычным 12В.



И нет навесного оборудования, которое приводится ремнём от ДВС. Из-за гибридности (оборудование работает от электричества).

Вид на силовой агрегат сзади, каталитический нейтрализатор очень близок к двигателю (как сейчас принято для более быстрого прогрева):



Двигатель без трансмиссии:



Цепной привод ГРМ:



Под клапанной крышкой, муфта VVT на распредвале впускных клапанов.



Привод клапанов. Регулировка тепловых зазоров клапанов отверткой и ключом, гидрокомпенсаторов нет - это привычная для Honda схема. Три кулачка на два впусных клапана - это система VTEC.



Источник фото: https://www.marklines.com/



Изображения из альбомов:

2021-12-23

Поддельный RTU5024

В прошлом году заказывал GSM-реле RTU5024 с Алиэкспресса.



Оказалось, что подделка. Команды RTU5024 не понимает.

Это было довольно обидно, но применение всё же нашлось. После перебора подошли команды от RTU5015.



Кроме входных сигналов, конечно

Ещё дополнительно от других моделей работающие SMS-команды (в предположении, что 1234 - это пароль): 

1234#AC?# - узнать статус AA/AU
1234#M? - узнать статус R/N
1234#GOT? - узнать время GOT
1234#ON# - включить реле
1234#OFF# - выключить реле


Попутно выяснилось, что этих RTU куча разных, некоторые при одинаковом индексе несовместимы. Куда приходят со своим "бизнесом" китайцы , всё становится мусорным, превращаясь в помойку (вспоминаем историю с ELM327).

Хорошо, что это GSM-реле всё же заработало. И нормально работает всё это время.

Но не хватает одной возможности, что есть у изначального RTU5024: автоматической (по расписанию) отправки SMS со статусом. Поскольку GSM-реле в основном работает без траты денег (по номеру входящего звонка без подъёма трубки), то через некоторое время есть риск получить "сюрприз" от оператора сотовой связи. Помогает редкая платная отправка SMS. А поскольку нет автоматической, то приходится регулярно запрашивать статус руками.



Изображения из альбомов:

2021-12-21

Mr. Oizo - Hand In The Fire (feat. Charli XCX)

Альбомная версия Mr. Oizo - Hand In The Fire (feat. Charli XCX):



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

Но чтобы "основа" не пропала, ещё две версии.

Инструментальная, но более привычная:



И совсем обычная версия для видеоклипа:


2021-12-20

The Rust Programming Language: first edition (v1.30)

Старую (первую) редакцию электронной книги The Rust Programming Language спрятали, заменив текст заглушками-ссылками на актуальную редакцию.

Но если приглядеться к тексту заглушки, то можно увидеть ссылку на первую редакцию (в версии 1.30): https://doc.rust-lang.org/1.30.0/book/first-edition/README.html

Самое удивительно, что не все эту ссылку могут в тексте разглядеть, что вызывает негодование.

Но нет, ссылка есть и пока работает.

2021-12-19

Фонарик Convoy S2+: отключение SOS и стробоскопа

Продолжаю использовать фонарик Convoy S2+

 

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

А последовательность действий такая:

1. Включить фонарик.

2. Сразу щелчками выбрать режим минимальной яркости.

3.  Подождать примерно 5-6 секунд до короткого моргания.

4. Выключить фонарик.


Возврат в группу пяти режимов (+SOS, +стробоскоп) производится аналогично.



Еще по этой теме:
Изображения из альбомов:

2021-12-17

Прошивки Samsung NX (объективы)

В продолжение темы прошивок Samsung NX. Собрал и прошивки объективов.

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

Прошивки одним архивом: Samsung_NX_Lens_Firmware.zip (785KB)

Линейка NX:

10/3.5 - нет
16/2.4 - v1.01 - XL1102 01.01_01.22
20/2.8 - v1.10 - XL1016 01.10_01.20
30/2 - v1.22 - XL1012 01.22_02.22
45/1.8 (обе модели) - нет 
60/2.8 - v1.01 - XL1101 01.01_01.06
85/1.4 - v1.12 - XL1103 01.12_01.12

12-24/4-5.6 - v1.01 - XL1203 01.01_01.13
16-50/2-2.8 - v1.03 - XL1301 01.03_01.18
16-50/3.5-5.6 - v1.30 - XL1401 01.30_01.50
18-55/3.5-5.6 I - v1.20 - XL1013 01.20_02.20
18-55/3.5-5.6 II - v1.10 - XL1013i 01.10_01.50
18-55/3.5-5.6 III - v1.13 - XL1205 01.13_00.97
18-200/3.5-6.3 - v1.10 - XL1017 01.10_01.30
20-50/3.5-5.6 I - v1.10 - XL1015 01.10_01.50
20-50/3.5-5.6 II - v1.00 - XL1206 01.00_01.20
50-150/2.8 - v1.03 - XL1406 01.03_00.59
50-200/4-5.6 I - v1.20 - XL1014 01.20_02.20
50-200/4-5.6 II - v1.10 - XL1014i 01.10_01.20
50-200/4-5.6 III - v1.11 - XL1014i2 01.11_02.43


Линейка NX Mini:

9/3.5 - v1.11 - XM1404 01.11_01.13
17/1.8 - нет

9-27/3.5-5.6 - нет

2021-12-15

Шумак-Китой (ссылка на отчёт 2010 года)

Ещё одно интересное путешествие, связанное с рекой Китой. Пеший поход вдоль рек Шумак и Китой, который человек совершил весной 2010 года.



Изображения из альбомов:

2021-12-13

macOS: принудительная синхронизация времени из ком.строки

Отстают часы под macOs, причина специфичная, не о ней речь. Вопрос в том, как вызывать принудительную синхронизацию времени?

В диалоге настроек нет кнопки для принудительной синхронизации:



Если включать-выключать опцию, то синхронизация может произойти, а может и нет. Ненадёжно.

Большинство старых советов синхронизации из командной строки не работают. Но самым простым и работающим оказался совет принудительного завершения timed:



После команды sudo pkill timed он перезапускается, попутно выполняя синхронизацию времени. То, что и надо.



Изображения из альбомов:

2021-12-11

BFGoodrich Winter Slalom KSI: история шин

На своём Suzuki Jimny я использовал три комплекта зимних шин.

C 2009 до 2011 года ездил на небольших (но больше стандартных) Dunlop SJ6 195/80R15 - это примерно 27"

В 2011 году появился лифт, поэтому перешел на ещё более крупные Bridgestone DM-Z3 30x9.5R15 - это номинальные 30", как видно из маркировки.

В 2013 году началась эпопея с КР, что привело к исчезновению лифта. Когда КР ломались (а это было очень часто), то приходилось возвращаться к небольшим шинам, поэтому появились зимние BFGoodrich Winter Slalom KSI 205/70R15 - это штатный размер (примерно 26").

В 2015 году понял, что с КР кашу не сваришь, поэтому вернул лифт и зимние 30" DM-Z3. Зимние BFGoodrich стали ненужными, поэтом со временем переехали на обычный легковой автомобиль, где и стояли до этого года.

А в этом 2021 году BFGoodrich Winter Slalom KSI внезапно и неожиданно стали бить руль и подвеску. Проверка на балансировочном станке показала, что все четыре шины пошли "винтом" и стали "яйцом". Две не очень страшно, а две очень заметно.

Причина непонятна, может быть повлияла довольно жёсткая (для этих шин) моя зимняя поездка 2013 года. Тогда и Jimny, и шинам сильно досталась. Странно только, что последствия проявились только сейчас.

Но остаток протектора ещё есть (примерно 6-7мм):



Шины Winter Slalom KSI давно сняты с производства. Найти такие новые шины поштучно весьма сложно, а брать б/у после такого и не хочется, а вдруг они такие же кривые?

Да и если заменить только пару совсем кривых, то где гарантии, что остальные две хуже не станут?

Ездить на кривых шинах не хотелось, поэтому проблема решена кардинально. Куплен новый комплект зимних шин другого производителя, в таком же размере 205/70R15. А эти BFGoodrich, видимо, только на клумбу.

А на Jimny так и остаются те 30" DM-Z3, с ними проблем нет, да и остаток протектора ещё хороший. 

2021-12-09

Прошивки Samsung NX (фотокамеры)

Фотокамеры и объективы Samsung NX давно сняты с производства, но ещё используются. Но если нужны прошивки, то удобные сторонние ресурсы (раз, два) уже не помогут.

Пока страницы устройств с файлами для загрузки ещё остались на некоторых региональных сайтах Samsung, собрал последние прошивки для фотокамер Samsung NX:

Samsung NX1 - v1.41: NX1_FW_v1.41.zip (300MB)

Samsung NX5 - v1.22: NX5_v01.22_1211191.zip (4.3MB)
Samsung NX10 - v1.32: NX10_v01.32_1211221.zip (4.6MB)
Samsung NX11 - v1.12: NX11_v01.12_1211221.zip (4.7MB)
Samsung NX20 - v1.16: NX20_FW_v1.16.zip (39MB)
Samsung NX30 - v1.31: NX30_FW_v1.31.zip (251MB)

Samsung NX100 - v1.13: NX100_v01.13_1211281.zip (6MB)
Samsung NX200 - v1.13: NX200_FW_v1.13.zip (33.4MB)
Samsung NX210 - v1.13: NX210_FW_v1.13.zip (43.1MB)
Samsung NX300/NX310 - v1.45: NX300_FW_v1.45.zip (241MB)
Samsung NX300M - v1.15: NX300M_FW_v1.15.zip (234MB)
Samsung NX500 -  v1.12: NX500_FW_v1.12.zip (269MB); v1.11: nx500_FW_v1.11.zip (270MB)

Samsung NX1000/NX1100 - v1.15: NX1000_NX1100_FW_v1.15.zip (43.2MB)
Samsung NX2000/NX2020/NX2030 - v1.18: NX2000_FW_v1.18.zip (243MB)
Samsung NX3000 - v1.11: NX3000_FW_v1.11.zip (54.6MB)
Samsung NX3300 - v1.01: NX3300_FW_v1.01.zip (54MB)

Samsung NX Mini - v1.10: NXmini_FW_v01.10.zip (55.3MB)


Для NX500 ещё прошивка v1.11, поскольку именно её использую: мне важна одна как бы ошибка, что есть в v1.11, а наличие её в v1.12 так и не проверил.



Еще по этой теме:

2021-12-07

Мессенджер Ricochet: судьба и развитие

Часто к Tor относятся нейтрально-негативно, но такой образ создаёт в основном веб-часть (Tor Brower, даркнет и всё подобное). Но за этим всем стоит очень интересная и полезная технология hidden/onion services, которая позволяет создавать соединения точка-точка даже через NAT и т.п.

Естественно, ушлые умы сразу придумали использовать hidden/onion service для мессенджеров, что снимает большие проблемы коммуникационной части. В частности, можно вспомнить проекты TorChat или Tor Messenger, но какого-то вменяемого результата они не выдали, полностью остановив своё развитие.

Но мне довелось много лет наблюдать за другим проектом, который работает поверх hidden/onion service - это Ricochet. Расскажу про впечатления и про его судьбу.

Клиент только для PC, максимально простой.

(пример клиента)

В Ricochet используется простая и прямолинейная адресация - само публичное имя сервиса со схемой ricochet. Например, адрес контакта выглядит так: ricochet:lifgk2fbmo7fs7zi

Нигде ничего регистрировать не надо. После первого запуска клиент сам создаёт новый ricochet-адрес, к которому он будет привязан. Нужно лишь обменяться и подтвердить эти адреса для начала общения. Для переноса адреса на другой экземпляр достаточно взять сгенерированный файл ricochet.json (там же и список контактов).

Практически нет никаких функций, только обмен сообщениями, которые не сохраняются даже локально при перезапуске приложения. Имена контактов нужно руками задавать для каждого ricochet-адреса, состояние (кроме подключения) контакта не отображается. И т.д. и т.п., очень простой клиент.

Но есть вещи, которые я бы выделил:

Во-первых, клиент сделан аккуратно и его простая легкость воспринимается положительно. Чем-то напоминает ранние клиенты Google Talk (которые были standalone приложениями). Единственная, пожалуй, ощутимая недоработка в том, что под Windows он не умеет минимизироваться в трей.

Во-вторых, работа поверх hidden/onion service оказалась довольно стабильной, если потеря связи и происходила, то весьма редко. Для сравнения, параллельно использовался Tox, у которого больше функций, но он самостоятельно осуществлял связь точка-точка. И эта связь была очень нестабильной, что делало Tox просто неюзабельным (дело было несколько лет назад, сейчас не знаю).

К сожалению, проект оригинального Ricochet можно считать закрытым (последняя версия 1.1.4). Официальный сайт (https://ricochet.im/) уже недоступен из-за старого сертификата, но остался код на github (https://github.com/ricochet-im/ricochet). 

Причина в том, что hidden/onion services переходят с V2 на V3, а Ricochet использовал именно устаревшую V2. В новом софте для Tor V2 уже отключена, поэтому по мере обновления ПО связь этой версии Ricochet будет только ухудшаться.

Но есть обновленный проект Ricochet Refresh: https://www.ricochetrefresh.net/ (https://github.com/blueprint-freespeech/ricochet-refresh) - он использует V3 (только).

Но, соответственно, поменялась адресация, сейчас адреса контактов стали более длинными. Например: ricochet:6ut7s63povrssozwbbnhil4goaoh2lgntf4w23i75pkikeb7djxkahad

Ricochet (старый, Legacy) и Ricochet Refresh друг друга не видят, поскольку используют разную адресацию и разные версии сервисов (V2 и V3).

Из нового: в Ricochet Refresh добавлена отправка и приём файлов, можно явно сохранить тест разговора в файл.

Можно сказать, что Ricochet пока жив, но, конечно, это достаточно гиковый и очень непопулярный проект. И нет никаких предпосылок к тому, что он станет хоть как-то популярным. Но ценители у него есть.



Еще по этой теме:
Изображения из альбомов:

2021-12-05

Опять Chemipro CH002

После стеклоомывающих жидкостей Wynn's Super Concentrated Screen-Wash 21+ и Sonax 332505 в прошлом году перешел на более дешевый Chemipro CH002, но тоже как бы на этиловом спирте.

В принципе, нормальный вариант, особенно с учётом сильного подорожания вообще всех жидкостей на этиловом спирте. Поэтому в этом году добавил в запас еще Chemipro CH002 (т.е. по 1л).

Упаковка похожая, только чуть измененная этикетка, информации о выпуске теперь печатается  на самой канистре:



Что касается эксплуатации, то эта Chemipro больше похожа на Wynn's, чем на Sonax. Т.е. запах более выражен, но эффективность лучше.

2021-12-03

Tonigy 20+ лет

Оказывается, моей утилите Tonigy уже 20+ лет. Первая версия вышла в феврале 2001 года, а домен tonigy.com зарегистрирован в марте 2001 года. Это самый старый домен из тех, что у меня остались. И сайт сохраняю для истории.

В то время мне очень хотелось иметь удобный доступ к дорожкам Audio CD. В Windows через букву диска можно было как бы видеть эти треки, но это был фейк - они всего лишь вызывали плейер, не будучи полноценными файлами. А мне хотелось именно файлы в WAV-формате (как минимум), с которыми можно работать обычными программами, не понимающими Audio CD напрямую. И Tonigy как раз предоставлял такую возможность в системе OS/2.

Толчком к появлению этого проекта стала замечательная статья "OS/2 Installable File Systems" в электронном журнале EDM/2, она и сейчас доступна: раз, два, три.

Написание драйвера файловой системы (IFS) в OS/2 было сложным делом. Нижний уровень (Ring 0), 16-битный код (хотя сама OS/2 была 32-битной). Да и отлаживаться, постоянно перезапуская компьютер, крайне неудобно, а ошибки приводили к падению системы.

Но автор статьи (Andre Asselin) предлагал комбинированный подход: делается стабильный небольшой IFS, который прокидывает вызовы в пользовательский уровень, а сама "логика" программы реализуется обычной 32-битной программой. Это очень удобно, поскольку сам IFS очень редко нужно править, а разработка пользовательской 32-битной программы ведётся в привычном окружении. К слову, аналогичная идея была позднее реализована в проекте FUSE (Filesystem in Userspace) для Unix-систем.

В 2001 году у меня выдался очень свободный январь, что вкупе с воодушевлением от упомянутой статьи привело к появлению через месяц первой версии Tonigy (написана она была на языке C, собиралась при помощи Watcom C/C++). А для большего веселья это была моя первая Shareware-программа. 

После установки в главном меню программы назначалась буква Tonigy-диска (я обычно использовал T, что считал символичным), привязанная к букве CD-драйва:



Появляется соответствующая буква Tonigy-диска, которая показывает дорожки с Audio CD в виде как бы настоящих WAV-файлов:



При обращении к этим файлами Tonigy прозрачно для пользователя читал данные с Audio CD.

Например, можно слушать эти файлы напрямую с диска через плейер (мой Qu-Player/2 в данном случае):



Или создавать MP3-файлы (при помощи gogo236 в данном примере):



Некоторые энкодеры в то время не понимали WAV-файлы, считая его заголовок частью данных, что приводило к щелчку в начале. Для таких энкодеров звуковые дорожки можно было получить и как RAW-файлы (только звук вообще без заголовков), они были доступны в каталоге TRACKS.RAW

Для удобства даже была эмуляция работы с EA (Extended Attributes), которые сохранялись, конечно, не на CD, а рядом с Tonigy. Это было удобно для WPS.

Программа предоставляла 30-дневный ознакомительный период, во время которого только 10 первых звуковых дорожек были полноценными, остальные содержали тишину. Стоимость регистрации $20. По нынешним избалованным временам это много, но тогда это была обычная стоимость небольшой утилиты.

Продавалась она сравнительно неплохо (насколько это возможно для OS/2 софта в то время). К сожалению, со временем я столкнулся с проблемой: используемый банк (он жив до сих пор) коварно закрыл канал получения денег, а обналичить чеки, которые регистратор стал присылать взамен, я так и не смог. 

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

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

В основном пользователи, покупавшие Tonigy, были из Германии, с ними было очень легко и приятно общаться. Они помогали и в разработке, находя ошибки и предлагая новые возможности. Например, один пользователь бесплатно прислал CD-I (Compact Disc-Interactive) диск. Я первый раз про такое чудо услышал, но реализовал его поддержку:



Можно было играть видео (MPEG) напрямую с CD-I через файл. К более привычным Video CD это тоже относится.



В целом, это был очень интересный опыт.

2021-12-01

INTRAC: Система полного привода Honda (1988-1995)

Первоначально лейтмотивом систем полного привода автомобилей Honda 1980-х годов был Honda Civic Shuttle.

У первого поколения с конца 1984 года была версия с жёстко подключаемым полным приводом (part-time), она называлась просто 4WD:



В 1986 году появилась система полного привода RealTime (RT) 4WD на модификации RT-J:



Эта система полного привода была ориентирована не на проходимость, а на движение по скользким дорогам. Межосевой дифференциал так и не появился, а задний редуктор автоматически приводился вязкостной муфтой, стоящей между частями длинного составного карданного вала. Обычная простая схема тех лет.

С появлением следующего поколения (EF) Civic/Civic Shuttle в 1987 году система полного привода RealTime 4WD сохранилась и даже появилась на седане Civic.

Но в 1988 году инициатива перешла к новой модели под названием Honda Concerto:



Была и привычная Real-time 4WD (теперь и с АКПП), но на модификациях с ABS (ALB, как её тогда назвала Honda) была представлена новая система полного привода INTRAC (INNOVATIVE TRACTION CONTROL SYSTEM).



INTRAC позиционировалась как RealTime 4WD + ALB:



Но, фактически, это была другая система полного привода:



Вся изюминка INTRAC в заднем редукторе.



В обычном состоянии задний редуктор постоянно приводился карданным валом (межосевой дифференциал отсутствует). Но внутри этого редуктора вообще нет межколёсного дифференциала.



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

Кроме того, задний привод может полностью отключаться при помощи электроуправляемой зубчатой муфты:



Управление дискретное: полное включение, полное отключение, т.е. эта муфта не используется для плавной регулировки передаваемого крутящего момента. Для этой цели служат только вязкостные муфты заднего редуктора. Полное отключение нужно при срабатывании ABS/ALB (как писала Honda: для уменьшения вибраций).

Но немного позже в том же 1988 года система INTRAC появилась и на Civic/Civic Shuttle (EF).

(Honda Civic седан с INTRAC)

Системы RealTime 4WD (без ABS/ALB) и INTRAC (с ABS/ALB) сохранились и на следующем поколении (EG), а также перешли на Honda Domain (эта модель заменила Concerto).

И лишь с 1993 года эти системы стали заменяться новой системой полного привода Dual Pump (с гидравлическим управлением), которая полностью их и вытеснила. Но в системе Dual Pump в заднем редукторе был обычный межколёсный дифференциал. Идеи "поколёсного" управления, но на более современном уровне (с электронным управлением) были продолжены в системах Honda ATTS, VTM-4 и SH-AWD.

Забавно, что были попытки самодельщиков поставить задний  редуктор от INTRAC вместо заднего редуктора Dual Pump, в первую очередь с целью повышения проходимости. Как минимум слышал об одном удачном таком проекте (был сделан на Honda Orthia).



Изображения из альбомов:

Blog Archive