Seva's notes

Wisdom, Awareness, Responsibility :)

Archive for the ‘past’ Category

Xiomi POCO F1 Locked with Numeric Keyboard (solved)

leave a comment »

I’ve got my Xiaomi Pocophone F1 Global version in September 2018. The main pros were the price, the feature set, the responsiveness of the development team, the speed of releasing the software updates, and especially the sweet security compliance with my employer’s policies.

Speaking of which, one of the security requirements was that the device must be locked with a complex password. Pattern or PIN was not enough. Nevertheless, I needed to type the password only after reboots, which were very rare, thanks to phone and OS stability.

Yesterday I was excited to find that a new version of MIUI 10.1.3.0 based on Android Pie (9.0) has been launched globally and landed on my phone. I upgraded the phone with no hesitations, as always…

The unpleasant surprise hit me when the installation was complete. My employer’s security team has not yet certified Android Pie, so the phone kept rebooting after logging in. My obvious reaction was to wipe out the data and remove the employer’s software until it’s certified. Ouch, that was a mistake.

After wiping out the data, the device was left locked to the existing Google account. And the Google account was locked with the phone protection password. Wiping the data did not annihilate that relation. So when proceeded with the fresh MIUI setup of the phone, it asked to confirm the phone protection password. I had the password memorized password perfectly, but there was a roadblock: the text field to type the password was numeric. Meaning, it allowed only to tap numbers. And here my saga began.

My 1st approach was to find an open a text field, type my password there and then paste it to the protection password field. I found my way via the WiFi setup wizard, where I hit “show password” button and could type and copy the unlock password. However that didn’t help, since the numeric field was not only disallowing typing non-numeric characters but also filtering them out on pasting.

The 2nd approach was to follow the conventional phone unlock process with MiFlash Unlock utility. However, that required linking the device to http://i.mi.com account retroactively in Developer Options, which I could not complete since device Settings were not accessible. For the same reason, full firmware reinstall would not work – it required changing “OEM Unlocking” flag in Developer Options.

The 3rd approach was the less straightforward “FRP bypass” method. In few words, the method is to exploit a variety of sideways in the setup process to access external sites and install specific APKs that help triggering system APIs to run system calls directly. I managed to reach Youtube, Google and even download a few different apps with that method, but none of them really helped.

Finally, after a few more random frictions, I found my way through. In very brief, I reached out from WiFi setup to Phone Calling app to Contacts to GMail to Exchange account setup to Certificate storage, that allowed me to change the device password-locking properties without entering the password. Posted my step-by-step guide here: https://en.miui.com/forum.php?mod=redirect&goto=findpost&ptid=4719331&pid=33303093

After resetting the password protection to Pattern, I went back and successfully finalized the MIUI setup process.

Written by Seva

2018-12-16 (December 16) at 12:14:30

Posted in hardware, mobile, past, software

Serenity Night

with one comment

Roofs of the houses shake under the load of the days,
Empyrean shepherd depastures the clouds.
City spreads fire in the night with buckshot of flames,
But night is intense, its power is hard.

To those, who are going to sleep,
The wish of sweet dreams.
Tranquility night.
To those, who are going to sleep,
The wish of quiet peace.
Serenity night.

I waited for it, and here, this season has come,
Those who stayed silent, abandoned to stay.
Those who have nothing to wait, are saddling the ride,
No overtake, no more overtake.

To those, who are going to sleep,
The wish of sweet dreams.
Tranquility night.
To those, who are going to sleep,
The wish of quiet peace.
Serenity night.

The neighbors are coming, imagined the clop of the hoofs,
It can’t let them sleep, harassing their dreams.
Those who have nothing to wait are hitting the route.
Those who are saved, those are redeemed.

To those, who are going to sleep,
The wish of sweet dreams.
Tranquility night.
To those, who are going to sleep,
The wish of quiet peace.
Serenity night.

Written by Seva

2014-02-26 (February 26) at 03:28:51

Posted in leisure, past, thought

Le

leave a comment »

Few months ago I suddenly noticed that many popular brands have -le suffix in their names. Beatles, Deep Purple, Oracle, Apple, Google… Any more examples?

Written by Seva

2013-06-14 (June 14) at 10:30:43

Posted in future, leisure, past, thought

Making Collective Decisions

with one comment

While preparing to shrink up and replace my single role of Lead Software Architect with a Software Architecture team –

Decision Making

Making architectural decisions might seem easy and fun, but can have multiple consequences which can affect state and integrity of the software, the architecture team, the R&D teams and the whole company. We aim to make the decisions in the most responsible manner with taking all the relevant factors in consideration. Sometimes we do consult wide community of developers and PMs in early stages, sometimes we do that on later stages, but what’s very important, we never attempt to dictate our decision without majority consensus.

The common flow of taking a decision is the following (CRAFT):
  1. Collect information about the subject from provided private and public sources. If necessary, use in-company resources reuse their existing experience.
  2. Research the gathered information and prepare a draft of architectural opinion with a list of alternative solutions and their advantages and disadvantages.
  3. Acknowledge the opinion of all the interested parties. Accept and react on all the provided input.
  4. Finalize the decision and make it effective. Make sure it’s acknowledged, accepted and adopted by all the relevant parties.
  5. Track the execution of the decision. Learn from the experience, reopen the flow if necessary.

Written by Seva

2011-12-13 (December 13) at 10:49:28

Heart-Touching Quotation

leave a comment »

…When I was going to school we were always taught, “In the olden days of computing, computers were expensive and programmers were cheap. Now it’s the reverse. Therefore…” We are back to the future. At internet scale, programmers are (sometimes) cheap compared to the cost of electricity.

Kent Beck

Written by Seva

2010-04-15 (April 15) at 12:06:29

Eclipse Committer Emeritus

leave a comment »

Time passes and doesn’t wait, and some of the plans don’t be realized, you know. So due to last year inactivity my PDT committer rights were expired and I was appointed with the Eclipse Committer Emeritus status. How sad.

I will still try to not loose connections and relations with my good old friends and will do my best for the project’s success (even if it will be just mental support).

Written by Seva

2009-08-12 (August 12) at 12:24:55

Posted in development, eclipse, past, pdt

Tagged with

PHP Frameworks popularity estimation

with 2 comments

About 2.5 years passed since I posted the development activity comparison of major PHP frameworks. Since then I’ve got about 4.5k hits from search engines, which IMHO is not such a bad sample to summarize people’s interest in each of them.

Again, no conclusions – just pure numbers 🙂

http://tr.im/lnXq:

Query Hits Zend CakePHP Symfony CodeIgniter Prado Seagull eZ
zend framework vs cakephp 573 573 573 0 0 0 0 0
zend vs cakephp 319 319 319 0 0 0 0 0
cakephp symfony 258 0 258 258 0 0 0 0
zend vs symfony 254 254 0 254 0 0 0 0
cakephp vs zend framework 217 217 217 0 0 0 0 0
symfony vs zend 210 210 0 210 0 0 0 0
zend framework vs symfony 187 187 0 187 0 0 0 0
symfony vs cakephp 185 0 185 185 0 0 0 0
zend framework vs 176 176 0 0 0 0 0 0
codeigniter vs zend framework 143 143 0 0 143 0 0 0
prado framework 139 0 0 0 0 139 0 0
cakephp vs zend 139 139 139 0 0 0 0 0
symfony vs zend framework 138 138 0 138 0 0 0 0
zend framework cakephp 131 131 131 0 0 0 0 0
prado vs zend 103 103 0 0 0 103 0 0
zend framework vs codeigniter 84 84 0 0 84 0 0 0
cakephp vs symfony 82 0 82 82 0 0 0 0
prado vs cakephp 81 0 81 0 0 81 0 0
prado vs symfony 80 0 0 80 0 80 0 0
zend vs codeigniter 76 76 0 0 76 0 0 0
zend or cakephp 69 69 69 0 0 0 0 0
codeigniter vs cakephp 68 0 68 0 68 0 0 0
codeigniter vs zend 62 62 0 0 62 0 0 0
zend vs code igniter 60 60 0 0 60 0 0 0
cakephp zend framework 59 59 59 0 0 0 0 0
codeigniter vs symfony 55 0 0 55 55 0 0 0
cakephp symfony zend 52 52 52 52 0 0 0 0
cakephp vs prado 50 0 50 0 0 50 0 0
symfony zend framework 48 48 0 48 0 0 0 0
cakephp vs codeigniter 48 0 48 0 48 0 0 0
zend framework vs code igniter 46 46 0 0 46 0 0 0
zend framework vs. cakephp 46 46 46 0 0 0 0 0
symfony vs codeigniter 45 0 0 45 45 0 0 0
symfony vs prado 39 0 0 39 0 39 0 0
zend vs prado 37 37 0 0 0 37 0 0
zend cakephp 37 37 37 0 0 0 0 0
zend framework symfony 36 36 0 36 0 0 0 0
zend framework or cakephp 35 35 35 0 0 0 0 0
prado symfony 35 0 0 35 0 35 0 0
seagull vs cakephp 34 0 34 0 0 0 34 0
zend framework versus cakephp 32 32 32 0 0 0 0 0
Total 4568 3369 2515 1704 687 564 34 0
Interest Ratio
73.75% 55.06% 37.30% 15.04% 12.35% 0.74% 0.00%

Written by Seva

2009-05-15 (May 15) at 01:33:24