14 февр. 2019 г.

Странный Apple Pay

У меня есть 3 карты ВТБ банка + 1 сбер, которые я хочу держать привязанными к apple pay.  При оплате в теории я могу выбрать любую из них. Сбер и ВТБ различаются хорошо, а вот как отличить карты ВТБ друг от друга - совершенно непонятно.


До этого много лет ходил с Samsung и в Sampsung pay мог свободно назначать картам собственные названия, по которым легко их различать.

В Apple Pay ничего подобного не предусмотрено. Я огорчён.


28 янв. 2019 г.

OpenSSH be specified interface

Время от времени отключаю ноутбук от проводной сети и иду через пару метров к коллегам, потом обратно. Хочется чтобы на это время НЕ рвались ssh-сессии.

В новых версиях SSH появился удобный параметр -B - он позволяет задать интерфейс к которому должно привязываться исходящее соединение. Например на макбуке ssh -B en0 abc.ru -открывает соединение через WiFi и при отключении проводной сети соединения не рвутся.

Однако в версии 7.9p1 (последняя на данный момент) есть ошибка - эта опция работает только если целевой хост задан в виде IP-адреса, а не доменного имени.

В исходниках эта проблема уже поправлена, openssh из исходников собирается просто и беспроблемно, так что рекомендую.

14 окт. 2017 г.

10 минут на электросамокате xiaomi m365

Решил проверить насколько удобнее будет электросамокат по сравнению с моим Oxelo EF 7.
Взял xiaomi на 10 минут в прокат. За это время случайно пробил ему колесо, зато успел сделать несколько выводов:
1. Разгоняется медленно - я немножко подталкивал ногой для начального набора скорости.
2. На самокате можно шагать на бордюры, поднимая его вместе с ногой. Это несколько непривычно после обычного самоката (этот весит около 12кг), но в целом не сложно и просто вопрос перепривычки на новый вес
3. Делать это лучше на маленькой скорости - если шагать на большой то есть риск удариться задним колесом о бордюр, что в моём случае и произошло (пробил заднее колесо). Перднее колесо по ощущениям прочнее и наезда на бордюр не боится
4. До заявленных 25 км/ч по ощущениям не дотягивает. Едет быстрее обычного самоката, но не вдвое (на обычном у меня скорость движения 12-15 км/час).
5. В горку завозить меня отказался - пришлось помогать ногой. Проблема ли это мощности самоката или например износа батареи непонятно - самокат прокатный и потому используется заметно интенсивнее, чем личный.
6. Есть экономичный режим - там разгон плавный, скорость низкая. Подойдёт чтобы детям кататься.
7. Складывается заметно дольше чем Oxelo EF и места после складывания занимает больше.
8. Прицепить самокат к чему-то сложно: только если колесом (но оно вроде легко снимается), т.е. подходит для поездок туда где самокат можно оставить так. Например офис-дом.
9. Разгоняется не очень быстро
10. В итоге самокат мне понравился для задач ездить до офиса или в гости и т.п. Хочу купить.

Механизм складывания на самокате Oxelo EF 7

Стал самокат плохо складываться - сначала через раз, потом через два. Дошло до того что складывание по педали перестало работать вообще - приходилось руками отжимать крепления чтобы самокат сложить.

Дело оказалось просто в грязи: помогла разборка самоката, протирка тряпочкой и смазка Литол-24.

Механизм складывания устроен на вид надёжно: не смотря на внешний вид из пластика внутри железки и пластик там ни обо что не трется. Ударов ногой не боится и т.п. - можно пользоваться.

15 мар. 2017 г.

Про HP microserver Gen7 и iLO

К серверу этому бывает опция 615095-B21 - плата iLO, только стоит она дороже самого сервера и в продаже её в России я не нашел.

Решением стала установка бесплатного гипервизора VMWare http://www.vmware.com/ru/products/vsphere-hypervisor.html

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

На своем рабочем компьютере я подключил флешку к виртуальной машине и установил на неё гипервизор, потом просто вставил эту флешку в сервер - он загрузился и подцепил настройки сети по DHCP. Были опасения что гипервизор не запустится из-за разных процессоров (на рабочем компьютере Intel, а на сервере - amd), но всё сработало хорошо.

Внутрь VMWare прокинул физические диски напрямую через RDM и загрузился прямо с них, дальше только сетевые настройки дополнил. Теперь могу флешку вынуть и загрузиться на голом железе, а могу флешку вставить и загрузиться в гипервизоре, а оттуда уже запустить виртуалку с доступом к консоли и полным управлением.

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

P.S. памяти немного жалко - гипервизор с веб-интерфейсом забирают себе 1.5Гб памяти (под виртуалку осталось примерно 4Гб), но на практике это пока не мешает.

20 нояб. 2016 г.

Lets-proxy

После некоторой работы с выписыванием сертификатов от Lets encrypt (в т.ч. написанием собственных утилит для массовой работы с доменами) я заметил, что они все (в т.ч. своё) требуют неочевидных настроек для начала работы. Тут мне пришла в голову мысль написать программу для работы с lets encrypt, которая настроек требовать не будет.


И вот результат: https://github.com/rekby/lets-proxy

Доступны исходники и скопилированные бинарники под основные платформы где это может потребоваться (windows,linux,freebsd).

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

При запуске без параметров программа будет слушать 443 порт на всех локальных IP-адресах и при получении запроса сама выписывать через Lets encrypt валидный сертификат и дальше проксировать запрос на тот же IP-адрес порт 80 (стартандный http-сервер). При устаревании сертификатов они будут автоматически обновляться.

При добавлении/удалении доменов ничего править не придётся - сертификаты выписываются автоматически.

Единственное требование - клиентское ПО, которое осуществляет запрос должно поддерживать работу со SNI (много сертификатов на одном IP-адресе). Это нужно чтобы сервер понял к какому домену происходит обращение до начала шифрования.

Все современные браузеры этот режим поддерживают.

28 апр. 2016 г.

За что мне нравится Go lang

  1. Не мешает выражать то что думаешь
    1. Простой синтаксис
    2. Огромное количество библиотек на все случаи жизни
  2. Простая кросс-платформенная компиляция: установить в переменной окружения целевую ОС/архитектуру и на этом всё: никаких танцев с вытягиванием/подключением библиотек целевой платформы. Т.е.я разрабатывая программу на винде потом просто компилирую её на своём же компьютере под linux и вот она уже пошла работать на серверах. То же самое в обратную сторону: пишу программу для linux-сервера. Отладил. Компилирую для Windows и она просто работает как работала. с другими языками для этого обычно нужно как минимум настраивать систему сборки на целевых системах или вытягивать оттуда и как-то подцеплять ключевые библиотеки.
  3. Благодаря повсеместному использованию gofmt все исходники оформлены единообразно.
  4. Встроенная система вендоринга (таскания всех зависимостей с собой) позволяет легко предотвращать ситуации когда всё накрылось из-за того что github недоступен или пакет удалился вместе со страницей автора.
  5. Дешевое создание логических потоков (горутин) и простые способы связи между потоками.
  6. Отсутствие средств мета-программирования направляет в русло решения собственно текущей задачи, а не построения абстрактных универсальных конструкций (которые зачастую больше не пригодятся).
  7. Бинарник, получающийся после компиляции содержит в себе всё что нужно – никаких дополнений с собой на целевую систему тащить/прописывать не нужно.

По выразительности (простота + количество библиотек) я его воспринимаю на одном уровне с питоном с важным дополнением, что для python много библиотек написаны на C, а для go основная масса написана на Go и ничего дополнительного не требуется. По многопоточности – рядом с Erlang.

Из минусов:

  1. Многословная обработка ошибок
  2. Некоторые неочевидные способы выстрелить в ногу, например неявные переопределения уже существующих переменных через := внутри вложенных блоков кода.
  3. Отсутствие средств для работы с GUI.