Monday, October 15, 2012

Lennox Recovery для телефонов Xiaomi MiOne(S)

Владельцы практически всех аппаратов знакомы с ClockWorkMod Recovery - кастомное рековери, которая позволяет сохранять, восстанавливать и устанавливать прошивки. Очень удобная штука для тех, кто любит экспериментировать с прошивками.
В телефонах Xiaomi MiOne(S) есть стоковая MiOne Recovery, которая позволяет держать копии двух последних прошивок (на случай, если последняя установленная прошивка была нерабочей - можно восстановить предидущую).
Только 2 последние прошивки - не очень удобно, согласитесь. Следующий неприятный момент - MiOne Recovery может прошивать файл из корня SD карты и только, если он называется update.zip, что для последовательной установки нескольких
прошивок предполагает многочисленные переименования их в файл update.zip. И тут на помощь приходит Lennox Recovery от австралийского монстра прошивок lenny_kano.

Многие замечают, что в телефонах Xiaomi есть замечательная программа Backup - которая предназначена для сохранения и восстановления системных настроек, установленных приложений, настроек лаунчера и т.д. Но к сожалению Backup не может
сохранить настройки учетной записи google, настроек текущего дизайна и много другого. Lennox Recovery делает же полную копию текущего состояния вашего телефона один к одному.

Итак, переходим к установке Lennox Recovery.
- качаем Lennox Recovery. Переименовали в update.zip - зашли в MiOne рекавери, накатили update.zip (без Wipe All и т.д.). Перегрузились.

Сохранение текущей прошивки:
- заходим в recovery - попадаем в Lennox Recovery. Идем в "backup and restore" и делаем "backup".

Устанавливаем новую прошивку:
- заходим в recovery - попадаем в Lennox Recovery. Выбираем в меню "wipe data/factory reset". Тонкий момент - после подтверждения данного пункта вы увидите 5 строк с надписью "No".
  Чтобы добраться до пункта "Yes -- delete all user data" - надо нажать кнопку "громкость - вниз" _7_ раз (все пункты не помещаются на видимой части экрана!)
- Выбираем в меню "install zip from sdcard" - "choose zip from sdcard" - выбираем zip Файл с прошивкой - "Yes - Install имя_файла".
- После установки и появления меню - "+++++Go Back+++++" и затем "Reboot system now".
- Вот тут появляется интересное меню:
  ROM may flash stock recovery on. THIS CAN NOT BE UNDONE.
  - No
  - Yes - Disable recovery flash

  Если вы выбираете пункт "No", то прошивка установит стоковый MiOne Recovery и вы лишитесь Lennox Recovery! Иначе, Lennox Recovery просто заблокирует переписывание себя :)
  Выбираем "Yes - Disable recovery flash". - после этого система перегружается в новую прошивку и Lennox Recovery остается нетронутым.

Восстановление сохраненной прошивки:
- заходим в recovery - попадаем в Lennox Recovery. Выбираем в меню "backup and restore". Выбираем "restore" и из списка сохраненных прошивок (список представляет из себя даты создания backup).
- Выбираем "yes - restore".
- "Reboot"

Удаление Lennox Recovery:
устанавливаете любую официальную прошивку и после выбора пункта "Reboot system now" - и вопроса
"ROM may flash stock recovery on. THIS CAN NOT BE UNDONE." - выбираем "No". Стоковая MiOne Recovery переписывает Lennox Recovery.


Tuesday, September 25, 2012

Xiaomi Mi One S vs Samsung Galaxy S2


Являясь владельцем Samsung Galaxy S2 уже более года, попробовал сравнить его с китайским телефоном Xiaomi Mi One S (т.к. для европейского покупателя они оказываются в одной ценовой нише).

Наличие

M1S доступен только через онлайн магазины в Китае, причем не зная проверенные магазины, легко получить подделку (были случаи, когда все детали, кроме процессора, были оригинальным и телефон проходил проверку на IMEI !) или более дешевую модель (Young - меньшее количество памяти, более слабый процессор). Для любителей "пощупать вживую" перед покупкой сразу не подходит. При онлайн покупках в Китае категорически рекомендуется использовать только проверенные магазины и способ оплаты paypal.

Цена

В России: 
M1S - 330 USD (10230 руб, заказ из Китая http://www.365gate.com
SGS2 - 448 USD (13 330 руб, евростест, заказ из Германии, http://www.computeruniverse.net)

В Германии: 

M1S - 429 USD (растаможка, допуслуги партнера EMS, фирмы GDSK, заказ из Китая http://www.365gate.com), 
SGS2 - 452 USD (online магизин)

Покупка
M1S не продается в обычных магазинах, заказать его можно только с сайта производителя и только в момент распродажи партияии (время распродажи последней распродажи продолжалось 10 минут) и с оплатой китайской картой и доставкой на китайский адрес. Онлайн магазины покупают телефоны точно по такой же схеме, так что цена для конечного пользователя сразу резко увеличивается. При покупке M1S из проверенных китайских магазинов (http://www.365gate.comhttp://www.hotmid.comhttp://www.android-sale.com) в Россию проблем с доставкой не наблюдается. 

При покупке в Германию наблюдается следующие проблемы:

- EMS партнер в Германии (GDSK) требует за растаможку дополнительные 26 EUR.
- Отправленный из homid.com телефон был вскрыт на таможне и отправлен обратно, т.к. на корпусе телефона отсутсвует знак Евротест.

Гарантия

M1S имеет годовую гарантию в Китае, т.е. надо отсылать продавцу, ждать пока он перешлет на xiaomi, получит обратно и отошлет покупателю. 2-3 месяца ожидания + 40-60 USD за пересылку туда и обратно, из Европы это просто не иммет смысла, ввиду с проблемами растаможки и исходной цены аппарата.

SGS2 в отличие от M1S имеет европейскую 2 летнюю гарантию.


Корпус

Корпус M1S очень приятно лежит в руке, в виду меньшего размера экрана 4'' vs 4.3'' и большего веса 149 гр. vs 116 гр. Задняя крышка M1S выполнена из прорезиненного пластика, который не скользит на гладкой поверхности.

Экран

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

Камера

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

Тесты производительности
Оба телефона показывают хорошую производительность, M1S более шустрый, т.к имеет более мощный процессор.

                                  M1S                   SGS2
AnTuTu                       7200                     6600
AnTuTu 3D Rating         2549                   4047
Linpack:                  78/135                       47/79
v8 benchmark:              1320                    1459
Sunspider:                   1923                    1543
CF Bench:                    6890                    6605
Quadrant Std.:              4222                   4192
BrowserMark:              97012                125277

Примечание: красным цветом выделены лучшие результаты.
В тесте sunspider меньшее число (время) - лучше.

Поддержка разработчиками

Samsung Galaxy S2 был выбран разработчиками XDA, как лучший телефон 2011 года, что отразилось на огромнейшем количестве кастомных прошивок, ядер и  утилит. M1S поставляется в оригинале на китайском и английском языке (причем, на английский переведены не все надписи!). Существуют несколько вариантов локализаций на русский, я, после многочисленных опытов, могу порекомендовать российскую локализацию от ROMZ.bz, как наиболее полную и стабильную. Хоть в M1S и реализован механизм dual boot, пользоваться им, по сравнению с clockworkmod recovery крайне не удобно (можно иметь бэкап только предидущей прошивки). Аналог clockworkmod recovery для телефонов xiaomi - Lennox MiOne Recovery у меня не "взлетел" (не смог восстановить сохраненные прошивки).

Выводы
Перечислю плюсы и минусы каждого аппарата:

M1S:

+ высокая производительность
+ емкий аккумулятор
+ хорошо лежит в руке
+ отлично ловит WLAN
- неконкурентая цена в Европе
- средний TFT экран, блеклый, с плохими углами обзора
- среднего качества камера
- проблемы с гарантией из России, экономически невыгодная гарантия для Европы
- проблемы с локализацией (немецкий язык до сих пор отсутсвует, отсутсвие встроенной локализации), отсутствие clockworkmod recovery.

Galaxy S2:

+ повсеместная доступность
+ гарантия 2 года
+ Super AMOLED - качественный экран с отличными углами обзора, контрастом, и сочными цветами
+ Отличная поддержка разработчиками (большое количество прошивок, ядер, утилит)
+ Отличная камера
- среднее время автономной работы, даже с аккумулятором 2000 мАч

PS. Дополнительно.


После месяца очень нежного использования (активное использование - неделя, остальное время, тестирование прошивок):

1. Задняя крышка по центру начала болтаться, как будто растянулась - такое впечатление, что появился пузырь. При нажатии - поскрипывания.
2. На стекле - пара видимых царапин - носил аккуратно!
3. И самое противное - начал дребезжать разговорный динамик в режиме сети 3G! 

Ссылки
4PDA.ru обсуждение телефона, покупки, прошивки

Thursday, July 12, 2012

Project Euler Problem 21.


The task:

http://projecteuler.net/problem=21

Let d(n) be defined as the sum of proper divisors of n (numbers less than n which divide evenly into n).
If d(a) = b and d(b) = a, where a !=  b, then a and b are an amicable pair and each of a and b are called amicable numbers.

For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110; therefore d(220) = 284.
The proper divisors of 284 are 1, 2, 4, 71 and 142; so d(284) = 220.
Evaluate the sum of all the amicable numbers under 10000.

So it's pretty easy task but with a hint - fast divisors calculation.


import time

def amicable_pairs_fast(n):

    div_sum = [1]*n
    for i in range(2, int(n/2) + 1):
        for j in range(i, n, i):
            if j != i:
                div_sum[j] += i
    total = 0
    for i in range(1, n):
        s = div_sum[i]
        if s < n:
           s1 = div_sum[s]
           if  s1 == i and s != i:
              total += s1
    return total

t1 = time.time()
print("%d " % amicable_pairs_fast(10000) + " Time (s): %f " % (time.time()-t1))


Here is the timing for different languages for the 10 000 000 testcase:

amicible pairs less than 10 000 000
-----------------------------------
g++       :  4.32 sec.
Java 1.7  :  4.36 sec.
C# 4      :  4.45 sec.
pypy 1.9  :  5.29 sec. (!!!)
python 2.7: 36.09 sec.